1. 安装好maven后,输入mvn archetype:create -DgroupId=com.ryan -DartifactId=ASystem -DarchetypeArtifactId=maven-archetype-webapp

2. 修改pom.xml(见附件)

3. 运行 mvn eclipse:eclipse, 生成Eclipse项目。然后用Eclipse导入。

4. 下面是项目结构,缺的自己补。

   用maven 整个struts(2.3.8), spring(3.2.1.RELEASE), hibernate(3.6.10.Final)_maven

5. web配置

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">  
  3.   <display-name>AccountSystem</display-name>  
  4.     
  5.   <!-- 加载Spring的配置文件 -->  
  6.   <context-param>  
  7.     <param-name>contextConfigLocation</param-name>  
  8.     <param-value>classpath:applicationContext.xml</param-value>  
  9.   </context-param>  
  10.     
  11.   <!-- 加载spring的监听器 -->  
  12.   <listener>  
  13.    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
  14.   </listener>  
  15.     
  16.   <!-- struts2的配置 -->  
  17.   <filter>  
  18.     <filter-name>struts2</filter-name>  
  19.     <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  
  20.   </filter>  
  21.   <filter-mapping>  
  22.     <filter-name>struts2</filter-name>  
  23.     <url-pattern>/*</url-pattern>  
  24.   </filter-mapping>  
  25.     
  26.   <welcome-file-list>  
  27.     <welcome-file>index.jsp</welcome-file>  
  28.   </welcome-file-list>  
  29. </web-app> 

6. applicationContext.xml

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <beans xmlns="http://www.springframework.org/schema/beans" 
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  4.     xsi:schemaLocation="http://www.springframework.org/schema/beans     
  5.        http://www.springframework.org/schema/beans/spring-beans-3.2.xsd"> 
  6.  
  7.     <!-- 定义数据源 ,使用c3p0数据源实现 --> 
  8.     <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" 
  9.         destroy-method="close"> 
  10.         <property name="driverClass" value="com.mysql.jdbc.Driver"></property> 
  11.         <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/AccountSystem"></property> 
  12.         <property name="user" value="root"></property> 
  13.         <property name="password" value="123456"></property> 
  14.     </bean> 
  15.  
  16.     <!-- Hibernate sessionFactory创建 --> 
  17.     <bean id="sessionFactory" 
  18.         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
  19.         <property name="dataSource" ref="dataSource"></property> 
  20.         <!-- Hibernate属性 --> 
  21.         <property name="hibernateProperties"> 
  22.             <props> 
  23.                 <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> 
  24.                 <prop key="hibernate.format_sql">true</prop> 
  25.                 <prop key="hibernate.hbm2ddl.auto">create</prop> 
  26.             </props> 
  27.         </property> 
  28.         <!-- 映射文件 --> 
  29.         <property name="mappingResources"> 
  30.             <list> 
  31.                 <value>hbm/User.hbm.xml</value> 
  32.             </list> 
  33.         </property> 
  34.     </bean> 
  35.  
  36.     <bean id="userDao" class="com.ryan.dao.impl.UserDAOImpl" 
  37.         scope="singleton"> 
  38.         <property name="sessionFactory" ref="sessionFactory"></property> 
  39.     </bean> 
  40.  
  41.     <bean id="registerAction" class="com.ryan.actions.RegisterAction" 
  42.         scope="prototype"> 
  43.         <property name="ud" ref="userDao"></property> 
  44.     </bean> 
  45. </beans>  

7. struts.xml

  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE struts PUBLIC  
  3.         "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"  
  4.         "http://struts.apache.org/dtds/struts-2.3.dtd">  
  5. <struts>  
  6.     <constant name="devMode" value="true"></constant>  
  7.     <constant name="struts.objectFactory" value="spring"></constant>  
  8.       
  9.     <package name="default" namespace="/" extends="struts-default">  
  10.         <action name="register" class="registerAction">  
  11.             <result name="success">/success.jsp</result>  
  12.         </action>  
  13.     </package>  
  14. </struts>  

8. User.hbm.xml

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2.   
  3. <!DOCTYPE hibernate-mapping  PUBLIC  
  4.                              "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
  5.                              "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
  6. <hibernate-mapping> 
  7.     <class name="com.ryan.entity.User" table="user"> 
  8.         <id name="id" column="id"> 
  9.             <generator class="native"></generator> 
  10.         </id> 
  11.         <property name="name"></property> 
  12.         <property name="password"></property> 
  13.     </class> 
  14. </hibernate-mapping>  

9. RegisterAction.java

  1. package com.ryan.actions;  
  2.   
  3. import com.opensymphony.xwork2.ActionSupport;  
  4. import com.ryan.entity.User; 
  5. import com.ryan.interfaces.IUserDAO;  
  6.   
  7. public class RegisterAction extends ActionSupport {  
  8.     /** 
  9.      *  
  10.      */ 
  11.     private static final long serialVersionUID = -4351790236150377092L; 
  12.     private String name;  
  13.     private String password;  
  14.     private IUserDAO ud;  
  15.   
  16.     public String getName() {  
  17.         return name;  
  18.     }  
  19.   
  20.     public void setName(String name) {  
  21.         this.name = name;  
  22.     }  
  23.   
  24.     public String getPassword() {  
  25.         return password;  
  26.     }  
  27.   
  28.     public void setPassword(String password) {  
  29.         this.password = password;  
  30.     }  
  31.   
  32.     public IUserDAO getUd() {  
  33.         return ud;  
  34.     }  
  35.   
  36.     public void setUd(IUserDAO ud) {  
  37.         this.ud = ud;  
  38.     }  
  39.   
  40.     @Override  
  41.     public String execute() throws Exception {  
  42.         User user = new User();  
  43.         user.setName(name);  
  44.         user.setPassword(password);  
  45.         ud.addUser(user);  
  46.         return SUCCESS;  
  47.     }  
  48. }  

10. UserDAOImpl.java

  1. package com.ryan.dao.impl;  
  2.   
  3. import org.hibernate.SessionFactory;  
  4. import org.springframework.orm.hibernate3.HibernateTemplate;  
  5.   
  6. import com.ryan.entity.User; 
  7. import com.ryan.interfaces.IUserDAO;  
  8.   
  9. public class UserDAOImpl implements IUserDAO {  
  10.   
  11.     private HibernateTemplate ht = null;  
  12.     private SessionFactory sessionFactory;  
  13.   
  14.     public void setSessionFactory(SessionFactory sessionFactory) {  
  15.         this.sessionFactory = sessionFactory;  
  16.     }  
  17.   
  18.     public SessionFactory getSessionFactory() {  
  19.         return sessionFactory;  
  20.     }  
  21.   
  22.     public HibernateTemplate getHibernateTemplate() {  
  23.         if (ht == null) {  
  24.             ht = new HibernateTemplate(sessionFactory);  
  25.         }  
  26.         return ht;  
  27.     }  
  28.   
  29.     public Long addUser(User user) {  
  30.         return (Long) getHibernateTemplate().save(user);  
  31.     }  
  32. }  

11. User.java

  1. package com.ryan.entity;  
  2.   
  3. public class User {  
  4.     private Long id;  
  5.     private String name;  
  6.     private String password;  
  7.   
  8.     public User() {  
  9.         super();  
  10.     }  
  11.   
  12.     public User(Long id, String uname, String upass) {  
  13.         super();  
  14.         this.id = id;  
  15.         this.name = uname;  
  16.         this.password = upass;  
  17.     }  
  18.   
  19.     public Long getId() {  
  20.         return id;  
  21.     }  
  22.   
  23.     public void setId(Long id) {  
  24.         this.id = id;  
  25.     }  
  26.   
  27.     public String getName() {  
  28.         return name;  
  29.     }  
  30.   
  31.     public void setName(String name) {  
  32.         this.name = name;  
  33.     }  
  34.   
  35.     public String getPassword() {  
  36.         return password;  
  37.     }  
  38.   
  39.     public void setPassword(String password) {  
  40.         this.password = password;  
  41.     }  
  42.   
  43. }  

12. IUserDAO

  1. package com.ryan.interfaces;  
  2.   
  3. import com.ryan.entity.User; 
  4.   
  5. public interface IUserDAO {  
  6.     public Long addUser(User user);  
  7. }  

13. index.jsp

14. success.jsp