Struts2 2.5+ spring-framework-4.3.2+hibernate-5.2.1+jdbc集成
1.环境的搭建(ssh+jdbc)
导入相关的依赖jar包
2.创建beans.xml 并进行相应的配置
<!-- 开启注解扫描功能 -->
<context:component-scan base-package="com.cheng"/>
<!-- 引入properties文件 -->
<context:property-placeholder location="classPath:hibernate.properties"/>
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName" value="${driverClassName}"/>
<property name="url" value="${url}"/>
<property name="username" value="${user}"/>
<property name="password" value="${password}"/>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<!-- sessionFactory注解方式 --> <property name="packagesToScan" value="com.cheng.entity"/> <property name="annotatedPackages" value="com.cheng..*"/>
<property name="hibernateProperties">
<value>
hibernate.dialect=${hibernate.dialect}
hibernate.show_sql=${hibernate.show_sql}
hibernate.hbm2ddl.auto=${hibernate.hbm2ddl.auto}
</value>
</property>
</bean>
<!-- 配置sessionFactory事务管理 -->
<bean id="sessionFactoryManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!-- 配置jdbc事务管理 -->
<bean id="jdbcManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<!-- 注册sessionFactoryManager管理 -->
<tx:annotation-driven transaction-manager="sessionFactoryManager"/>
<!-- 注册jdbcManager管理 -->
<tx:annotation-driven transaction-manager="jdbcManager"/>
3.配置web.xml
<!--web容器将beans.xml加载进context-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classPath:beans.xml</param-value>
</context-param>
<!-- 必须添加该listener 其会创建ApplicationContext对象 相当于在 ApplicationContext ca=new ClassPathXmlApplicationContext("beans.xml"); 并实例化spring容器的所有bean -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!--
必须配置StrutsPrepareAndExecuteFilter struts靠其启动
-->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4.创建struts.xml 并进行配置
<struts>
<!-- 将Action对象交给Spring 管理-->
<constant name="struts.objectFactory.spring.autoWire" value="spring"/>
<!--浏览器不缓存 -->
<constant name="struts.serve.static.browserCache" value="false"></constant>
<!-- 开启Struts动态回调 -->
<constant name="struts.enable.DynamicMethodInvocation" value="true"/>
<!-- 打开开发模式 便于调试错误 -->
<constant name="struts.devMode" value="true"/>
//package标签下的属性strict-method-invocation="false"表示开启struts 此包下Action 的方法都可使用通配符的方式使用
// 如果希望Action类中的某些方式使用通配符的方法可以在action标签下添加子标签<allowed-methods>方法名1,方法2,方法名3..</allowed-methods>
<package name="cheng" namespace="/person" extends="struts-default" strict-method-invocation="false">
<action name="person_*" class="personAction" method="{1}">
<result name="save">/message.jsp?message=${message}</result>
<result name="delete">/message.jsp?message=${message}</result>
</action>
</package>
</struts>
转载请注明原文地址: https://ju.6miu.com/read-1312639.html