struts2.1.8 + spring2.5.6 + hibernate3.3.2整合的登陆

此次整合的版本是:struts2.1.8 + spring2.5.6 + hibernate3.3.2

http://www.iteye.com/topic/531396

一.先整合hibernate和spring:

============================================================

hibernate所需要jar包:

antlr- 2.7.6.jar、commons-collections-3.1.jar、dom4j-1.6.1.jar、hibernate3.jar、 javassist-3.9.0.GA.jar、jta-1.1.jar、slf4j-api-1.5.8.jar、log4j.jar、slf4j- log4j12-1.5.8.jar (slf4j接口以log4j形式实现),因为采用了注解的方式所以还需(annotation3.4的包):ejb3- persistence.jar、hibernate-annotations.jar、hibernate-commons- annotations.jar、hibernate-entitymanager.jar、hibernate-validator.jar、 jboss-archive-browsing.jar ,采用了c3p0连接池,还需要:c3p0-0.9.1.2.jar

========================================================================

spring所需要jar包:spring.jar、commons-logging.jar ,spring注解需要:common-annotations.jar ,aop需要:aspectjrt.jar、aspectjweaver.jar、cglib-nodep-2.1_3.jar

hibernate.cfg.xml配置:

1. <?xml version='1.0' encoding='UTF-8'?> 
2. <!DOCTYPE hibernate-configuration PUBLIC 
3.           "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
4.           "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 
5.  
6. <hibernate-configuration> 
7.  
8.     <session-factory> 
9.         <property name="dialect"> 
10.             org.hibernate.dialect.MySQLDialect 
11.         </property> 
12.         <property name="connection.url"> 
13.             jdbc:mysql://localhost:3306/oa 
14.         </property> 
15.         <property name="connection.username">root</property> 
16.         <property name="connection.password">root</property> 
17.         <property name="connection.driver_class"> 
18.             com.mysql.jdbc.Driver 
19.         </property> 
20.         <property name="myeclipse.connection.profile">mysql5</property> 
21.         <property name="show_sql">true</property> 
22.         <property name="current_session_context_class">thread</property> 
23.         <property name="hbm2ddl.auto">update</property> 
24.  
25.         <!-- 首先说明我是使用c3p0连接池的方式 --> 
26.         <property name="connection.provider_class"> 
27.             org.hibernate.connection.C3P0ConnectionProvider 
28.         </property> 
29.         <!-- 最大连接数 --> 
30.         <property name="hibernate.c3p0.max_size">20</property> 
31.         <!-- 最小连接数 --> 
32.         <property name="hibernate.c3p0.min_size">2</property> 
33.         <!-- 获得连接的超时时间,如果超过这个时间,会抛出异常,单位毫秒 --> 
34.         <property name="hibernate.c3p0.timeout">5000</property> 
35.         <!-- 最大的PreparedStatement的数量 --> 
36.         <property name="hibernate.c3p0.max_statements">100</property> 
37.         <!-- 每隔1000秒检查连接池里的空闲连接 ,单位是秒--> 
38.         <property name="hibernate.c3p0.idle_test_period">1000</property> 
39.         <!-- 当连接池里面的连接用完的时候,C3P0一下获取的新的连接数 --> 
40.         <property name="hibernate.c3p0.acquire_increment">2</property> 
41.         <!-- 每次都验证连接是否可用 --> 
42.         <property name="hibernate.c3p0.validate">true</property> 
43.          
44.         <mapping class="com.fsj.model.User" /> 
45.  
46.     </session-factory> 
47.  
48. </hibernate-configuration>

==========================================================
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" xmlns:context="http://www.springframework.org/schema/context" 
4.     xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" 
5.     xsi:schemaLocation="http://www.springframework.org/schema/beans  
6.            http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
7.            http://www.springframework.org/schema/context 
8.            http://www.springframework.org/schema/context/spring-context-2.5.xsd 
9.            http://www.springframework.org/schema/aop 
10.            http://www.springframework.org/schema/aop/spring-aop-2.5.xsd 
11.            http://www.springframework.org/schema/tx 
12.            http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> 
13.             
14.     <context:component-scan base-package="com.fsj" /><!-- 启用自动扫描 --> 
15.     <!-- 基于hibernate注解的sessionFactory --> 
16.     <bean id="sessionFactory" 
17.         class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
18.         <property name="configLocation" value="classpath:hibernate.cfg.xml"> 
19.         </property> 
20.     </bean> 
21.     <!-- 基于hibernate的事务管理器 --> 
22.     <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
23.         <property name="sessionFactory" ref="sessionFactory" /> 
24.     </bean> 
25.     <!-- 采用注解形式的声明式事务管理 --> 
26.     <tx:annotation-driven transaction-manager="txManager"/> 
27.      
28. </beans>

========================================================================
再加入struts2:

加入包:xwork-core-2.1.6.jar、 struts2-core-2.1.8.jar、ognl-2.7.3.jar、freemarker-2.3.15.jar、commons-io- 1.3.2.jar、commons-fileupload-1.2.1.jar、struts2-spring-plugin-2.1.8.jar

web.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.     <context-param> 
9.        <param-name>contextConfigLocation</param-name> 
10.        <param-value>classpath:applicationContext.xml</param-value> 
11.     </context-param> 
12.      
13.     <listener> 
14.           <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
15.     </listener> 
16.          
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
25.          
26.     <filter> 
27.         <filter-name>encoding</filter-name> 
28.         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
29.         <init-param> 
30.             <param-name>encoding</param-name> 
31.             <param-value>UTF-8</param-value> 
32.         </init-param> 
33.     </filter> 
34.     <filter-mapping> 
35.         <filter-name>encoding</filter-name> 
36.         <url-pattern>/*</url-pattern> 
37.     </filter-mapping> 
38.          
39.                          
40.     <filter> 
41.             <filter-name>OpenSessionInViewFilter</filter-name> 
42.             <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> 
43.     </filter> 
44.     <filter-mapping> 
45.             <filter-name>OpenSessionInViewFilter</filter-name> 
46.             <url-pattern>/*</url-pattern> 
47.     </filter-mapping> 
48.      
49. </web-app>

struts.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.     <!-- 指定Web应用的默认编码集,相当于调用HttpServletRequest的setCharacterEncoding方法 --> 
9.     <constant name="struts.i18n.encoding" value="UTF-8" /> 
10.     <!-- 设置浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段最好关闭 --> 
11.     <constant name="struts.serve.static.browserCache" value="false" /> 
12.     <!-- 当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开 --> 
13.     <constant name="struts.configuration.xml.reload" value="true" /> 
14.     <!-- 开发模式下使用,这样可以打印出更详细的错误信息 --> 
15.     <constant name="struts.devMode" value="true" /> 
16.     <!-- 默认的视图主题 --> 
17.     <constant name="struts.ui.theme" value="simple" /> 
18.     <!-- 把action对象交给spring创建 --> 
19.     <constant name="struts.objectFactory" value="spring" /> 
20.  
21.     <package name="myDefault" extends="struts-default"> 
22.         <default-action-ref name="indexPage" /> 
23.         <global-results> 
24.             <result name="exceptionPage">/WEB-INF/exceptionPage.jsp 
25.             </result> 
26.         </global-results> 
27.         <global-exception-mappings> 
28.             <exception-mapping result="exceptionPage" exception="java.lang.Exception" /> 
29.         </global-exception-mappings>       
30.         <action name="indexPage"> 
31.             <result>/login.jsp</result> 
32.         </action> 
33.     </package> 
34.  
35.     <package name="user" namespace="/user" extends="myDefault"> 
36.         <!-- 这里面的class不是指完整类路径,而是指在spring中定义的bean的名称 --> 
37.         <action name="*UserAction" class="userAction" method="{1}"> 
38.             <result name="success">/WEB-INF/user/loginSuccess.jsp</result> 
39.             <result name="input">/login.jsp</result> 
40.         </action> 
41.     </package> 
42.  
43. </struts>


=======================================
**********************************************************************
使用的技术:spring2.0+struts2.0+hibernate3.0
spring2.0的JAR包:
1、spring-2.0.jar、
Struts2.0的JAR包:
1、struts2-core-2.0.11.1.jar;
2、struts2-spring-plugin-2.0.11.1.jar;
3、xwork-2.0.4.jar;
4、ognl-2.6.11.jar
5、freemarker-2.3.8.jar
hibernate3.0的JAR包:
1、hibernate3.jar
2、hibernate-annotations.jar
3、antlr-2.7.6.jar;
4、cglib-nodep-2.1_3.jar
5、commons-beanutils-1.7.0.jar

另外:连接数据库的两个Jar包:
1、commons-dbcp.jar;
2、commons-pool.jar

做事务的Jar包:
1、jta.jar;
解析XML文件:
1.dom4j.xml

====================================================================
**********************************************************************************************
ssh:Struts1.2 + Hibernate3.2 + Spring2.0

antlr-2.7.6rc1.jar
asm.jar
asm-attrs.jar
cglib-2.1.3.jar
commons-attributes-api.jar
commons-beanutils.jar
commons-codec.jar
commons-collections-2.1.1.jar
commons-dbcp.jar
commons-digester.jar
commons-discovery.jar
commons-fileupload.jar
commons-httpclient.jar
commons-io.jar
commons-lang.jar
commons-logging-1.0.4.jar
commons-pool.jar
commons-validator.jar
dom4j-1.6.1.jar
ehcache-1.1.jar
hibernate3.jar
jaas.jar
jaxen-1.1-beta-7.jar
jdbc2_0-stdext.jar
jstl.jar
jta.jar
junit-4.1.jar
log4j-1.2.11.jar
mysql-connector-java-5.1.7-bin.jar
spring.jar
spring-webmvc-struts.jar
standard.jar
struts.jar
xerces-2.6.2.jar
xml-apis.jar

你可能感兴趣的:(struts2.1.8 + spring2.5.6 + hibernate3.3.2整合的登陆)