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配置文件中