ssh整合开发

ssh整合思想

ssh整合

第一步:导入ssh相关jar包

第二步:搭建struts环境

     (1)创建 action  struts.xml配置文件, 配置action

struts.xml约束

<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

      (2) 配置struts的过滤器

  <!-- struts过滤 -->
  	<filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
</filter-mapping>

第三步:搭建hibernate环境

   (1)创建实体类

   (2)配置实体类与数据表映射关系

            映射文件约束:

<!DOCTYPE hibernate-mapping PUBLIC 
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  	"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

   (3)创建hibernate核心配置文件

              核心配置文件约束:

<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

   (4)引入映射配置文件

第四步: 搭建spring核心配置文件

       (1)创建spring核心配置文件

   (2)由于第一次访问比较慢,让spring配置文件在服务器启动时加载(监听器)

配置监听器并指定spring核心配置文件位置

<!-- 配置监听器让spring配置文件在服务器启动时候加载 -->
<listener>
	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 指定spring配置文件位置 -->
<context-param>
	<param-name>contextLoaderListener</param-name>
	<param-value>classpath:bean1.xml</param-value>
</context-param>

第五步: struts2与spring整合

  (1)把action在spring中配置(action多实例)

<bean id="UserAction" class="com.bookstore.action.UserAction" scope="prototype"></bean>
prototype表示多实例,默认单实例

   (2)在struts.xml中action标签class属性里面写bean的id值(如果直接写全路径,action就会被创建两次)

<action name="UserAction" class="UserAction">

第六步:spring与hibernate整合(注意导包)

         (1)把hibernate核心配置文件中数据库配置在spring配置

<!-- 配置c3p0连接池 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
	<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
	<property name="jdbcUrl" value="jdbc:mysql:///bookstore"></property>
	<property name="user" value="root"></property>
	<property name="password" value="123456"></property>
</bean>

     (2)把sessionFactory创建交给spring

<!-- 把sessionFactory创建交给spring -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
	<!-- 由于在hibernate核心文件中没有配置数据库,数据库在spring中配置,注入dataSource -->
	<property name="dataSource" ref="dataSource"></property>
	<!-- 指定hibernate核心文件 -->
	<property name="comfigLocations" value="classpath:hibernate.cfg.xml"></property>
</bean>

第七步:配置事务(注解方式@Transactional)

<!-- 事务配置 -->
<!-- 配置事物管理器 -->
<bean name="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
	<!-- 注入sessionFactory -->
	<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!-- 开启注解 -->
<tx:annotation-driven transaction-manager="transactionManager"/>

配置hibernateTemplate

<!-- 配置hibernateTemplate -->
<bean id="hibernateTemplate" classs="org.springframework.orm.hibernate3.HibernateTemplate">
	<property name="sessionFactory" ref="sessionFactory"></property>
</bean>

  

原文地址:https://www.cnblogs.com/durui/p/7647848.html