SSHSpring与Struts整合
Posted sihai_1991
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSHSpring与Struts整合相关的知识,希望对你有一定的参考价值。
Spring与Struts2整合目的:由Spring的IOC容器管理Action实例,给Action实例注入依赖类。
步骤:
1,分别添加Spring与Struts2的jar包与配置文件(基于struts2与spring4.3版本)。
2,添加struts2-spring-plugin-2.3.1.1.jar
3,在web.xml中配置Spring的监听器<!-- 配置Spring的用于初始化IOC容器的监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:beans*.xml</param-value>
</context-param>
<!-- 配置struts2核心过滤器 -->
<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>
4,新建beans.xml,struts.xml:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-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 -->
<context:component-scan base-package="cn.lsh.ssh"/>
</beans>
struts.xml
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<!-- 设为开发模式 -->
<constant name="struts.devMode" value="true"/>
<package name="UserAction" namespace="/" extends="struts-default">
<action name="test" class="cn.lsh.ssh.controller.UserAction" method="execute">
<result name="success" type="dispatcher">/test.jsp</result>
</action>
</package>
</struts>
5,新建UserService类:
package cn.lsh.ssh.service;
import org.springframework.stereotype.Service;
@Service//声明此类为bean对象(默认名称为类的全名)
public class UserService
public void save()
System.out.println("UserService.save()......");
6,新建UserAction继承ActionSupport类:
package cn.lsh.ssh.controller;
import javax.annotation.Resource;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import cn.lsh.ssh.service.UserService;
import com.opensymphony.xwork2.ActionSupport;
@Controller
@Scope("prototype")//声明Action对象为多例
public class UserAction extends ActionSupport
@Resource//注入容器中
private UserService userService;
public String execute()
System.out.println("UserAction.execute().....");
userService.save();
return "success";
7,WebRoot目录下新建success.jsp(整合成功返回页面)
<body>
<font color="red">spring与struts整合成功!!!</font>
</body>
页面返回如下结果则说明整合成功:spring与struts整合成功!!!
同时控制台输出:UserAction.execute()..... UserService.save()......
以上是关于SSHSpring与Struts整合的主要内容,如果未能解决你的问题,请参考以下文章