`
jzkangta
  • 浏览: 160469 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

传智Struts2笔记(11)自定义拦截器

阅读更多
自定义拦截器

要自定义拦截器需要实现com.opensymphony.xwork2.interceptor.Interceptor接口:
public class PermissionInterceptor implements Interceptor {
   private static final long serialVersionUID = -5178310397732210602L;
   public void destroy() {
   }
   public void init() {
   }
   public String intercept(ActionInvocation invocation) throws Exception {
 	System.out.println("进入拦截器");	
	if(session里存在用户){
		String result = invocation.invoke();
	}else{
		return “logon”;
	}
	//System.out.println("返回值:"+ result);
	//return result;
    }
}


<package name="itcast" namespace="/test" extends="struts-default">
	<interceptors>
 	         <interceptor name=“permission" class="cn.itcast.aop.PermissionInterceptor" />
 	         <interceptor-stack name="permissionStack">
 		 <interceptor-ref name="defaultStack" />
 		<interceptor-ref name=" permission " />
 	          </interceptor-stack>
 	</interceptors>
	<action name="helloworld_*" class="cn.itcast.action.HelloWorldAction" method="{1}">
		<result name="success">/WEB-INF/page/hello.jsp</result>
		<interceptor-ref name="permissionStack"/>
	</action>
</package>

因为struts2中如文件上传,数据验证,封装请求参数到action等功能都是由系统默认的defaultStack中的拦截器实现的,所以我们定义的拦截器需要引用系统默认的defaultStack,这样应用才可以使用struts2框架提供的众多功能。
如果希望包下的所有action都使用自定义的拦截器,可以通过<default-interceptor-ref name=“permissionStack”/>把拦截器定义为默认拦截器。注意:每个包只能指定一个默认拦截器。另外,一旦我们为该包中的某个action显式指定了某个拦截器,则默认拦截器不会起作用。
分享到:
评论

相关推荐

    黑马程序员Struts2笔记

    拦截器是Struts2的一大特色,它允许在Action执行前后插入自定义的处理逻辑。常见的拦截器有日志拦截器、权限检查拦截器、异常处理拦截器等。拦截器可以组合使用,形成拦截器栈,增强了框架的灵活性。 6. **Struts2...

    传智播客struts2全程学习笔记

    ### 传智播客Struts2全程学习笔记 #### Struts2的优点 1. **无侵入式设计**:与Struts1相比,Struts2的设计更为先进,它不依赖于Servlet API或Struts API,这使得Struts2更加灵活且易于集成到其他环境中。在代码...

    传智struts从入门到精通视频+笔记+上课代码

    9. **Struts 2**:虽然资源名为"传智struts从入门到精通",但通常会涉及到Struts 1和Struts 2的对比,Struts 2在很多方面进行了改进,如使用更现代的OGNL表达式语言,提供更灵活的拦截器机制等。 10. **最佳实践**...

    传智播客Struts2学习资料

    4. **Struts2的拦截器机制**:拦截器在Struts2中的重要性,如登录检查、日志记录、性能监控等功能的实现。 5. **OGNL(Object-Graph Navigation Language)**:解释OGNL表达式的使用,它是Struts2中用于数据绑定和...

    传智播客struts2框架2016版视频教程笔记

    ### 传智播客Struts2框架2016版视频教程笔记 #### 概述 Struts2是一个用于构建企业级Java ...掌握了这些内容后,可以更深入地学习Struts2的高级特性,如拦截器、自定义插件等,从而构建出更加复杂和高性能的应用系统。

    struts2框架2016版资料day01

    5. **拦截器**:拦截器是Struts2的一大特色,它允许开发者在Action调用前后插入自定义逻辑,比如日志记录、权限验证、数据校验等。在day01的课程中,你可能会学习如何定义和使用拦截器,以及如何在配置文件中配置...

    传智168期JavaEE struts2杜宏 day 29~day31笔记.pdf

    标题中的“传智168期JavaEE struts2杜宏 day 29~day31笔记”暗示了文档是一系列关于JavaEE技术栈中的Struts2框架的课程笔记,由杜宏教授,并且特别强调了是从29天到31天的学习内容。JavaEE(Java Platform, ...

    自学传智博客struts2-黎活明-源码-第02讲_02第一个struts2应用开发_DemoStruts2.rar

    2. **配置文件** - struts.xml是Struts2应用的核心配置文件,定义了Action的映射、结果页面和拦截器等。在这里,你需要配置Action的名称、对应的类以及结果页面。 3. **JSP页面** - 视图层由JSP页面负责,Struts2...

    传智播客ssh+ssm五大框架笔记

    Struts2的核心是拦截器机制,它通过配置Action和Interceptor实现灵活的控制流程。Struts2还支持OGNL表达式语言,使得视图与模型数据之间的绑定更为方便。 **Hibernate框架** Hibernate是Java领域中广泛使用的ORM...

    于洋struts2

    4. **拦截器(Interceptors)**:拦截器是Struts2的一大特色,它们可以实现预处理和后处理,如登录检查、日志记录、性能监控等。常见的拦截器有params(处理请求参数),validation(进行表单验证),exception...

    传智播客ssh+ssm五大框架笔记.zip

    【标题】"传智播客ssh+ssm五大框架笔记.zip"所涵盖的是Java Web开发中的两种主流框架组合——Spring、Struts2和Hibernate(SSH)以及Spring MVC和MyBatis(SSM)。这些框架在现代企业级应用开发中扮演着重要角色,...

    传智播客_Springmvc+Mybatis由浅入深全套视频教程-SpringMVC笔记(两天)

    在传智播客提供的“Springmvc+Mybatis由浅入深全套视频教程”中,关于SpringMVC的笔记详细地介绍了这一框架的架构、核心组件、工作原理以及入门程序的环境配置。以下内容基于视频教程中的笔记进行详细知识点的总结。...

    Structs2框架2016学习资料

    4. **拦截器**:拦截器是Structs2的一大亮点,它允许在Action执行前后插入自定义逻辑。常见的拦截器有params(处理请求参数),validation(执行字段验证),i18n(处理国际化)等。 5. **OGNL(Object-Graph ...

    Java高级应用和Struts的入门笔记

    - **Struts2拦截器**:在`DAY13【Struts2拦截器、表单标签、令牌】.docx`中,你将学习如何使用拦截器来增强应用程序的功能,比如进行权限验证、日志记录等。 - **表单标签**:Struts2提供了丰富的标签库,简化了...

    javaIO struts2的一些相关资源

    "struts2权威指南.pdf"很可能是一部全面的Struts2参考书籍,包含框架的配置、拦截器、动作类、结果类型、异常处理等多个方面的内容。"传智播客_spring__黎活明(很经典).pdf"虽然不是直接关于Struts2,但Spring框架与...

    springmvc第一天课堂笔记

    - Struts2的拦截器机制强大,但配置相对繁琐。 - SpringMVC支持更多视图技术,如Thymeleaf、Velocity等,而Struts2主要使用JSP。 - SpringMVC有更好的异常处理机制和AOP支持。 通过这些基础知识的学习,你可以...

Global site tag (gtag.js) - Google Analytics