`

SSH整合示例

阅读更多

一个简单的登录的例子,采用SSH进行整合。由于登录的例子挺简单,DAO层,Service层,Struts Action等文件就没有在此详细写出来,下面列出了整合时一些关键的配置:

Spring配置:
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"
>

<!-- 配置数据源 -->
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.mysql.jdbc.Driver">
</property>
<property name="url" value="jdbc:mysql://localhost:3306/java"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>
<!-- 配置Hibernate的Session工厂,注入数据源、映射文件 -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/xxh/vos/User.hbm.xml</value></list>
</property>
</bean>

<!-- 事务配置,采用AOP配置 -->
<tx:advice id="myAdvice">
<tx:attributes>
<tx:method name="login" read-only="true" />
</tx:attributes>
</tx:advice>

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>


<aop:config>
<aop:pointcut id="daoOper" expression="execution(* com.xxh.daos.*.*(..))" />
<aop:advisor advice-ref="myAdvice" pointcut-ref="daoOper"/>

</aop:config>

<!-- DAO配置 -->
<bean id="userDao" class="com.xxh.daos.UserDao">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>

<!-- Service配置 -->
<bean id="userServ" class="com.xxh.serv.UserServ">
<property name="userDao">
<ref bean="userDao" />
</property>
</bean>

<!-- Struts Action配置,由Spring管理Action -->
<bean name="/login" class="com.xxh.actions.LoginAction" scope="prototype" >
<property name="userServ">
<ref bean="userServ"/>
</property>
</bean>
</beans>

Struts Action配置struts-config.xml:
<action-mappings >
<action path="/login" type="org.springframework.web.struts.DelegatingActionProxy">
<forward name="success" path="/success.jsp" />
<forward name="fail" path="/index.jsp" />
</action>
</action-mappings>

<!-- 集成Spring插件 -->
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml"/>
</plug-in>



Web.xml文件的配置:
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics