struts2与spring的整合
来源:互联网 发布:摩拜魔方人工智能平台 编辑:程序博客网 时间:2024/04/28 18:29
Spring与Struts框架整合的关键点是让struts框架action对象的创建,交给spring完成。
1、目录结构:
2、引入所需jar文件
1)引入struts .jar相关文件2)spring-core 相关jar文件3)spring-web 支持jar包 spring-web-3.2.5.RELEASE.jar (spring中) struts2-spring-plugin-2.3.4.1.jar (struts中,让spring管理struts2必须要这个jar包)
3、Java类
UserAction.java
public class UserAction extends ActionSupport { // springIOC容器注入 private UserService userService; public void setUserService(UserService userService) { this.userService = userService; } public String execute() { userService.save(); return SUCCESS; }}
UserService.java
public class UserService { //IOC容器注入 private UserDao userDao; public void setUserDao(UserDao userDao) { this.userDao = userDao; } public void save() { userDao.save(); }}
UserDao.ava
public class UserDao { //仅做演示,此处没有操作数据库, public void save() { System.out.println("DB:保存用户"); }}
4、配置XML
web.xml 【核心过滤器: 引入struts功能,初始化spring的ioc容器】
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <!-- 1. spring 配置 初始化spring容器--> <context-param> <!--配置文件路径,默认在WEB-INF下的ApplicationContext.xml可以不用配置此处--> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/classes/bean-*.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 2. struts配置 --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <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 【struts路径与action映射配置】
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"><struts> <package name="user" extends="struts-default"> <!--由于struts2交由spring管理,此处的class需要填写spring中Action的bean的id或name名称,不需要填写类的全路径( struts2-spring-plugin-2.3.4.1.jar负责) --> <action name="user" class="userAction" method="execute"> <result name="success">/index.jsp</result> </action> </package></struts>
bean-action.xml 【spring ioc容器配置】
<?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:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" 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.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> <!-- 指定action多例,默认为单例 --> <bean id="userAction" class="cn.ss.test.action.UserAction" scope="prototype"> <property name="userService" ref="userService"></property> </bean></beans>
bean-service.xml
<bean id="userService" class="cn.ss.test.service.UserService"> <property name="userDao" ref="userDao"></property> </bean>
bean-dao.xml
<bean id="userDao" class="cn.ss.test.dao.UserDao" scope="singleton" lazy-init="false"></bean>
0 0
- Struts2与Spring的整合
- Struts2与Spring的整合
- struts2 与spring 的整合
- SPRING与STRUTS2的整合
- spring 与struts2 的整合
- Struts2与Spring的整合
- struts2与spring的整合
- spring与struts2的整合
- struts2与spring的整合
- struts2与struts2-spring-plugin的整合
- Struts2 与 Spring 整合
- Struts2与Spring整合
- Struts2与Spring整合
- spring与struts2整合
- spring与struts2整合
- struts2与spring整合
- Struts2与Spring整合
- Spring与Struts2整合
- 移动端H5视频页面坑之总结
- 深入理解java String
- 支付宝小程序科普(首发)
- Android Text适应宽度截取文字并显示“...”
- 自定义TextView文本收缩,展开,例如:了解更多
- struts2与spring的整合
- eclipse 设置java虚拟机内存
- 8VC Venture Cup 2017 - Elimination Round D. PolandBall and Polygon 树状数组+几何
- IntelliJ IDEA 的小技巧
- 感想篇:3)传道授业的要点
- akka学习教程(九) STM软件事务内存
- sql数据增删改查的封装
- COOKIE 的跨域共享
- perl: warning: Setting locale failed.引发的问题