`
maybe723
  • 浏览: 46007 次
  • 来自: ...
最近访客 更多访客>>
社区版块
存档分类
最新评论

利用spring拦截struts(1.x)中的action

阅读更多

  在struts-config.xml中配置:

 <controller
  processorClass="org.springframework.web.struts.DelegatingRequestProcessor">
 </controller>

 新建AuthMethodInteceptor:

import java.util.Date;

import javax.servlet.http.HttpServletRequest;

import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;
import org.apache.struts.action.ActionMapping;

import entity.Users;

public class AuthMethodInterceptor implements MethodInterceptor {

	public Object invoke(MethodInvocation invocation) throws Throwable {
		Object[] object=invocation.getArguments();
		try
		{
			HttpServletRequest request = (HttpServletRequest) invocation.getArguments()[2];
			ActionMapping mapping=(ActionMapping) invocation.getArguments()[0];
			Users user = (Users) (request.getSession().getAttribute("user"));
			
			if(user==null)
			{
			     return mapping.findForward("login");
		
			}
			Object returnObject = invocation.proceed();
		                return returnObject;

		}
		catch(Exception e)
		{
			
		}
		
		return object;
	}
}

 

   spring配置文件中:

 

 

<bean id="authInterceptor" class="utils.AuthMethodInterceptor">

	</bean>


	<bean
		class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
		<property name="interceptorNames">
			<list>
				<value>authInterceptor</value>
			</list>
		</property>
		<property name="beanNames">
			<list>
				<value>/*insert</value>

				
			</list>
		</property>

	</bean>

 

分享到:
评论
1 楼 nashwill 2011-10-30  
测试了下,好像用不了,什么原因?

相关推荐

    Struts1.x_action

    Action类通常继承自`org.apache.struts.action.Action`基类,并覆盖其execute方法。执行execute方法时,Action会根据请求参数和业务逻辑来处理请求,并返回一个表示结果的ActionForward对象,这个对象指示Struts框架...

    org.springframework.web.struts-3.1.0.M2.jar

    在实际项目中,我们通常会创建一个Spring配置文件,如`spring-struts.xml`,在这个文件中声明需要管理的Action类,以及相关的拦截器和事务管理策略。同时,Struts的配置文件(struts-config.xml或struts2的struts....

    struts1.x apps 所有最新的Struts1.x项目应用

    5. **异常处理和验证**:学习如何利用Struts1.x的验证框架和异常处理机制来增强应用的健壮性。 6. **最佳实践**:学习社区推荐的最佳实践,避免常见的设计和安全陷阱。 总之,Struts1.x作为Java Web开发中的经典...

    Struts2.X+Hibernate3.X+Spring2.5 整合

    标题"Struts2.X+Hibernate3.X+Spring2.5 整合"指的是将这三个框架的特定版本(Struts2.X,Hibernate3.X,Spring2.5)集成到同一个项目中,实现高效的企业级应用开发。这种整合能够充分利用各个框架的优势,使开发者...

    struts1.x 常用知识详解

    2. **Action类**:在Struts1.x中,控制器由Action类实现。每个Action对应一个用户请求,处理完成后返回一个结果转发到特定的视图。 3. **配置文件**:`struts-config.xml`是Struts1.x的核心配置文件,用于定义...

    struts1.x和struts2.0电子书

    1. **拦截器(Interceptor)**: Struts2引入了拦截器,这是一个强大的功能,允许开发者插入自定义的处理逻辑,比如日志、事务管理、权限检查等,这些操作可以在Action执行前后自动进行。 2. **OGNL(Object-Graph ...

    Spring3-MVC与Struts2.x比较.pdf

    Spring MVC 和 Struts2.x 是两个广泛使用的Java Web开发框架,它们都在模型-视图-控制器(MVC)架构中提供了强大的支持。Spring MVC 以其灵活性、高效性和可扩展性在近年来逐渐受到开发者青睐,尤其是在Spring 3.0...

    Struts2.x整合工具开发包,需要的朋友下载过来学习

    在Struts2.x中,核心组件包括Action类、配置文件(struts.xml)、拦截器(Interceptor)、结果类型(Result)和插件架构。Action类是业务逻辑的载体,负责处理用户的请求并调用相应的服务层方法。配置文件用于定义...

    struts拦截器jar 包

    标题中的"struts拦截器jar包"指的是用于增强Struts 1.x框架功能的特定库,它们是`saif-0.1.jar`和`saif-spring.jar`。这两个jar包是由开发者或社区成员Saif创建的,可能是为了集成Spring框架或者提供特定的拦截器...

    spring&struts2.rar

    1. 依赖注入:Spring容器负责初始化Struts2的Action,Action中的依赖可以通过Spring的IoC进行注入。 2. AOP整合:Spring的AOP可以用于Struts2的拦截器,实现事务管理、性能监控等功能。 3. Action管理:Spring可以...

    Spring3-MVC与Struts2.x比较.docx

    Spring MVC 和 Struts2.x 是两个广泛使用的Java Web开发中的MVC框架,它们各自具有不同的特点和优势。这里我们将深入探讨这两个框架的核心组件、工作原理以及它们之间的对比。 首先,让我们了解一下Spring MVC。...

    SSH(Struts2.1+Spring2.X+Hibernate3.X)整合,新手必备

    1. **Struts2** 配置:包括struts2的核心配置文件struts.xml,用于定义Action、结果类型、拦截器等。此外,还需要配置struts.properties以设置Struts2的基础属性。 2. **Spring** 配置:主要有applicationContext....

    Spring3.x_Struts2.x_Hibernate3.x整合

    2. **配置Struts2**:在struts.xml中,配置Action类和对应的Result,同时通过Spring插件(struts2-spring-plugin)将Action类交由Spring管理。 3. **配置Hibernate**:设置hibernate.cfg.xml文件,配置数据库连接...

    Struts2.X 及于spring集成的jar

    5. **整合Struts2拦截器**: 集成后,你可以利用Spring的强大功能,如AOP,通过自定义拦截器来增强Struts2的功能。 6. **测试与运行**: 配置完成后,通过HTTP请求测试应用程序,验证Struts2是否能够正确地从Spring...

    【struts1.x-2.0】-jar包大全

    Struts是Java Web开发中的一个流行框架,分为Struts 1.x和Struts 2.0两个主要版本。这两个版本虽然都旨在简化MVC(模型-视图-控制器)架构的实现,但在设计和功能上有着显著的区别。下面将详细介绍这两个版本的核心...

    Spring与Struts 2整合.zip

    整合Spring和Struts 2的主要目的是将Spring的依赖注入和管理能力引入到Struts 2的Action中,以及利用Spring的AOP进行事务管理。整合步骤通常包括以下几个部分: 1. **添加依赖**:在项目中引入Spring和Struts 2的库...

    Struts2.5+ Spring5 + Hibernater5.2整合后项目(包含jar包和配置文件)

    1. **配置Struts2**:设置struts2-core.jar等必要库,编写struts.xml配置文件,定义Action、结果类型和拦截器栈。 2. **配置Spring**:引入spring-context、spring-aop、spring-webmvc等库,配置spring.xml,定义...

    struts2.x hibernate spring 整合

    Struts2、Hibernate和Spring是Java开发中三大主流框架,它们各自在Web应用程序的不同层面上发挥作用,共同构建了所谓的"S2SH"(Struts2、Spring、Hibernate)集成架构。Struts2作为MVC(Model-View-Controller)框架...

    基于eclipse的struts2.x+hibernate3.x+spring3.x整合文档及实例源码

    综上所述,"基于eclipse的struts2.x+hibernate3.x+spring3.x整合文档及实例源码"提供了一个完整的SSH整合教程,通过下载的源码和文档,开发者可以学习并实践SSH的集成,了解每个框架在实际项目中的作用和它们协同...

    ssh(spring+strut1.x+hibernate)整合完整教程 附带包

    SSH整合是Java Web开发中的一个经典组合,由Spring、Struts1.x和Hibernate三个框架构成。这个整合提供了全面的企业级应用解决方案,涵盖了控制层、业务层和服务数据持久化层的管理。下面将详细讲解SSH整合的主要知识...

Global site tag (gtag.js) - Google Analytics