【SSH】Spring与Struts整合

版权声明:转载请注明出处:http://blog.csdn.net/u010143291 https://blog.csdn.net/u010143291/article/details/52187527
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>


8,测试,部署,启动服务器,浏览器地址栏中输入:http://localhost:8080/spring_struts/test.action

页面返回如下结果则说明整合成功:spring与struts整合成功!!!

同时控制台输出:UserAction.execute().....  UserService.save()......





阅读更多

没有更多推荐了,返回首页