ssh 集成

ssh三大框架集成问题

在ssh集成后,当我们不使用spring提供的数据库访问,而要自己使用opensessionview(即使用hibernate的session和transaction)模式继续访问数据库时,需使用如下代码

在web.xml中加入

<filter>

<filter-name>opensession</filter-name>

<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>opensession</filter-name>

<url-pattern>*.do</url-pattern>

</filter-mapping>

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>/WEB-INF/spring.xml</param-value>

</context-param>

<listener>

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

</listener>

然后在struts.xml

</action-mappings>

<plug-inclassname="org.springframework.web.struts.ContextLoaderPlugIn">

<set-propertyproperty="contextConfigLocation"value="/WEB-INF/applicationContext.xml"/>

</plug-in>

<message-resourcesparameter="com.shny.struts.ApplicationResources"/>

</struts-config>

注解

ContextLoaderListener加载的spring配置文件只能加载hibernate的sessionfactory即代码如下

<?xmlversion="1.0"encoding="UTF-8"?>

<beans

xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:p="http://www.springframework.org/schema/p"

xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

<beanid="sessionFactory"

class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

<propertyname="configLocation"

value="classpath:hibernate.cfg.xml">

</property>

</bean>

</beans>

其他配置信息需使用struts插件加载写在其他spring配置文件中

相关推荐