<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    J2EE劍俠行

    直覺(jué)我的J2EE應(yīng)用生涯,打造我心中的一把利劍。

    常用鏈接

    統(tǒng)計(jì)

    技術(shù)鏈接

    最新評(píng)論

    史上最簡(jiǎn)單的struts+spring+hibernate配置實(shí)例[修訂版]

    本文不關(guān)心必須的JAR包,這個(gè)東東在網(wǎng)上能夠找到很多,本文只關(guān)心如何配置,才能夠讓STRUTS SPRING HIBERNATE和MYSQL相關(guān)連。
    開(kāi)發(fā)環(huán)境:wsad5.1
    Spring-Version: 1.1.4
    Struts Framework 1.1
    Hibernate-Version: 2.1.7

    <web.xml>
    ---------------------------------
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app id="WebApp">
    <display-name>MVC_BPEL_MODELWeb</display-name>
    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/Hibernate_Context.xml</param-value>
    </context-param>
    <servlet>
    <servlet-name>SpringContextServlet</servlet-name>
    <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
    <param-name>config</param-name>
    <param-value>WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
    <param-name>debug</param-name>
    <param-value>2</param-value>
    </init-param>
    <init-param>
    <param-name>detail</param-name>
    <param-value>2</param-value>
    </init-param>
    <init-param>
    <param-name>validate</param-name>
    <param-value>true</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
    <taglib>
    <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/WEB-INF/struts-template.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-template.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
    </taglib>

    </web-app>
    -----------------------------------
    <action-servlet.xml>
    ----------------------------------------------------------------------
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd">

    <beans>
    <bean name="/User" class="com.yaya.action.UserAction" singleton="false">
    <property name="userManager">
    <ref bean="userManager" />
    </property>
    </bean>


    </beans>
    -------------------------------------------------------------------
    <hibernate_context.xml>
    --------------------------------------------------------------------
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

    <beans>
    <!-- <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="viewClass"><value>org.springframework.web.servlet.view.JstlView</value></property>
    <property name="prefix"><value>/WEB-INF/jsp/</value></property>
    <property name="suffix"><value>.jsp</value></property>
    </bean> -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">

    <property name="driverClassName">
    <value>com.mysql.jdbc.Driver</value>
    </property>

    <property name="url">
    <value>jdbc:mysql://localhost/pdm</value>
    </property>

    <property name="username">
    <value>root</value>
    </property>

    <property name="password">
    <value></value>
    </property>
    </bean>

    <bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">

    <property name="dataSource">
    <ref local="dataSource" />
    </property>

    <property name="mappingResources">
    <list>
    <value>hbm_tb/TSysuser.hbm.xml</value>
    </list>
    </property>

    <property name="hibernateProperties">
    <props>
    <prop key="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialect</prop>
    <prop key="hibernate.show_sql">true</prop>
    </props>
    </property>
    </bean>

    <bean id="transactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager">

    <property name="sessionFactory">
    <ref local="sessionFactory" />
    </property>
    </bean>


    <!-- Spring的數(shù)據(jù)訪問(wèn)異常轉(zhuǎn)換器(Data Access Exception Translator)定義 -->
    <bean id="jdbcExceptionTranslator" class="org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator">
    <property name="dataSource">
    <ref bean="dataSource" />
    </property>
    </bean>

    <bean id="userDao" class="com.yaya.service.dao.hibernate.UserHibernateDao">
    <property name="sessionFactory">
    <ref local="sessionFactory" />
    </property>
    </bean>

    <bean id="userManagerTarget" class="com.yaya.service.spring.UserManagerImpl">
    <property name="userDao">
    <ref local="userDao" />
    </property>
    </bean>


    <bean id="userManager" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
    <property name="transactionManager">
    <ref bean="transactionManager" />
    </property>

    <property name="target">
    <ref local="userManagerTarget" />
    </property>

    <property name="proxyTargetClass">
    <value>true</value>
    </property>
    <property name="transactionAttributes">
    <props>
    <prop key="save*">PROPAGATION_REQUIRED</prop>
    <prop key="find*">PROPAGATION_REQUIRED</prop>
    <prop key="remove*">PROPAGATION_REQUIRED,readOnly</prop>
    <prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
    </props>
    </property>
    </bean>


    </beans>-------------------------------------------------------------------
    <struts-config.xml>
    -------------------------------------------------------------------
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
    "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">

    <struts-config>

    <!-- 數(shù)據(jù)源 -->
    <data-sources></data-sources>

    <!-- 表單 Bean -->
    <form-beans>
    <form-bean name="UserActionForm" type="org.apache.struts.validator.DynaValidatorForm">
    <form-property name="user" type="com.yaya.hb.TSysuser" />
    </form-bean>
    </form-beans>

    <!-- 全局異常 -->
    <global-exceptions></global-exceptions>

    <!-- 全局轉(zhuǎn)發(fā) -->
    <global-forwards></global-forwards>

    <!-- 操作映射 -->
    <action-mappings>
    <action path="/User" type="org.springframework.web.struts.DelegatingActionProxy"
    name="UserActionForm" scope="request" parameter="method" validate="false">
    <forward name="list" path="/userlist.jsp" />
    <forward name="edit" path="/userform.jsp" />
    </action>

    </action-mappings>

    <!-- 消息資源 -->
    <message-resources parameter="mvc_bpel_modelweb.resources.ApplicationResources" />
    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
    <set-property property="contextConfigLocation" value="/WEB-INF/action-servlet.xml" />
    </plug-in>
    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    <set-property property="pathnames" value="/WEB-INF/validator-rules.xml, /WEB-INF/validation.xml"/>
    </plug-in>

    </struts-config>
    ------------------------------------------------------------------
    UserHibernateDao.java
    ------------------------------------------------------------------
    /*
    * 創(chuàng)建日期 2005-4-7
    *
    * 更改所生成文件模板為
    * 窗口 > 首選項(xiàng) > Java > 代碼生成 > 代碼和注釋
    */
    package com.yaya.service.dao.hibernate;

    import java.util.List;

    import org.springframework.orm.ObjectRetrievalFailureException;
    import org.springframework.orm.hibernate.support.HibernateDaoSupport;
    import net.sf.hibernate.HibernateException;

    import com.yaya.hb.TSysuser;
    import com.yaya.service.dao.IUserDao;
    import java.util.List;

    import org.apache.commons.logging.Log;

    import org.apache.commons.logging.LogFactory;

    /**
    * @author Administrator
    *
    * 更改所生成類(lèi)型注釋的模板為
    * 窗口 > 首選項(xiàng) > Java > 代碼生成 > 代碼和注釋
    */
    public class UserHibernateDao extends HibernateDaoSupport implements IUserDao {

    private Log log = LogFactory.getLog(UserHibernateDao.class);

    /* (非 Javadoc)

    * @see com.jandar.dao.IUserDAO#getUsers()

    */

    public List getUsers() {

    return getHibernateTemplate().find("from TSysuser");

    }

    /* (非 Javadoc)

    * @see com.jandar.dao.IUserDAO#getUser(java.lang.Long)

    */

    public TSysuser getUser(String username) {

    // TODO 自動(dòng)生成方法存根
    if (this.getHibernateTemplate() == null)
    {
    System.out.println("error at there");
    return null;

    }
    TSysuser user = (TSysuser) getHibernateTemplate().get(TSysuser.class,username);
    //TSysuser user = (TSysuser) getHibernateTemplate().find("from TSysuser users where users.username = 'admin'",username);
    if (user == null) {
    throw new ObjectRetrievalFailureException(TSysuser.class, username);
    }
    return user;


    //String msg = getHibernateTemplate().get(TSysuser.class,username).toString();

    //TSysuser user = (TSysuser) getHibernateTemplate().find("from TSysuser where username = ?",username);
    //System.out.println(user.getUserdesc());
    //System.out.println(user.getHeadship());

    //return user;
    }

    /* (非 Javadoc)

    * @see com.jandar.dao.IUserDAO#saveUser(com.jandar.model.User)

    */

    public void saveUser(TSysuser user) {

    log.debug("xxxxxxx");

    System.out.println("yyyy");

    getHibernateTemplate().saveOrUpdate(user);

    if (log.isDebugEnabled()) {

    log.debug("username set to " + user.getUsername());

    }

    }

    /* (非 Javadoc)

    * @see com.jandar.dao.IUserDAO#removeUser(java.lang.Long)

    */

    public void removeUser(String username) {

    Object user = getHibernateTemplate().load(TSysuser.class, username);

    getHibernateTemplate().delete(user);

    if (log.isDebugEnabled()) {

    log.debug("del user " + username);

    }

    }

    }
    -------------------------------------------------------------------
    useraction.java
    --------------------------------------------------------------------
    /*
    * 創(chuàng)建日期 2005-4-11
    *
    * 更改所生成文件模板為
    * 窗口 > 首選項(xiàng) > Java > 代碼生成 > 代碼和注釋
    */
    package com.yaya.action;

    import java.util.Date;

    import org.apache.struts.actions.DispatchAction;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    import org.apache.commons.beanutils.ConvertUtils;
    import org.apache.commons.beanutils.locale.converters.DateLocaleConverter;
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionMessage;
    import org.apache.struts.action.ActionMessages;
    import org.apache.struts.action.DynaActionForm;
    import org.apache.struts.util.MessageResources;

    import com.opensymphony.user.User;
    import com.yaya.axis.SpringBeanProvider;
    import com.yaya.hb.TSysuser;
    import com.yaya.service.spring.UserManagerImpl;
    /**
    * @author Administrator
    *
    * 更改所生成類(lèi)型注釋的模板為
    * 窗口 > 首選項(xiàng) > Java > 代碼生成 > 代碼和注釋
    */
    public class UserAction extends DispatchAction {

    private static Log log = LogFactory.getLog(UserAction.class);
    private UserManagerImpl mgr = null;
    public void setUserManager(UserManagerImpl userManager) {
    this.mgr = userManager;
    }

    public ActionForward delete(
    ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response)
    throws Exception {
    if (log.isDebugEnabled()) {
    log.debug("entering 'delete' method...");
    }
    mgr.removeUser(request.getParameter("user.username"));
    ActionMessages messages = new ActionMessages();
    messages.add(
    ActionMessages.GLOBAL_MESSAGE,
    new ActionMessage("user.deleted"));
    saveMessages(request, messages);
    return list(mapping, form, request, response);
    }

    public ActionForward edit(
    ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response)
    throws Exception {
    if (log.isDebugEnabled()) {
    log.debug("entering 'edit' method...");
    }

    DynaActionForm UserActionForm = (DynaActionForm) form;
    String username = request.getParameter("username");

    // null userId indicates an add
    if (username != null) {
    try
    {
    TSysuser user = mgr.getUser(username);
    if (user == null) {
    ActionMessages errors = new ActionMessages();
    errors.add(
    ActionMessages.GLOBAL_MESSAGE,
    new ActionMessage("user.missing"));
    saveErrors(request, (ActionErrors) errors);
    return mapping.findForward("list");
    }
    UserActionForm.set("user",user);
    //request.setAttribute("user",user);
    }
    catch(Exception e)
    {
    e.printStackTrace();
    }

    }
    return mapping.findForward("edit");
    }

    public ActionForward list(
    ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response)
    throws Exception {
    if (log.isDebugEnabled()) {
    log.debug("entering 'list' method...");
    }
    request.setAttribute("users", mgr.getUsers());
    return mapping.findForward("list");
    }

    public ActionForward save(
    ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response)
    throws Exception {
    if (log.isDebugEnabled()) {
    log.debug("entering 'save' method...");
    }

    if (isCancelled(request)) {
    return list(mapping, form, request, response);
    }

    // run validation rules on this form
    ActionMessages errors = form.validate(mapping, request);

    if (!errors.isEmpty()) {
    saveErrors(request, (ActionErrors) errors);

    return mapping.findForward("edit");
    }
    DynaActionForm UserActionForm = (DynaActionForm) form;
    TSysuser user = (TSysuser) UserActionForm.get("user");

    mgr.saveUser(user);

    ActionMessages messages = new ActionMessages();
    messages.add(ActionMessages.GLOBAL_MESSAGE,
    new ActionMessage("user.saved", user.getUsername()));
    //saveMessages((HttpServletRequest) request.getSession(), messages);

    return mapping.findForward("list");
    }

    public ActionForward unspecified(
    ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response)
    throws Exception {
    return list(mapping, form, request, response);
    }

    }

    -------------------------------------------------------------------
    UserActionForm.java
    -------------------------------------------------------------------
    /*
    * 創(chuàng)建日期 2005-3-29
    *
    * 更改所生成文件模板為
    * 窗口 > 首選項(xiàng) > Java > 代碼生成 > 代碼和注釋
    */
    package com.yaya.actionform;

    import java.util.Date;

    import javax.servlet.http.HttpServletRequest;

    import org.apache.struts.action.ActionError;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionMapping;

    /**
    * @author Administrator
    *
    * 更改所生成類(lèi)型注釋的模板為
    * 窗口 > 首選項(xiàng) > Java > 代碼生成 > 代碼和注釋
    */
    public class UserActionForm extends ActionForm {
    /** identifier field */
    private String username;

    /** identifier field */
    private String userdesc;

    /** identifier field */
    private String passwords;

    /** identifier field */
    private String deptno;

    /** identifier field */
    private String headship;

    /** identifier field */
    private String sex;

    /** identifier field */
    private String tel;

    /** identifier field */
    private String email;

    /** identifier field */
    private String url;

    /** identifier field */
    private String pcall;

    /** identifier field */

    /** identifier field */
    private String userphoto;

    /** identifier field */
    private Integer facerefutime;

    /** identifier field */
    private String facelanguage;

    /** identifier field */
    private String lastmodif;

    /** identifier field */
    private Date lastmdate;

    /** identifier field */
    private String creadtor;

    /** identifier field */
    private Date creatdate;

    public String getUsername() {
    return this.username;
    }

    public void setUsername(String username) {
    this.username = username;
    }



    public String getPasswords() {
    return this.passwords;
    }

    public void setPasswords(String passwords) {
    this.passwords = passwords;
    }

    public String getDeptno() {
    return this.deptno;
    }

    public void setDeptno(String deptno) {
    this.deptno = deptno;
    }

    public String getHeadship() {
    return this.headship;
    }

    public void setHeadship(String headship) {
    this.headship = headship;
    }

    public String getSex() {
    return this.sex;
    }

    public void setSex(String sex) {
    this.sex = sex;
    }

    public String getTel() {
    return this.tel;
    }

    public void setTel(String tel) {
    this.tel = tel;
    }

    public String getEmail() {
    return this.email;
    }

    public void setEmail(String email) {
    this.email = email;
    }

    public String getUrl() {
    return this.url;
    }

    public void setUrl(String url) {
    this.url = url;
    }

    public String getPcall() {
    return this.pcall;
    }

    public void setPcall(String pcall) {
    this.pcall = pcall;
    }


    public String getUserphoto() {
    return this.userphoto;
    }

    public void setUserphoto(String userphoto) {
    this.userphoto = userphoto;
    }

    public Integer getFacerefutime() {
    return this.facerefutime;
    }

    public void setFacerefutime(Integer facerefutime) {
    this.facerefutime = facerefutime;
    }

    public String getFacelanguage() {
    return this.facelanguage;
    }

    public void setFacelanguage(String facelanguage) {
    this.facelanguage = facelanguage;
    }

    public String getLastmodif() {
    return this.lastmodif;
    }

    public void setLastmodif(String lastmodif) {
    this.lastmodif = lastmodif;
    }

    public Date getLastmdate() {
    return this.lastmdate;
    }

    public void setLastmdate(Date lastmdate) {
    this.lastmdate = lastmdate;
    }

    public String getCreadtor() {
    return this.creadtor;
    }

    public void setCreadtor(String creadtor) {
    this.creadtor = creadtor;
    }

    public Date getCreatdate() {
    return this.creatdate;
    }

    public void setCreatdate(Date creatdate) {
    this.creatdate = creatdate;
    }

    /**
    * @return
    */
    public String getUserdesc() {
    return userdesc;
    }

    /**
    * @param string
    */
    public void setUserdesc(String string) {
    userdesc = string;
    }


    }
    ------------------------------------------------------------------
    TSysuser.java
    ------------------------------------------------------------------
    package com.yaya.hb;

    import java.io.InputStream;
    import java.io.Serializable;
    import java.util.Date;
    import org.apache.commons.lang.builder.EqualsBuilder;
    import org.apache.commons.lang.builder.HashCodeBuilder;
    import org.apache.commons.lang.builder.ToStringBuilder;

    /** @author Hibernate CodeGenerator */
    public class TSysuser implements Serializable {

    /** identifier field */
    private String username;

    /** identifier field */
    private String userdesc;

    /** identifier field */
    private String passwords;

    /** identifier field */
    private String deptno;

    /** identifier field */
    private String headship;

    /** identifier field */
    private String sex;

    /** identifier field */
    private String tel;

    /** identifier field */
    private String email;

    /** identifier field */
    private String url;

    /** identifier field */
    private String pcall;

    /** identifier field */

    /** identifier field */
    private String userphoto;

    /** identifier field */
    private Integer facerefutime;

    /** identifier field */
    private String facelanguage;

    /** identifier field */
    private String lastmodif;

    /** identifier field */
    private Date lastmdate;

    /** identifier field */
    private String creadtor;

    /** identifier field */
    private Date creatdate;

    /** full constructor */
    public TSysuser(String username, String userdesc, String passwords, String deptno, String headship, String sex, String tel, String email, String url, String pcall, InputStream userimage, String userphoto, Integer facerefutime, String facelanguage, String lastmodif, Date lastmdate, String creadtor, Date creatdate) {
    this.username = username;
    this.userdesc = userdesc;
    this.passwords = passwords;
    this.deptno = deptno;
    this.headship = headship;
    this.sex = sex;
    this.tel = tel;
    this.email = email;
    this.url = url;
    this.pcall = pcall;
    this.userphoto = userphoto;
    this.facerefutime = facerefutime;
    this.facelanguage = facelanguage;
    this.lastmodif = lastmodif;
    this.lastmdate = lastmdate;
    this.creadtor = creadtor;
    this.creatdate = creatdate;
    }

    /** default constructor */
    public TSysuser() {
    }

    public String getUsername() {
    return this.username;
    }

    public void setUsername(String username) {
    this.username = username;
    }

    public String getUserdesc() {
    return this.userdesc;
    }

    public void setUserdesc(String userdesc) {
    this.userdesc = userdesc;
    }

    public String getPasswords() {
    return this.passwords;
    }

    public void setPasswords(String passwords) {
    this.passwords = passwords;
    }

    public String getDeptno() {
    return this.deptno;
    }

    public void setDeptno(String deptno) {
    this.deptno = deptno;
    }

    public String getHeadship() {
    return this.headship;
    }

    public void setHeadship(String headship) {
    this.headship = headship;
    }

    public String getSex() {
    return this.sex;
    }

    public void setSex(String sex) {
    this.sex = sex;
    }

    public String getTel() {
    return this.tel;
    }

    public void setTel(String tel) {
    this.tel = tel;
    }

    public String getEmail() {
    return this.email;
    }

    public void setEmail(String email) {
    this.email = email;
    }

    public String getUrl() {
    return this.url;
    }

    public void setUrl(String url) {
    this.url = url;
    }

    public String getPcall() {
    return this.pcall;
    }

    public void setPcall(String pcall) {
    this.pcall = pcall;
    }


    public String getUserphoto() {
    return this.userphoto;
    }

    public void setUserphoto(String userphoto) {
    this.userphoto = userphoto;
    }

    public Integer getFacerefutime() {
    return this.facerefutime;
    }

    public void setFacerefutime(Integer facerefutime) {
    this.facerefutime = facerefutime;
    }

    public String getFacelanguage() {
    return this.facelanguage;
    }

    public void setFacelanguage(String facelanguage) {
    this.facelanguage = facelanguage;
    }

    public String getLastmodif() {
    return this.lastmodif;
    }

    public void setLastmodif(String lastmodif) {
    this.lastmodif = lastmodif;
    }

    public Date getLastmdate() {
    return this.lastmdate;
    }

    public void setLastmdate(Date lastmdate) {
    this.lastmdate = lastmdate;
    }

    public String getCreadtor() {
    return this.creadtor;
    }

    public void setCreadtor(String creadtor) {
    this.creadtor = creadtor;
    }

    public Date getCreatdate() {
    return this.creatdate;
    }

    public void setCreatdate(Date creatdate) {
    this.creatdate = creatdate;
    }

    public String toString() {
    return new ToStringBuilder(this)
    .append("username", getUsername())
    .append("userdesc", getUserdesc())
    .append("passwords", getPasswords())
    .append("deptno", getDeptno())
    .append("headship", getHeadship())
    .append("sex", getSex())
    .append("tel", getTel())
    .append("email", getEmail())
    .append("url", getUrl())
    .append("pcall", getPcall())
    .append("userphoto", getUserphoto())
    .append("facerefutime", getFacerefutime())
    .append("facelanguage", getFacelanguage())
    .append("lastmodif", getLastmodif())
    .append("lastmdate", getLastmdate())
    .append("creadtor", getCreadtor())
    .append("creatdate", getCreatdate())
    .toString();
    }

    public boolean equals(Object other) {
    if ( !(other instanceof TSysuser) ) return false;
    TSysuser castOther = (TSysuser) other;
    return new EqualsBuilder()
    .append(this.getUsername(), castOther.getUsername())
    .append(this.getUserdesc(), castOther.getUserdesc())
    .append(this.getPasswords(), castOther.getPasswords())
    .append(this.getDeptno(), castOther.getDeptno())
    .append(this.getHeadship(), castOther.getHeadship())
    .append(this.getSex(), castOther.getSex())
    .append(this.getTel(), castOther.getTel())
    .append(this.getEmail(), castOther.getEmail())
    .append(this.getUrl(), castOther.getUrl())
    .append(this.getPcall(), castOther.getPcall())
    .append(this.getUserphoto(), castOther.getUserphoto())
    .append(this.getFacerefutime(), castOther.getFacerefutime())
    .append(this.getFacelanguage(), castOther.getFacelanguage())
    .append(this.getLastmodif(), castOther.getLastmodif())
    .append(this.getLastmdate(), castOther.getLastmdate())
    .append(this.getCreadtor(), castOther.getCreadtor())
    .append(this.getCreatdate(), castOther.getCreatdate())
    .isEquals();
    }

    public int hashCode() {
    return new HashCodeBuilder()
    .append(getUsername())
    .append(getUserdesc())
    .append(getPasswords())
    .append(getDeptno())
    .append(getHeadship())
    .append(getSex())
    .append(getTel())
    .append(getEmail())
    .append(getUrl())
    .append(getPcall())
    .append(getUserphoto())
    .append(getFacerefutime())
    .append(getFacelanguage())
    .append(getLastmodif())
    .append(getLastmdate())
    .append(getCreadtor())
    .append(getCreatdate())
    .toHashCode();
    }

    }
    ---------------------------------------------------------------------
    IUserManager.java
    ---------------------------------------------------------------------
    package com.yaya.service;

    import java.util.List;

    import com.yaya.hb.TSysuser;
    import com.yaya.service.dao.IUserDao;


    public interface IUserManager {
    public void setUserDAO(IUserDao userDao);
    public TSysuser getUser(String username);
    public List getUsers();
    public void saveUser(TSysuser user);
    public void removeUser(String username);
    }
    --------------------------------------------------------------------
    IDAO.java
    --------------------------------------------------------------------
    /*
    * 創(chuàng)建日期 2005-4-7
    *
    * 更改所生成文件模板為
    * 窗口 > 首選項(xiàng) > Java > 代碼生成 > 代碼和注釋
    */
    package com.yaya.service.dao;
    /**
    * @author Administrator
    *
    * 更改所生成類(lèi)型注釋的模板為
    * 窗口 > 首選項(xiàng) > Java > 代碼生成 > 代碼和注釋
    */
    public interface IDAO {

    }
    --------------------------------------------------------------
    IUserDao.java
    --------------------------------------------------------------
    /*
    * 創(chuàng)建日期 2005-4-11
    *
    * 更改所生成文件模板為
    * 窗口 > 首選項(xiàng) > Java > 代碼生成 > 代碼和注釋
    */
    package com.yaya.service.dao;

    import java.util.List;

    import com.yaya.hb.TSysuser;

    /**
    * @author Administrator
    *
    * 更改所生成類(lèi)型注釋的模板為
    * 窗口 > 首選項(xiàng) > Java > 代碼生成 > 代碼和注釋
    */
    public interface IUserDao extends IDAO {

    public List getUsers();
    public TSysuser getUser(String username);
    public void saveUser(TSysuser user);
    public void removeUser(String username);
    }
    ----------------------------------------------------------
    UserManagerImpl.java
    ----------------------------------------------------------
    package com.yaya.service.spring;

    import com.yaya.hb.TSysuser;
    import com.yaya.service.IUserManager;
    import com.yaya.service.dao.IUserDao;

    import java.util.List;
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;

    public class UserManagerImpl implements IUserManager {
    private static Log log = LogFactory.getLog(UserManagerImpl.class);

    public IUserDao dao;

    public void setUserDao(IUserDao userDao) {
    this.dao = userDao;
    this.setUserDAO(userDao);
    }

    public TSysuser getUser(String username) {
    return dao.getUser(username);
    }

    public List getUsers() {
    return dao.getUsers();
    }

    public void saveUser(TSysuser user) {
    dao.saveUser(user);
    }

    public void removeUser(String username) {
    // TODO 自動(dòng)生成方法存根
    dao.removeUser(username);
    }


    public void setUserDAO(IUserDao dao) {
    // TODO 自動(dòng)生成方法存根
    this.dao = dao;
    }
    }
    -----------------------------------------------------------------
    TSysuser.hbm.xml
    -----------------------------------------------------------------
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 2.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >

    <hibernate-mapping>
    <!--
    Created by the Middlegen Hibernate plugin

    http://boss.bekk.no/boss/middlegen/
    http://hibernate.sourceforge.net/
    -->

    <class name="com.yaya.hb.TSysuser" table="t_sysuser">

    <id name="username" type="java.lang.String" column="USERNAME">
    <generator class="identity" />
    </id>

    <property name="userdesc" type="java.lang.String" column="USERDESC" length="30" />
    <property name="passwords" type="java.lang.String" column="PASSWORDS" length="30" />
    <property name="deptno" type="java.lang.String" column="DEPTNO" length="30" />
    <property name="headship" type="java.lang.String" column="HEADSHIP" length="30" />
    <property name="sex" type="java.lang.String" column="SEX" length="4" />
    <property name="tel" type="java.lang.String" column="TEL" length="18" />
    <property name="email" type="java.lang.String" column="EMAIL" length="30" />
    <property name="url" type="java.lang.String" column="URL" length="30" />
    <property name="pcall" type="java.lang.String" column="PCALL" length="20" />
    <property name="userphoto" type="java.lang.String" column="USERPHOTO" length="255" />
    <property name="facerefutime" type="java.lang.Integer" column="FACEREFUTIME" length="6" />
    <property name="facelanguage" type="java.lang.String" column="FACELANGUAGE" length="1" />
    <property name="lastmodif" type="java.lang.String" column="LASTMODIF" length="30" />
    <property name="lastmdate" type="java.sql.Timestamp" column="LASTMDATE" length="19" />
    <property name="creadtor" type="java.lang.String" column="CREADTOR" length="30" />
    <property name="creatdate" type="java.sql.Timestamp" column="CREATDATE" length="19" />

    <!-- associations -->

    </class>
    </hibernate-mapping>
    -------------------------------------------------------------------
    創(chuàng)建數(shù)據(jù)庫(kù)腳本 用于MYSQL
    -------------------------------------------------------------------
    CREATE TABLE `t_sysuser` (
    `USERNAME` varchar(30) NOT NULL default '',
    `USERDESC` varchar(30) default NULL,
    `PASSWORDS` varchar(30) default NULL,
    `DEPTNO` varchar(30) default NULL,
    `HEADSHIP` varchar(30) default NULL,
    `SEX` varchar(4) default NULL,
    `TEL` varchar(1Cool default NULL,
    `EMAIL` varchar(30) default NULL,
    `URL` varchar(30) default NULL,
    `PCALL` varchar(20) default NULL,
    `USERPHOTO` varchar(255) default NULL,
    `FACEREFUTIME` decimal(6,0) default NULL,
    `FACELANGUAGE` char(1) default NULL,
    `LASTMODIF` varchar(30) default NULL,
    `LASTMDATE` datetime default NULL,
    `CREADTOR` varchar(30) default NULL,
    `CREATDATE` datetime default NULL,
    PRIMARY KEY (`USERNAME`)
    ) TYPE=MyISAM;
    -----------------------------------------------------------
    提示:COPY幾個(gè)資源文件
    validation.xml 和 validator-rules.xml
    前臺(tái)使用的幾個(gè)JSP文件如下:
    -----------------------------------------------------------
    index.jsp
    -----------------------------------------------------------
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 2.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >

    <hibernate-mapping>
    <!--
    Created by the Middlegen Hibernate plugin

    http://boss.bekk.no/boss/middlegen/
    http://hibernate.sourceforge.net/
    -->

    <class name="com.yaya.hb.TSysuser" table="t_sysuser">

    <id name="username" type="java.lang.String" column="USERNAME">
    <generator class="identity" />
    </id>

    <property name="userdesc" type="java.lang.String" column="USERDESC" length="30" />
    <property name="passwords" type="java.lang.String" column="PASSWORDS" length="30" />
    <property name="deptno" type="java.lang.String" column="DEPTNO" length="30" />
    <property name="headship" type="java.lang.String" column="HEADSHIP" length="30" />
    <property name="sex" type="java.lang.String" column="SEX" length="4" />
    <property name="tel" type="java.lang.String" column="TEL" length="18" />
    <property name="email" type="java.lang.String" column="EMAIL" length="30" />
    <property name="url" type="java.lang.String" column="URL" length="30" />
    <property name="pcall" type="java.lang.String" column="PCALL" length="20" />
    <property name="userphoto" type="java.lang.String" column="USERPHOTO" length="255" />
    <property name="facerefutime" type="java.lang.Integer" column="FACEREFUTIME" length="6" />
    <property name="facelanguage" type="java.lang.String" column="FACELANGUAGE" length="1" />
    <property name="lastmodif" type="java.lang.String" column="LASTMODIF" length="30" />
    <property name="lastmdate" type="java.sql.Timestamp" column="LASTMDATE" length="19" />
    <property name="creadtor" type="java.lang.String" column="CREADTOR" length="30" />
    <property name="creatdate" type="java.sql.Timestamp" column="CREATDATE" length="19" />

    <!-- associations -->

    </class>
    </hibernate-mapping>
    ------------------------------------------------------------------
    userlist.jsp
    ------------------------------------------------------------------
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <%@ page contentType="text/html; charset=UTF-8" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

    <html:html locale="true">
    <head>
    <title><bean:message key="pdmweb.title"/></title>
    </head>
    <body>
    <table class="list">
    <thead>
    <tr bgcolor="#8080ff">
    <td bgcolor="#8080ff"><bean:message key="listuser.username" /></td>
    <td bgcolor="#8080ff"><bean:message key="listuser.userdesc" /></td>
    <td bgcolor="#8080ff"><bean:message key="listuser.sex" /></td>
    </tr>
    </thead>
    <tbody>
    <logic:iterate id="user" name="users">
    <tr>
    <td bgcolor="#ff8040"><A href="User.do?method=edit&username=<bean:write name="user" property="username"/>" ><bean:write name="user" property="username" />
    </a>
    </td>
    <td bgcolor="#ff8040"><bean:write name="user" property="userdesc" /></td>
    <td bgcolor="#ff8040"><logic:equal name="user" property="sex" value="0">
    <bean:message key="listuser.sex0" />
    </logic:equal> <logic:equal name="user" property="sex" value="1">
    <bean:message key="listuser.sex1" />
    </logic:equal></td>
    </tr>
    </logic:iterate>
    </tbody>
    </table>
    </body>
    </html:html>
    -------------------------------------------------------------------
    userform.jsp
    ------------------------------------------------------------------
    <%@ page contentType="text/html; charset=UTF-8" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
    <%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html:html locale="true">
    <head>
    <html:base />
    <title>userform.jsp</title>
    </head>
    <body>

    <html:form action="User.do?method=save" method="post" focus="user.userdesc" >
    <html:text property="user.username" />
    <br>
    <html:text property="user.userdesc" /><br>
    <html:text property="user.deptno" /><br>


    <html:submit property="tijiao" />
    </html:form>
    </body>
    </html:html>
    --------------------------------------------------------------
    如果有什么疑問(wèn)可以致電郵至 heweiya@yahoo.com.cn,互相交流,互相學(xué)習(xí)。

    posted on 2005-12-19 11:27 @家軍 閱讀(437) 評(píng)論(1)  編輯  收藏 所屬分類(lèi): J2EE技術(shù)類(lèi)

    評(píng)論

    # re: 史上最簡(jiǎn)單的struts+spring+hibernate配置實(shí)例[修訂版] 2006-03-11 10:17 NetFetch

    看上去就是些abc,不過(guò)還是可以run  回復(fù)  更多評(píng)論   

    主站蜘蛛池模板: 亚洲成年轻人电影网站www | 亚洲国产精品碰碰| 女人18一级毛片免费观看| 国产精品久久永久免费| 在线a免费观看最新网站| 91成人在线免费观看| 精品国产sm捆绑最大网免费站| 4444www免费看| 免费AA片少妇人AA片直播| 一二三四在线播放免费观看中文版视频 | 97av免费视频| 4虎永免费最新永久免费地址| 91在线手机精品免费观看| 久久成人国产精品免费软件| 在线观看免费人成视频色| 女人18毛片水真多免费看| 日本免费福利视频| 亚洲av无码成人精品区在线播放 | 国产又黄又爽又刺激的免费网址| 国产成人一区二区三区免费视频| 免费人成在线观看视频播放| 国产成人高清亚洲| 久久精品国产亚洲夜色AV网站| 麻豆亚洲av熟女国产一区二| 亚洲最大的黄色网| 国产区图片区小说区亚洲区| 国产99久久久国产精免费| 无码免费一区二区三区免费播放| 人妻无码久久一区二区三区免费| 无码国产精品一区二区免费I6| 国产男女猛烈无遮档免费视频网站| 亚洲 国产 图片| 久久精品国产亚洲一区二区| 亚洲成电影在线观看青青| 亚洲精品国产suv一区88| 一级毛片一级毛片免费毛片| 一级毛片免费不卡在线| 毛片免费在线观看网站| 亚洲最大av无码网址| 亚洲黄色在线电影| 鲁死你资源站亚洲av|