手工搭建注解方式的spring3+struts2.2+hibernate3.6+maven2

转自:手工搭建注解方式的spring3+struts2.2+hibernate3.6+maven2 http://doujiang327.iteye.com/blog/1238767


这段时间不是很忙,头给我说了个事儿:让我把公司的网站给整整,想起来公司好多技术都该换新版本了,这正好是个机会,于是就搭了一套最新的开发框架。

      IDE:myeclipse8.6

      JAR包管理:maven2

      spring版本:3.0.6.RELEASE

      (maven中央库目前不支持3.1.0)

      struts版本:2.2.3

      hibernate版本:3.6.8

 

 

      1.在myeclipse中新建一个maven工程:

         1.1 File-->New-->Other-->MyEclipse-->Maven-->Java Maven Project

         1.2 输入工程名、groupId、artifactId以及版本号

         1.3 在新建的工程中点右键-->Myeclipse-->Add Web Project Capabilities

               关于这种建工程的方式,有以下几点需要说明:

               1》我不知道在myeclipse如何直接建maven web工程,用maven自带的那个web工程插件建造不了,所以

                    就这么建了,知道怎么直接建的跟我说声,不过这样建有一个好处,就是可以部署到tomcat里面运行。

               2》不想用maven的我在下面贴出来jar包列表,你们可以自己下载。

       

         

       2.pom文件

         

Pom代码   收藏代码
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  2.   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  3.   <modelVersion>4.0.0</modelVersion>  
  4.   
  5.   <groupId>baseFrameForMaven</groupId>  
  6.   <artifactId>baseFrameForMaven</artifactId>  
  7.   <version>1.0.0-SNAPSHOT</version>  
  8.   <packaging>war</packaging>  
  9.   
  10.   <name>baseFrameForMaven</name>  
  11.   <url>http://maven.apache.org</url>  
  12.   
  13.   <properties>  
  14.     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
  15.   </properties>  
  16.   
  17.   <dependencies>  
  18.     <!-- J2EE容器所需包 -->  
  19.     <dependency>  
  20.       <groupId>junit</groupId>  
  21.       <artifactId>junit</artifactId>  
  22.       <version>3.8.1</version>  
  23.       <scope>test</scope>  
  24.     </dependency>  
  25.     <dependency>  
  26.         <groupId>org.apache.openejb</groupId>  
  27.         <artifactId>javaee-api</artifactId>  
  28.         <version>5.0-1</version>  
  29.         <scope>provided</scope>  
  30.     </dependency>  
  31.     <dependency>  
  32.         <groupId>javax.faces</groupId>  
  33.         <artifactId>jsf-api</artifactId>  
  34.         <version>1.2_04</version>  
  35.         <scope>provided</scope>  
  36.     </dependency>  
  37.     <dependency>  
  38.         <groupId>javax.servlet</groupId>  
  39.         <artifactId>jstl</artifactId>  
  40.         <version>1.2</version>  
  41.         <scope>provided</scope>  
  42.     </dependency>  
  43.     <dependency>  
  44.         <groupId>javax.servlet.jsp</groupId>  
  45.         <artifactId>jsp-api</artifactId>  
  46.         <version>2.1</version>  
  47.         <scope>provided</scope>  
  48.     </dependency>  
  49.     <dependency>  
  50.         <groupId>javax.faces</groupId>  
  51.         <artifactId>jsf-impl</artifactId>  
  52.         <version>1.2_04</version>  
  53.         <scope>provided</scope>  
  54.     </dependency>  
  55.     <dependency>  
  56.         <groupId>org.aspectj</groupId>  
  57.         <artifactId>aspectjweaver</artifactId>  
  58.         <version>1.6.12</version>  
  59.     </dependency>  
  60.     <!-- mysql数据库驱动 -->  
  61.     <dependency>  
  62.         <groupId>mysql</groupId>  
  63.         <artifactId>mysql-connector-java</artifactId>  
  64.         <version>5.1.18</version>  
  65.     </dependency>  
  66.     <!-- c3p0数据库连接池 -->  
  67.     <dependency>  
  68.         <groupId>c3p0</groupId>  
  69.         <artifactId>c3p0</artifactId>  
  70.         <version>0.9.1.2</version>  
  71.     </dependency>  
  72.     <!-- 这个包是我自己的,主要提供的一些通用hibernate方法,如果没有可以去掉 -->  
  73.     <dependency>  
  74.         <groupId>cn.apple.erp</groupId>  
  75.         <artifactId>erp_base</artifactId>  
  76.         <version>1.0.0</version>  
  77.         <exclusions>  
  78.             <exclusion>  
  79.                 <groupId>org.hibernate</groupId>  
  80.                 <artifactId>hibernate</artifactId>  
  81.             </exclusion>  
  82.             <exclusion>  
  83.                 <groupId>proxool</groupId>  
  84.                 <artifactId>proxool</artifactId>  
  85.             </exclusion>  
  86.         </exclusions>  
  87.     </dependency>  
  88.     <!-- ======================================================================= -->  
  89.       
  90.     <!-- spring必须包 -->  
  91.     <!-- spring核心包 -->  
  92.     <dependency>  
  93.         <groupId>org.springframework</groupId>  
  94.         <artifactId>spring-core</artifactId>  
  95.         <version>3.0.6.RELEASE</version>  
  96.         <!-- spring-asm-3.0.6.RELEASE.jar -->  
  97.         <!-- commons-logging-1.1.1.jar -->  
  98.     </dependency>  
  99.     <!-- 利用IOC管理Bean的包 -->  
  100.     <dependency>  
  101.         <groupId>org.springframework</groupId>  
  102.         <artifactId>spring-beans</artifactId>  
  103.         <version>3.0.6.RELEASE</version>  
  104.     </dependency>  
  105.     <!-- 对bean再次封装后的包,方便性强。 -->  
  106.     <dependency>  
  107.         <groupId>org.springframework</groupId>  
  108.         <artifactId>spring-context</artifactId>  
  109.         <version>3.0.6.RELEASE</version>  
  110.         <!-- spring-expression-3.0.6.RELEASE.jar -->  
  111.         <!-- spring-aop-3.0.6.RELEASE.jar -->  
  112.         <!-- aopalliance-1.0.jar -->  
  113.     </dependency>  
  114.       
  115.     <!-- spring扩展包 -->  
  116.     <!-- SpringWeb下的工具包 -->  
  117.     <dependency>  
  118.         <groupId>org.springframework</groupId>  
  119.         <artifactId>spring-web</artifactId>  
  120.         <version>3.0.6.RELEASE</version>  
  121.     </dependency>  
  122.     <!-- 对struts支持包 -->  
  123.     <dependency>  
  124.         <groupId>org.springframework</groupId>  
  125.         <artifactId>spring-struts</artifactId>  
  126.         <version>3.0.6.RELEASE</version>  
  127.         <!-- spring-struts-3.0.6.RELEASE.jar -->  
  128.         <!-- commons-validator-1.1.4.jar -->  
  129.         <!-- commons-beanutils-1.7.0.jar -->  
  130.         <!-- commons-digester-1.6.jar -->  
  131.         <!-- oro-2.0.7.jar -->  
  132.         <!-- spring-context-support-3.0.6.RELEASE.jar -->  
  133.         <!-- struts-1.2.9.jar -->  
  134.         <!-- spring-webmvc-3.0.6.RELEASE.jar -->  
  135.         <!-- xalan-2.5.1.jar -->  
  136.     </dependency>  
  137.     <!-- 支持hibernate,对对象映射框架的支持 -->  
  138.     <dependency>  
  139.         <groupId>org.springframework</groupId>  
  140.         <artifactId>spring-orm</artifactId>  
  141.         <version>3.0.6.RELEASE</version>  
  142.         <!-- spring-tx-3.0.6.RELEASE.jar -->  
  143.         <!-- spring-jdbc-3.0.6.RELEASE.jar -->  
  144.     </dependency>  
  145.     <dependency>  
  146.         <groupId>commons-dbcp</groupId>  
  147.         <artifactId>commons-dbcp</artifactId>  
  148.         <version>1.4</version>  
  149.     </dependency>  
  150.     <!-- ======================================================================= -->  
  151.       
  152.     <!-- struts2.2.3必须包 -->  
  153.     <dependency>  
  154.         <groupId>org.apache.struts</groupId>  
  155.         <artifactId>struts2-core</artifactId>  
  156.         <version>2.2.3.1</version>  
  157.         <!-- ognl-3.0.1.jar -->  
  158.         <!-- asm-commons-3.1.jar -->  
  159.         <!-- asm-tree-3.1.jar -->  
  160.         <!-- commons-lang-2.5.jar -->  
  161.         <!-- commons-fileupload-1.2.2.jar -->  
  162.         <!-- commons-io-2.0.1.jar -->  
  163.         <!-- xwork-core-2.2.3.1.jar -->  
  164.         <!-- javassist-3.11.0.GA.jar -->  
  165.         <!-- freemarker-2.3.16.jar -->  
  166.     </dependency>  
  167.     <!-- 日志功能 -->  
  168.     <dependency>  
  169.         <groupId>commons-logging</groupId>  
  170.         <artifactId>commons-logging</artifactId>  
  171.         <version>1.1</version>  
  172.         <!-- avalon-framework-4.1.3.jar -->  
  173.         <!-- servlet-api-2.3.jar -->  
  174.         <!-- logkit-1.0.1.jar -->  
  175.         <!-- log4j-1.2.12.jar -->  
  176.     </dependency>  
  177.     <!-- ASM字节码库 -->  
  178.     <dependency>  
  179.         <groupId>asm</groupId>  
  180.         <artifactId>asm</artifactId>  
  181.         <version>3.1</version>  
  182.     </dependency>  
  183.     <!-- struts2对于spring的支持 -->  
  184.     <dependency>  
  185.         <groupId>org.apache.struts</groupId>  
  186.         <artifactId>struts2-spring-plugin</artifactId>  
  187.         <version>2.2.3.1</version>  
  188.     </dependency>  
  189.     <!-- struts2中对于注解的支持 -->  
  190.     <dependency>  
  191.         <groupId>org.apache.struts</groupId>  
  192.         <artifactId>struts2-convention-plugin</artifactId>  
  193.         <version>2.2.3.1</version>  
  194.     </dependency>  
  195.       
  196.       
  197.     <!-- hibernate3.6.8必须包 -->  
  198.     <!-- hibernate核心包 -->  
  199.     <dependency>  
  200.         <groupId>org.hibernate</groupId>  
  201.         <artifactId>hibernate-core</artifactId>  
  202.         <version>3.6.8.Final</version>  
  203.         <exclusions>  
  204.             <exclusion>  
  205.                 <groupId>commons-collections</groupId>  
  206.                 <artifactId>commons-collections</artifactId>  
  207.             </exclusion>  
  208.             <exclusion>  
  209.                 <groupId>dom4j</groupId>  
  210.                 <artifactId>dom4j</artifactId>  
  211.             </exclusion>  
  212.             <exclusion>  
  213.                 <groupId>org.slf4j</groupId>  
  214.                 <artifactId>slf4j-api</artifactId>  
  215.             </exclusion>  
  216.         </exclusions>  
  217.         <!-- hibernate-commons-annotations-3.2.0.Final.jar1 -->  
  218.         <!-- hibernate-jpa-2.0-api-1.0.1.Final.jar -->  
  219.         <!-- jta-1.1.jar -->  
  220.     </dependency>  
  221.     <!-- hibernate使用的一个日志系统 -->  
  222.     <dependency>  
  223.         <groupId>org.slf4j</groupId>  
  224.         <artifactId>slf4j-api</artifactId>  
  225.         <version>1.6.4</version>  
  226.     </dependency>  
  227.     <!-- 集合类 -->  
  228.     <dependency>  
  229.         <groupId>commons-collections</groupId>  
  230.         <artifactId>commons-collections</artifactId>  
  231.         <version>3.2.1</version>  
  232.     </dependency>  
  233.     <!-- XML配置和映射管理器-->  
  234.     <dependency>  
  235.         <groupId>dom4j</groupId>  
  236.         <artifactId>dom4j</artifactId>  
  237.         <version>1.6.1</version>  
  238.     </dependency>  
  239.     <!-- ASM字节码库-->  
  240.     <dependency>  
  241.         <groupId>asm</groupId>  
  242.         <artifactId>asm-attrs</artifactId>  
  243.         <version>2.2.3</version>  
  244.     </dependency>  
  245.     <!-- cglib字节码解释器-->  
  246.     <dependency>  
  247.         <groupId>cglib</groupId>  
  248.         <artifactId>cglib-nodep</artifactId>  
  249.         <version>2.2.2</version>  
  250.     </dependency>  
  251.   </dependencies>  
  252. </project>  

 

 

 

      3. web.xml

     

Xml代码   收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="2.5"   
  3.     xmlns="http://java.sun.com/xml/ns/javaee"   
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
  6.     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  7.       
  8.     <!-- log4j配置文件地址 -->  
  9.     <context-param>  
  10.         <param-name>log4jConfigLocation</param-name>  
  11.         <param-value>classpath:resources/log4j/log4j.properties</param-value>  
  12.     </context-param>  
  13.       
  14.     <!-- 配置spring的配置文件 -->  
  15.     <context-param>  
  16.         <param-name>contextConfigLocation</param-name>  
  17.         <param-value>classpath:resources/spring/applicationContext.xml</param-value>  
  18.     </context-param>  
  19.     
  20.     <!-- log4j监听 -->  
  21.     <listener>  
  22.         <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>  
  23.     </listener>  
  24.       
  25.     <!-- Open Session In View Filter -->  
  26.     <!-- Spring提供的一个针对Hibernate的一个支持类,  
  27.         发起一个页面请求时打开Hibernate的Session,一直保持这个Session,直到这个请求结束 -->  
  28.     <filter>  
  29.         <filter-name>OpenSessionInViewFilter</filter-name>  
  30.         <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>  
  31.         <init-param>  
  32.             <param-name>singleSession</param-name>  
  33.             <param-value>true</param-value>  
  34.         </init-param>  
  35.     </filter>  
  36.     <filter-mapping>  
  37.         <filter-name>OpenSessionInViewFilter</filter-name>  
  38.         <url-pattern>/*</url-pattern>  
  39.     </filter-mapping>  
  40.       
  41.     <!-- Spring监听 -->  
  42.     <listener>  
  43.         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
  44.     </listener>  
  45.       
  46.     <!-- spring编码过滤器 -->  
  47.     <filter>  
  48.         <filter-name>Set Character Encoding</filter-name>  
  49.         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
  50.         <init-param>  
  51.             <param-name>encoding</param-name>  
  52.             <param-value>UTF-8</param-value>  
  53.         </init-param>  
  54.         <init-param>  
  55.             <param-name>forceEncoding</param-name>  
  56.             <!-- 强制进行转码 -->  
  57.             <param-value>true</param-value>  
  58.         </init-param>  
  59.     </filter>  
  60.     <filter-mapping>  
  61.         <filter-name>Set Character Encoding</filter-name>  
  62.         <url-pattern>/*</url-pattern>  
  63.     </filter-mapping>  
  64.     
  65.     <!-- Struts2配置信息 -->  
  66.     <filter>  
  67.         <filter-name>struts2</filter-name>  
  68.         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  
  69.         <!-- 指定配置文件路径 -->  
  70.         <init-param>  
  71.             <param-name>config</param-name>  
  72.             <param-value>platform-web.xml,struts-default.xml,struts-plugin.xml,resources/struts/struts.xml</param-value>  
  73.         </init-param>  
  74.     </filter>  
  75.   
  76.     <filter-mapping>  
  77.         <filter-name>struts2</filter-name>  
  78.         <url-pattern>/*</url-pattern>  
  79.     </filter-mapping>  
  80.     
  81.     <!-- 欢迎页面 -->  
  82.     <welcome-file-list>  
  83.         <welcome-file>/jsp/login/login.jsp</welcome-file>  
  84.     </welcome-file-list>  
  85. </web-app>       

      

 

    4. log4j.properties

     

Xml代码   收藏代码
  1. ### set log levels ###  
  2. log4j.rootLogger = debug, stdout, D, E  
  3.   
  4. ### \u8f93\u51fa\u5230\u63a7\u5236\u53f0 ###  
  5. #kong zhi tai  
  6. log4j.appender.stdout = org.apache.log4j.ConsoleAppender  
  7. log4j.appender.stdout.Target = System.out  
  8. log4j.appender.stdout.layout = org.apache.log4j.PatternLayout  
  9. log4j.appender.stdout.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%t:%r] - [%p] %m%n  
  10.   
  11. ### \u8f93\u51fa\u5230\u65e5\u5fd7\u6587\u4ef6 ###  
  12. log4j.appender.D = org.apache.log4j.DailyRollingFileAppender  
  13. log4j.appender.D.File = ${webapp.root}/logs/log.log  
  14. log4j.appender.D.Append = true  
  15. log4j.appender.D.Threshold = DEBUG  
  16. log4j.appender.D.layout = org.apache.log4j.PatternLayout  
  17. log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%t:%r] - [%p] %m%n  
  18.   
  19. ### \u4fdd\u5b58\u5f02\u5e38\u4fe1\u606f\u5230\u5355\u72ec\u6587\u4ef6 ###  
  20. log4j.appender.E = org.apache.log4j.DailyRollingFileAppender  
  21. log4j.appender.E.File = ${webapp.root}/logs/error.log  
  22. log4j.appender.E.Append = true  
  23. log4j.appender.E.Threshold = ERROR  
  24. log4j.appender.E.layout = org.apache.log4j.PatternLayout  
  25. log4j.appender.E.layout.ConversionPattern =%-d{yyyy-MM-dd HH\:mm\:ss} [%t\:%r] - [%p] %m%n  

 

 

 

    5. applicationContext.xml

   

Java代码   收藏代码
  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.     xmlns:context="http://www.springframework.org/schema/context"  
  5.     xmlns:aop="http://www.springframework.org/schema/aop"  
  6.     xmlns:tx="http://www.springframework.org/schema/tx"  
  7.     xsi:schemaLocation="  
  8.             http://www.springframework.org/schema/beans  
  9.             http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
  10.             http://www.springframework.org/schema/context  
  11.             http://www.springframework.org/schema/context/spring-context-3.0.xsd  
  12.             http://www.springframework.org/schema/tx  
  13.             http://www.springframework.org/schema/tx/spring-tx-3.0.xsd  
  14.             http://www.springframework.org/schema/aop  
  15.             http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">  
  16.   
  17.     <!-- 使用 annotation -->   
  18.     <context:annotation-config />  
  19.       
  20.     <!-- 使用 annotation 自动注册bean,并检查@Controller@Service@Repository注解已被注入 -->   
  21.     <context:component-scan base-package="cn.apple.baseFrameForMaven.*" />  
  22.       
  23.     <!-- hibernate属性配置 -->  
  24.     <context:property-placeholder location="classpath:resources/hibernate/hibernate.properties"/>  
  25.       
  26.     <!-- hibernate 配置管理 -->  
  27.     <import resource="applicationContext-persistence.xml" />  
  28.       
  29. </beans>  

 

 

 

    6. applicationContext-persistence.xml

   

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.     xmlns:context="http://www.springframework.org/schema/context"  
  5.     xmlns:aop="http://www.springframework.org/schema/aop"  
  6.     xmlns:tx="http://www.springframework.org/schema/tx"  
  7.     xsi:schemaLocation="  
  8.             http://www.springframework.org/schema/beans  
  9.             http://www.springframework.org/schema/beans/spring-beans.xsd  
  10.             http://www.springframework.org/schema/context  
  11.             http://www.springframework.org/schema/context/spring-context.xsd  
  12.             http://www.springframework.org/schema/aop  
  13.             http://www.springframework.org/schema/aop/spring-aop.xsd  
  14.             http://www.springframework.org/schema/tx  
  15.             http://www.springframework.org/schema/tx/spring-tx.xsd">  
  16.       
  17.     <!-- C3P0 数据源 -->  
  18.     <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">  
  19.         <property name="driverClass" value="${hibernate.connection.driver_class}"/>   
  20.         <property name="jdbcUrl" value="${hibernate.connection.url}"/>  
  21.         <property name="properties">   
  22.             <props>   
  23.                 <prop key="user">${hibernate.connection.username}</prop>  
  24.                 <prop key="password">${hibernate.connection.password}</prop>  
  25.             </props>   
  26.         </property>  
  27.     </bean>  
  28.       
  29.     <!-- 配置hibernate3相关属性 -->  
  30.     <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">  
  31.         <property name="dataSource" ref="dataSource" />  
  32.         <property name="packagesToScan" value="cn.apple.baseFrameForMaven.model"/>  
  33.         <property name="hibernateProperties">  
  34.             <props>  
  35.                 <prop key="hibernate.dialect">${hibernate.dialect}</prop>  
  36.                 <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>  
  37.                 <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>  
  38.                 <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>  
  39.                 <prop key="hibernate.cache.provider_class">${hibernate.cache.provider_class}</prop>  
  40.                 <prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop>     
  41.                 <prop key="hibernate.cache.use_second_level_cache">${hibernate.cache.use_second_level_cache}</prop>  
  42.             </props>  
  43.         </property>  
  44.     </bean>  
  45.       
  46.     <!-- 配置事务管理 -->  
  47.     <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  48.         <property name="sessionFactory" ref="sessionFactory" />  
  49.     </bean>  
  50.       
  51.     <!-- 配置注解实现管理事务(cglib:proxy-target-class="true") -->  
  52.     <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" />  
  53.   
  54. </beans>  

 

 

 

    7. hibernate.properties

   

Xml代码   收藏代码
  1. ## hibernate  
  2. hibernate.dialect=org.hibernate.dialect.MySQLDialect  
  3. hibernate.show_sql=true  
  4. hibernate.format_sql=false  
  5. hibernate.hbm2ddl.auto=update  
  6.   
  7. ## hibernate cache  
  8. hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider  
  9. hibernate.cache.use_query_cache=false  
  10. hibernate.cache.use_second_level_cache=true  
  11.   
  12. ## C3P0 configuration  
  13. hibernate.connection.driver_class=com.mysql.jdbc.Driver  
  14. hibernate.connection.url=jdbc:mysql://localhost:3306/baseframeformaven??useUnicode=true&characterEncoding=utf-8  
  15. hibernate.connection.username=root  
  16. hibernate.connection.password=123  

 

 

 

    8. struts.xml

   

Xml代码   收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE struts PUBLIC  
  3.     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  
  4.     "http://struts.apache.org/dtds/struts-2.0.dtd">  
  5.   
  6. <struts>  
  7.     <!-- 开启使用开发模式,详细错误提示 -->  
  8.     <constant name="struts.devMode" value="false" />  
  9.     <!-- 将对象交给spring管理 -->  
  10.     <constant name="struts.objectFactory" value="spring" />  
  11.     <!-- 指定资源编码类型 -->  
  12.     <constant name="struts.i18n.encoding" value="UTF-8" />   
  13.     <!-- 指定每次请求到达,重新加载资源文件 -->  
  14.     <constant name="struts.i18n.reload" value="false" />  
  15.     <!-- 指定每次配置文件更改后,自动重新加载 -->  
  16.     <constant name="struts.configuration.xml.reload" value="false" />  
  17.     <!-- 国际化资源文件 -->  
  18.     <constant name="struts.custom.i18n.resources" value="resources/content/Language" />  
  19.     <!-- 默认后缀名 -->  
  20.     <constant name="struts.action.extension" value="do,action,jhtml,," />  
  21.     <!-- Struts Annotation -->  
  22.     <constant name="actionPackages" value="cn.apple.baseFrameForMaven.action"/>  
  23.       
  24.     <!-- 去掉struts2标签的自带样式 -->  
  25.     <constant name="struts.ui.theme" value="simple" />   
  26.     <constant name="struts.ui.templateDir" value="template" />   
  27.     <constant name="struts.ui.templateSuffix" value="ftl" />  
  28. </struts>  

 

 

 

    9. Language_zh_CN.properties

   

Xml代码   收藏代码
  1. Demo=\u793A\u4F8B  

 

 

 

    10. Language_en_US.properties

   

Xml代码   收藏代码
  1. DemoDemo=Demo Page  

 

 

    11. 如此这般,不出意外,你的程序就应该可以跑起来了,我写了一个简单的登录程序验证一下:

        login.jsp

       

Html代码   收藏代码
  1. <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>  
  2. <%@ taglib uri="/struts-tags" prefix="s" %>  
  3. <%  
  4. String path = request.getContextPath();  
  5. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  6. %>  
  7.   
  8. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  9. <html>  
  10.   <head>  
  11.     <base href="<%=basePath%>">  
  12.     <title>基础框架--登录</title>  
  13.   </head>  
  14.     
  15.   <body>  
  16.     <s:form action="loginAction">  
  17.         <s:label value="%{#request.errorMessage}"/>  
  18.         <s:textfield id="login" name="login" label="帐号" maxlength="36" size="20"/>  
  19.         <s:password id="password" name="password" label="密码" maxlength="12" size="19"/>  
  20.         <s:submit value="登陆" onclick="return validate()"/>  
  21.     </s:form>  
  22.   </body>  
  23. </html>  

 

 

    success.jsp

   

Html代码   收藏代码
  1. <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>  
  2. <%@ taglib uri="/struts-tags" prefix="s" %>  
  3. <%  
  4. String path = request.getContextPath();  
  5. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  6. %>  
  7.   
  8. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  9. <html>  
  10.   <head>  
  11.     <base href="<%=basePath%>">  
  12.     <title>基础框架--登录成功</title>  
  13.   </head>  
  14.     
  15.   <body>  
  16.         欢迎您:<s:label value="%{#request.userName}"/>  
  17.   </body>  
  18. </html>  

 

 

 

   

Java代码   收藏代码
  1. package cn.apple.baseFrameForMaven.action;  
  2.   
  3. import javax.annotation.Resource;  
  4.   
  5. import org.apache.struts2.convention.annotation.Action;  
  6. import org.apache.struts2.convention.annotation.Result;  
  7. import org.springframework.stereotype.Controller;  
  8.   
  9. import cn.apple.erp.base.action.BaseAction;  
  10. import cn.apple.baseFrameForMaven.model.User;  
  11. import cn.apple.baseFrameForMaven.service.UserService;  
  12.   
  13. /** 
  14.  * 登录用ACTION 
  15.  *  
  16.  * @author 张鑫 
  17.  * 
  18.  */  
  19. @Controller  
  20. public class LoginAction extends BaseAction {  
  21.   
  22.     private static final long serialVersionUID = 1L;  
  23.     @Resource  
  24.     private UserService userService;//用户信息service层  
  25.   
  26.     /** 
  27.      * 用户登录验证 
  28.      *  
  29.      * @return  
  30.      */  
  31.     @SuppressWarnings("restriction")  
  32.     @Action(value = "/loginAction",   
  33.             results = { @Result(name = ERROR, location = "/jsp/login/login.jsp"),  
  34.                         @Result(name = SUCCESS, location = "/jsp/login/success.jsp")  
  35.                       })  
  36.     public String verification(){  
  37.         //从页面获取帐号和密码  
  38.         String login = httpServletRequest.getParameter("login");  
  39.         String password = httpServletRequest.getParameter("password");  
  40.         User user = userService.findUserByLogin(login);//根据帐号到数据库中获取用户信息  
  41.           
  42.         //处理返回值信息  
  43.         if(user==null){ //没有该用户  
  44.             httpServletRequest.setAttribute("errorMessage""该账户不存在");//设置出错提示信息  
  45.             return ERROR;  
  46.         }else if(user.getUser_password()==null){ //数据库该用户密码为空  
  47.             httpServletRequest.setAttribute("errorMessage""帐号异常:没有密码。请联系管理员或者重新注册");//设置出错提示信息  
  48.             return ERROR;  
  49.         }else if(!(user.getUser_password().equals(password))){ //判断密码是否匹配  
  50.             httpServletRequest.setAttribute("errorMessage""密码错误");//设置出错提示信息  
  51.             return ERROR;  
  52.         }else//登录成功,用户信息放入session  
  53.             httpServletRequest.setAttribute("userName", user.getUser_name());//设置用户名  
  54.             return SUCCESS;  
  55.         }  
  56.     }  
  57. }  

 

 

    其他层我就不再往上写了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值