读书人

struts2.1.8 + spring2.5.6 + hiberna

发布时间: 2012-10-07 17:28:51 作者: rapoo

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 />?
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.???????? value="classpath:hibernate.cfg.xml">?
19.???????? </property>?
20.???? </bean>?
21.???? <!-- 基于hibernate的事务管理器 -->?
22.???? <bean id="txManager" 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" 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

读书人网 >软件架构设计

热点推荐