ssh2的整合

近日学习了ssh2的整合,整合过程觉得蛮好玩的,所以写下这个ssh2的整合文档.

什么叫整合,在我自己看来,就是融合,先后将三个(struts2/spring/hibernate)框架配置到一个容器中,将各自的功能融合在一起。(算是自己顾名思义的一点小定义吧)

整合过程中,三个框架的整合没有先后顺序,这里先从struts2开始。

下面开始整合过程。

1.整合struts2

a.       导入jar包(struts的空项目下的所有jar包struts-2.3.3-all\struts-2.3.3\apps\struts2-blank\WEB-INF\lib)

此外同时要加入struts2-spring-plugin-**.jar这个jar包

路径为:struts-2.3.3-all\struts-2.3.3\lib

b.struts2的配置文件(struts-2.3.3-all\struts-2.3.3\apps\struts2-blank\WEB-INF\classes\struts.xml)

粘贴复制到web工程的src目录下

删掉不必要的,留下package属性,然后加入常量struts.objectFactory的配置默认是spring。

将Struts2的核心配置文件(web.xml)里面的过滤器复制到web工程下的web.xml里面

2.     整合hibernate

a.导jar包

核心jar包hibernate3.jar,

Required下的所有jar包

Jpa下的一个jar包

跟日志相关的log4j-1.2.16.jar、slf4j-log4j12-1.7.2jar

数据库的驱动mysql-connector.java-3.1.12-bin.jar

  b.hibernate的配置文件

        hibernate.cfg.xml(跟数据库有关)和log4j.properties(日志相关)

3.整合spring

a.导入jar包

spring核心jar包spring.jar

与aspectj相关(两个)

和cjlib相关

dom4j

雅加达相关commons-logging.jar

j2ee

如果使用了注解,还需要下列jar文件

lib\j2ee\common-annotations.jar

b.核心配置文件

    applicationContext-beans.xml()

  applicationContext-tx.xml(事务管理)

c.启动spring的生命周期

web.xml文件中加入启动spring框架的配置

         <context-param>

<param-name>contextConfigLocation</param-name>

<!-- 这里可以添加多个配置文件,以‘,’隔开 -->

<param-value>/WEB-INF/applicationContext.xml</param-value>

</context-param>

<listener>

<listener-class>

org.springframework.web.context.ContextLoaderListener

</listener-class>

</listener>

4.解决web项目中session延迟加载问题的配置

<filter>

<filter-name>hibernateFilter</filter-name>

<filter-class>

org.springframework.orm.hibernate3.support.OpenSessionInViewFilter

</filter-class>

</filter>

<filter-mapping>

<filter-name>hibernateFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

 

注意:这个filter的配置要求放在struts2的核心Filter配置之前

5.配置过滤器解决中文乱码问题(放在步骤4放的位置之前)

       <filter>

        <filter-name>CharacterEncodingFilter</filter-name>

            <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

        <init-param>

            <param-name>encoding</param-name>

            <param-value>utf-8</param-value>

        </init-param> 

     </filter>

     <filter-mapping>

        <filter-name>CharacterEncodingFilter</filter-name>

        <url-pattern>/*</url-pattern>

  </filter-mapping>

6.配置数据源

        在spring2.5中提供了名为c3p0-0.9.1.2.jar的jar包

        将数据源的文件配置到applicationContext-ds.xml中

               <beanid="dataSource"class="com.mchange.v2.c3p0.ComboPooledDataSource"destroy-method="close">

<propertyname="driverClass" value="com.mysql.jdbc.Driver"/>

<propertyname="jdbcUrl"value="jdbc:mysql://localhost:3306/ssh2012?useUnicode=true&amp;characterEncoding=UTF-8"/>

<propertyname="user" value="root"/>

<propertyname="password" value="123456"/>

<!--初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3 -->

<propertyname="initialPoolSize" value="1"/>

<!--连接池中保留的最小连接数。-->

<propertyname="minPoolSize" value="1"/>

<!--连接池中保留的最大连接数。Default: 15 -->

<propertyname="maxPoolSize" value="300"/>

<!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->

<propertyname="maxIdleTime" value="60"/>    

<!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->

<propertyname="acquireIncrement" value="5"/>     

<!--每60秒检查所有连接池中的空闲连接。Default: 0 -->

<propertyname="idleConnectionTestPeriod" value="60"/>

</bean>

 

7.将hibernate的一些属性配置到applicationContext-tx.xml中。

这个视具体情况配置。不做赘述。

即配置hibernatesessionFactory

至此,整合完成。部署工程,启动服务器,没错误,整合成功!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值