SSH整合步骤

来源:互联网 发布:linux comm 编辑:程序博客网 时间:2024/05/16 14:13

Spring+Struts

 

1. 在web.xml中注册侦听器:

 <listener> 
  <listener-class>
   org.springframework.web.context.ContextLoaderListener
  </listener-class> 
 </listener>

 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>/WEB-INF/beans.xml</param-value>
 </context-param>

 

2. 将Spring的jar包添加到项目中, 除了Spring的jar包以外,还需要struts2-spring-plugin-2.2.1.jar, 将log4j.properties放入src下

 

3. 在strtus.xml中添加常量:<constant name="struts.objectFactory" value="spring"/>意思是对象工厂由spring来充当

 

4. 修改Action的代码,将Action中获得Dao的方式由原来直接new改成:将Dao作为属性放入Action

 

5. 在Spring的配置文件中对项目中用到的类进行配置, 主要是Action和DaoDao配置成单例的

     Action配置成原型(每个请求是新的实例进行处理,避免线程安全的问题)

 

6. 修改struts.xml配置文件,将原来在class中配置的action的完全限定名 修改成 spring配置文件中配置的id属性

 

 

Spring和Hibernate整合


7. 自定义的Dao继承与Spring提供的类HibernateDaoSupport()类

     同时实现自己的接口直接调用HibernateTemplate()实现持久化操作。

 

8. 在Spring的配置文件中,添加如下配置:
 
 <bean id="dataSource"
  class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  <property name="driverClassName" value="com.mysql.jdbc.Driver" />
  <property name="url" value="jdbc:mysql://127.0.0.1:3306/stuinfo" />
  <property name="username" value="root" />
  <property name="password" value="123" />
 </bean>

 <bean id="sessionFactory"
  class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <property name="dataSource">
   <ref local="dataSource" />
  </property>
  <property name="configLocation">
   <value>classpath:hibernate.cfg.xml</value>
  </property>
 </bean>

 将sessionFactory注入到自定义的Dao里。例如:

 <bean id="commDao" class="com.etp.dao.CommDaoImpl">
  <property name="sessionFactory">
   <ref bean="sessionFactory" />
  </property>
 </bean>