码迷,mamicode.com
首页 > 编程语言 > 详细

spring环境搭建以及和struts整合

时间:2015-07-28 18:43:18      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:spring   struts   web.xml   

1、首先导入spring所需要的包

技术分享


2、web.xml中添加spring的监听器以及spring配置文件所在位置

<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/spring-servlet.xml</param-value>
	</context-param>
 

3、编写业务逻辑组件,建立FirstService接口和实现类FirstServiceImpl类

public interface FirstService {
	boolean valid(String username);
}

public class FirstServiceImpl implements FirstService {
	public boolean valid(String username) {
		if (username.equals("kevin")) {
			System.out.println("spring");
			return true;
		} else {
			return false;
		}
	}
}

LoginAction中做一点小改动,用业务逻辑组件来进行判断,同时引入业务逻辑接口,在后面的spring配置文件中依赖注入

public class LoginAction extends ExampleSupport {
	private FirstService fs;
	
	public void setFs(FirstService fs) {
		this.fs = fs;
	}

	@Override
	public String execute() throws Exception {
		<del>if ("kevin".equals(getUsername())) {</del>
		if(fs.valid(getUsername())){


4、spring配置文件命名为spring-servlet.xml,放在web-inf下,(这里我命名为其他名字一直报错,web.xml里位置、名字也是对应的,但还是报错,也不清楚什么原因,只好命名回spring-servlet.xml)

<?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:util="http://www.springframework.org/schema/util"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd">

	<bean id="firstService" class="com.demo.service.FirstServiceImpl" />
	<bean id="loginAction" class="com.demo.action.LoginAction"
		scope="prototype">
		<property name="fs" ref="firstService" />
	</bean>



</beans>
配置文件里添加了业务逻辑组件的bean:firstService以及action的bean,将action的实例化交给spring的IOC容器来管理,并在action的bean中依赖注入业务逻辑组件

注意:这里loginAction的bean的scope为prototype,保证每次请求都会创建一个新的action来处理,避免了action的线程安全问题,因为spring默认scope是单例模式,这样只会创建一个action,而每次访问都是访问同一个action,数据不安全,struts2要求的是每次访问都是不同的action实例


5、最后还要修改一下struts配置文件

先在配置文件顶部加上

<!-- 将action托管给spring -->	
	<constant name="struts.objectFactory" value="spring" />
然后把loginAction的配置改一下,class指向spring配置文件里的bean的ID

<action name="Login" class="loginAction"

6、测试

页面上输入用户名密码,验证正确后进入欢迎页面,并且后台也输出了spring字样,说明spring环境搭建成功,同时和struts2也整合成功

技术分享
技术分享

技术分享


版权声明:本文为博主原创文章,未经博主允许不得转载。

spring环境搭建以及和struts整合

标签:spring   struts   web.xml   

原文地址:http://blog.csdn.net/kevinxxw/article/details/47107349

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!