SSH整合

ssh整合

ssh整合的本质:是Spring与struts2之间的整合(将action中的对象交给spring管理),与Spring与Hibernate之间的整合(将sessionFactory和session交给Spring容器管理)
SSH整合流程:
  1. 导入jar包
  2. 配置spring
    2.1 创建spring配置文件applicationContext.xml,并且加入bean约束和context约束
    2.2 在web.xml文件中配置,服务器启动时创建容器
  3. 配置struts
    3.1 创建struts2配置文件struts.xml,引入约束
    3.2 在web.xml文件配置核心过滤器
  4. 进行Spring和Struts2框架的整合
    4.1 在struts主配置文件引入两个常量
    struts.objectFactory = spring //将action的创建交给spring容器
    struts.objectFactory.spring.autoWire = name spring //负责action的依赖属性,比如action需要依赖service,spring会自动将service放在action中

4.2 两个整合方案
整合方案一:
由struts自己来创建action,由spring来负责依赖属性

<action name="userAction_*" class="com.edu118.ssh.web.UserAction" method="{1}">
        <result name="success">/index.jsp</result>
        </action>
Struts自己来创建action,但是actionservice的依赖关系由spring来维护
<bean name="userAction" class="com.edu118.ssh.web.UserAction"></bean>
<bean name="userService" class="com.edu118.ssh.service.UserService"></bean>

整合方案二:(开发中用的)
spring来创建action但是依赖关系需要我们自己手动完成

<package name="user" namespace="/" extends="struts-default">
    <action name="user_*" class="userAction" method="{1}">
        <result>/index.jsp</result>
    </action>
</package>
<!-- spring整合struts2 -->
<bean name="userAction" class="com.edu118.ssh.web.action.UserAction">
<property name="userService"ref="userService"></property>
</bean> 
<bean 
name="userService" class="com.edu118.ssh.service.UserService">
</bean>

5.配置hibernate
5.1创建对象及其映射文件(对象名.hbm.xml)
5.2创建主配置文件 hibernate.cfg.xml,并引入映射文件

6.Spring和Hibernate 的整合:将hibernate中的SessionFactory交给Spring管理
方案一:

<!-- 将sessionfactory放到spring容器中 -->
<bean name="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
    引入hibernate的主配置文件 
    <property name="configLocation" value="classpath:hibernate.cfg.xml"></property>
</bean>

方案二:
将hibernate中的配置放到spring中,hibernate的配置文件不要了

<!-- spring与hibernate整合二 -->
<bean name="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<!-- 配置hibernate中的property属性 -->
<property name="hibernateProperties">
    <props>
        <prop key="hibernate.connection.driver_class">com.mysql.jdbc.Driver</prop>
        <prop key="hibernate.connection.url">jdbc:mysql:///hibernate_day01</prop>
        <prop key="hibernate.connection.username">root</prop>
        <prop key="hibernate.connection.password">123</prop>
        <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
        <prop key="hibernate.show_sql">true</prop>
        <prop key="hibernate.hbm2ddl.auto">update</prop>
        <prop key="hibernate.connection.isolation">4</prop>
        <prop key="hibernate.current_session_context_class">thread</prop>
    </props>
</property>
<property name="mappingDirectoryLocations" value="classpath:com/edu118/domian"></property>
</bean>

7.配置c3p0连接池
导入c3p0-config.xml配置文件

<!--在spring中配置c3p0连接池-->
<bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"></bean>
<!-- 将c3p0放到hibernate中 -->
<property name="dataSource" ref="dataSource"></property>

去掉hibernate对数据库的配置

<prop key="hibernate.connection.driver_class">com.mysql.jdbc.Driver</prop>
<prop key="hibernate.connection.url">jdbc:mysql:///hibernate_day01</prop>
<prop key="hibernate.connection.username">root</prop>
<prop key="hibernate.connection.password">123</prop> 
现在ssh框架大概很少有人用了,比较流行ssm,但既然学了,还是写下来
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值