读书人

SSH框架调整步骤

发布时间: 2012-08-28 12:37:01 作者: rapoo

SSH框架整合步骤
SSH框架整合步骤:?1.建web project
2.导入struts2.0的jar包(基本的五个加上struts2-spring-plugin-2.0.14.jar)
3.导入spring的jar包,这里加hibernate关联的包,用myeclipse可以完成。
4.建hibernate的数据映射文件
5.建自己要用到的业务类,action,jsp页面。
6.配制web.xml,struts.xml,applicationContext.xml
web.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"????
xmlns="http://java.sun.com/xml/ns/j2ee"????
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"????
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee????
[url]http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd[/url]">
<!-- 配置applicationContext.xml的路径 -->
<!-- 用于初始化Spring容器的Listener -->
<!-- 定义Struts2的FilterDispathcer的Filter -->
<!-- 定义整合SiteMesh必须的ActionContextCleanUp Filter -->
????
????



<!-- 配置applicationContext.xml的路径 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<!-- 配置监听,spring与struts关联 -->
<!-- 用于初始化Spring容器的Listener -->
<listener>
????<listener-class>
???? org.springframework.web.context.ContextLoaderListener
????</listener-class>
</listener>
????
<!-- 定义Struts2的FilterDispathcer的Filter -->
<filter>
????<filter-name>struts2</filter-name>
????<filter-class>
???? org.apache.struts2.dispatcher.FilterDispatcher
????</filter-class>
</filter>
<!-- 配置struts2.0的 cleanup-->
<!-- 定义整合SiteMesh必须的ActionContextCleanUp Filter -->
<filter>
????<filter-name>struts-cleanup</filter-name>
????<filter-class>
???? org.apache.struts2.dispatcher.ActionContextCleanUp
????</filter-class>
</filter>
<filter-mapping>
????<filter-name>struts-cleanup</filter-name>
????<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- FilterDispatcher用来初始化struts2并且处理所有的WEB请求。 -->
<filter-mapping>
????<filter-name>struts2</filter-name>
????<url-pattern>/*</url-pattern>
</filter-mapping>

????<welcome-file-list>
????????<welcome-file>index.jsp</welcome-file>
????</welcome-file-list>
</web-app>

struts.xml文件:<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
????????"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
????????"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
<package name="default" extends="struts-default">
????<action name="Login" class="loginAction">
???? <result name="input">Login.jsp</result>
???? <result name="success">success.jsp</result>
????</action>
????
</package>
</struts>


applicationContext.xml文件:<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans [url]http://www.springframework.org/schema/beans/spring-beans-2.0.xsd[/url]">

<!-- 定义dataSource -->
<!-- 定义sessionFactory , 这里要加hibernate的数据库表的映射文件***.hbm.xml -->
<!-- 事务管理 -->
<!-- 事务拦截器 -->
<!-- 业务实例动态代理 -->
<!-- 定义业务处理bean -->




<!-- 定义dataSource,myeclipse配置完成 -->
<bean id="dataSource"
????class="org.apache.commons.dbcp.BasicDataSource">
????<property name="driverClassName"
???? value="com.microsoft.jdbc.sqlserver.SQLServerDriver">
????</property>
????<property name="url"
???? value="jdbc:microsoft:sqlserver://localhost:1433">
????</property>
????<property name="username" value="sa"></property>
????<property name="password" value="sa"></property>
</bean>
<!-- 定义sessionFactory,myeclipse配置完成 , 这里要加hibernate的数据库表的映射文件***.hbm.xml -->
<bean id="sessionFactory"
????class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
????<property name="dataSource">
???? <ref bean="dataSource" />
????</property>
????<property name="mappingResources">
???? <list>
????????<value>com/student/model/User.hbm.xml</value>
???? </list>
????</property>
????<property name="hibernateProperties">
???? <props>
????????<prop key="hibernate.dialect">
???????? org.hibernate.dialect.SQLServerDialect
????????</prop>
????????<prop key="hibernate.hbm2ddl.auto">update</prop>
????????<prop key="hibernate.jdbc.batch_size">20</prop>
???? </props>
????</property>
</bean>
<!-- 声明事务,作用就是对一系列操作在运行时错误的情况能回滚 -->
<!-- 事务管理 -->
<bean id="transactionManager"
????class="org.springframework.orm.hibernate3.HibernateTransactionManager">
????<property name="sessionFactory" ref="sessionFactory" />
</bean>
????
????????<!-- 事务拦截器 -->
????????<bean id="transactionInterceptor"
????class="org.springframework.transaction.interceptor.TransactionInterceptor">
????<!--????事务拦截器bean需要依赖注入一个事务管理器 -->
????<property name="transactionManager" ref="transactionManager" />
????<property name="transactionAttributes">
???? <!--????下面定义事务传播属性-->
???? <props>
????????<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
????????<prop key="*">PROPAGATION_REQUIRED</prop>
???? </props>
????</property>
</bean>
????????
????????<!-- 业务实例动态代理 -->
<!-- 定义BeanNameAutoProxyCreator-->
<bean
????class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
????<!--????指定对满足哪些bean name的bean自动生成业务代理 -->
????<property name="beanNames">
???? <!--????下面是所有需要自动创建事务代理的bean-->
???? <list>
????????<value>userManager</value>
???? </list>
???? <!--????此处可增加其他需要自动创建事务代理的bean-->
????</property>
????<!--????下面定义BeanNameAutoProxyCreator所需的事务拦截器-->
????<property name="interceptorNames">
???? <list>
????????<!-- 此处可增加其他新的Interceptor -->
????????<value>transactionInterceptor</value>
???? </list>
????</property>
</bean>
????
????
<!-- 定义业务处理bean -->
<bean id="userManager"
????class="com.student.service.UserManagerImpl">
????<property name="userDao" ref="userDao" />
</bean>

<bean id="userDao" class="com.student.dao.UserDaoHibernate">
????<property name="sessionFactory" ref="sessionFactory" />
</bean> ?<!-- 这里一定要加:scope = "prototype",否则action实例不会更新-->

<bean id="loginAction" class="com.student.action.LoginAction" scope = "prototype">
????<property name="userManger" ref="userManager" />
</bean>
????

????
????
</beans>

?以上是一个大致的流程,关键是SSH有相关jar包要导入正确,还有就是上面的三个配置文件比较重要,这两点没有问题,SSH配置就基本OK。

读书人网 >软件架构设计

热点推荐