`
mqzsweet
  • 浏览: 132796 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
社区版块
存档分类
最新评论

提高SPRING2.X与STRUTS2的部份性能

阅读更多

Struts2在与Spring2.X整合后,做服务器验证时,由于Spring2.X的singleton,所以会反复填充FieldError。但这不是我们想要的结果。而网上有些设定单个BEAN的生命周期为request,问题会解决,但会引起性能上的问题。

 

编写网上的方法,写一个拦截器和一些配置来完成问题的解决

 

1、编写拦截器

 

package Interceptor;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

public class ClearFiledErrorInterceptor extends AbstractInterceptor {

	@Override
	public String intercept(ActionInvocation arg0) throws Exception {
		ActionSupport actionsupport = (ActionSupport)arg0.getAction();
		actionsupport.clearErrorsAndMessages();
		String result = arg0.invoke();
		return result;
	}
}
 

 

2、对web.xml进行配置

 

    <listener>
    	<listener-class>org.springframework.web.context.request.RequestContextListener </listener-class>
	</listener> 
 

3、对Struts.xml在package包下加入以下配置

 

		<interceptors>
			<interceptor name="clearFieldError" class="Interceptor.ClearFiledErrorInterceptor"></interceptor>
			<interceptor-stack name="myDefaultInterceptor">
				<interceptor-ref name="clearFieldError"></interceptor-ref>
				<interceptor-ref name="defaultStack"></interceptor-ref>
			</interceptor-stack>
			
			
		</interceptors>
	
		<default-interceptor-ref name="myDefaultInterceptor"></default-interceptor-ref>
		
 

 

4、最后将每个action类的生命周期设置为session,表示为一个session只创建一个action实例,代码片段:

<bean id="Test" class="action.base.TestAction" scope="session"></bean>
 

 

 

 

 

 

分享到:
评论
1 楼 hamming 2009-03-24  
在spring的bean中设置不是单例,就不会填充。
但想验证action中的不同方法呢?

相关推荐

    Java 面试宝典

    Java 基础部分..................................................................................................................... 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么...

    ssh(structs,spring,hibernate)框架中的上传下载

    Struts+Spring+Hibernate实现上传下载    本文将围绕SSH文件上传下载的主题,向您详细讲述如何开发基于SSH的Web程序。SSH各框架的均为当前最新版本:  •Struts 1.2  •Spring 1.2.5  •Hibernate 3.0  本文...

    iuhyiuhkjh908u0980

    本章我们将会开发基于Struts2框架的Hello World.我们的Hello World程序是你开发基于Struts2框架程序的第一步.这里我们会提供循序渐进的教程来开发基于Struts2框架的Hello World程序. 教程包含基本的步骤像创建目录...

    apache-tomcat-7.0.82.rar

    Apache Tomcat是一款基于Java的Web应用程序服务器,用于处理Java ...同时,Apache Tomcat还可以与其他Java Web框架(如Spring、Struts等)和工具(如Eclipse等)进行集成,为Java Web开发提供了一种强大的解决方案。

    网络架构师148讲视频课程

    │ 第17节:X-gen生成所需的DAO部分模板.avi │ 第18节:X-gen所需service、web层模板.avi │ 第19节:X-gen生成相应的Visitor.avi │ 第20节:X-gen生成需要的Action.avi │ 第21节:通过X-gen生成商品模块.avi │ ...

    java基础题 很全面

    2. BS与CS的联系与区别。 24 3. JDO是什么? 25 4. Cookies 25 5. Sessions 25 6. Cookies和Sessions的比较 26 7. 过滤器 26 8. 什么是事件监听器? 27 9. EJB 28 10. CORBA是什么?用途是什么? 29 11. Spring ...

    最新Java面试宝典pdf版

    8、说说struts1与struts2的区别。 121 9、hibernate中的update()和saveOrUpdate()的区别,session的load()和get()的区别。 122 10、简述 Hibernate 和 JDBC 的优缺点? 如何书写一个 one to many 配置文件. 122 11、...

    Java面试笔试资料大全

    8、说说struts1与struts2的区别。 121 9、hibernate中的update()和saveOrUpdate()的区别,session的load()和get()的区别。 122 10、简述 Hibernate 和 JDBC 的优缺点? 如何书写一个 one to many 配置文件. 122 11、...

    JAVA面试宝典2010

    8、说说struts1与struts2的区别。 121 9、hibernate中的update()和saveOrUpdate()的区别,session的load()和get()的区别。 122 10、简述 Hibernate 和 JDBC 的优缺点? 如何书写一个 one to many 配置文件. 122 11、...

    Java面试宝典-经典

    8、说说struts1与struts2的区别。 121 9、hibernate中的update()和saveOrUpdate()的区别,session的load()和get()的区别。 122 10、简述 Hibernate 和 JDBC 的优缺点? 如何书写一个 one to many 配置文件. 122 11、...

    Java面试宝典2012版

    8、说说struts1与struts2的区别。 121 9、hibernate中的update()和saveOrUpdate()的区别,session的load()和get()的区别。 122 10、简述 Hibernate 和 JDBC 的优缺点? 如何书写一个 one to many 配置文件. 122 11...

    Java面试宝典2012新版

    8、说说struts1与struts2的区别。 121 9、hibernate中的update()和saveOrUpdate()的区别,session的load()和get()的区别。 122 10、简述 Hibernate 和 JDBC 的优缺点? 如何书写一个 one to many 配置文件. 122 11、...

    java面试题大全(2012版)

    8、说说struts1与struts2的区别。 121 9、hibernate中的update()和saveOrUpdate()的区别,session的load()和get()的区别。 122 10、简述 Hibernate 和 JDBC 的优缺点? 如何书写一个 one to many 配置文件. 122 11、...

Global site tag (gtag.js) - Google Analytics