自定义拦截器
要自定义拦截器需要实现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的非侵入式设计使得开发者无需在Action类中硬编码Servlet API,而是通过拦截器(Interceptor)实现了AOP(面向切面编程),如权限检查等功能。此外,Struts2提供了内置的类型转换器,方便处理表单数据的自动...
拦截器是Struts2的一大特色,它允许在Action执行前后插入自定义的处理逻辑。常见的拦截器有日志拦截器、权限检查拦截器、异常处理拦截器等。拦截器可以组合使用,形成拦截器栈,增强了框架的灵活性。 6. **Struts2...
### 传智播客Struts2全程学习笔记 #### Struts2的优点 1. **无侵入式设计**:与Struts1相比,Struts2的设计更为先进,它不依赖于Servlet API或Struts API,这使得Struts2更加灵活且易于集成到其他环境中。在代码...
9. **Struts 2**:虽然资源名为"传智struts从入门到精通",但通常会涉及到Struts 1和Struts 2的对比,Struts 2在很多方面进行了改进,如使用更现代的OGNL表达式语言,提供更灵活的拦截器机制等。 10. **最佳实践**...
4. **Struts2的拦截器机制**:拦截器在Struts2中的重要性,如登录检查、日志记录、性能监控等功能的实现。 5. **OGNL(Object-Graph Navigation Language)**:解释OGNL表达式的使用,它是Struts2中用于数据绑定和...
### 传智播客Struts2框架2016版视频教程笔记 #### 概述 Struts2是一个用于构建企业级Java ...掌握了这些内容后,可以更深入地学习Struts2的高级特性,如拦截器、自定义插件等,从而构建出更加复杂和高性能的应用系统。
5. **拦截器**:拦截器是Struts2的一大特色,它允许开发者在Action调用前后插入自定义逻辑,比如日志记录、权限验证、数据校验等。在day01的课程中,你可能会学习如何定义和使用拦截器,以及如何在配置文件中配置...
标题中的“传智168期JavaEE struts2杜宏 day 29~day31笔记”暗示了文档是一系列关于JavaEE技术栈中的Struts2框架的课程笔记,由杜宏教授,并且特别强调了是从29天到31天的学习内容。JavaEE(Java Platform, ...
2. **配置文件** - struts.xml是Struts2应用的核心配置文件,定义了Action的映射、结果页面和拦截器等。在这里,你需要配置Action的名称、对应的类以及结果页面。 3. **JSP页面** - 视图层由JSP页面负责,Struts2...
Struts2的核心是拦截器机制,它通过配置Action和Interceptor实现灵活的控制流程。Struts2还支持OGNL表达式语言,使得视图与模型数据之间的绑定更为方便。 **Hibernate框架** Hibernate是Java领域中广泛使用的ORM...
4. **拦截器(Interceptors)**:拦截器是Struts2的一大特色,它们可以实现预处理和后处理,如登录检查、日志记录、性能监控等。常见的拦截器有params(处理请求参数),validation(进行表单验证),exception...
【标题】"传智播客ssh+ssm五大框架笔记.zip"所涵盖的是Java Web开发中的两种主流框架组合——Spring、Struts2和Hibernate(SSH)以及Spring MVC和MyBatis(SSM)。这些框架在现代企业级应用开发中扮演着重要角色,...
在传智播客提供的“Springmvc+Mybatis由浅入深全套视频教程”中,关于SpringMVC的笔记详细地介绍了这一框架的架构、核心组件、工作原理以及入门程序的环境配置。以下内容基于视频教程中的笔记进行详细知识点的总结。...
4. **拦截器**:拦截器是Structs2的一大亮点,它允许在Action执行前后插入自定义逻辑。常见的拦截器有params(处理请求参数),validation(执行字段验证),i18n(处理国际化)等。 5. **OGNL(Object-Graph ...
- **Struts2拦截器**:在`DAY13【Struts2拦截器、表单标签、令牌】.docx`中,你将学习如何使用拦截器来增强应用程序的功能,比如进行权限验证、日志记录等。 - **表单标签**:Struts2提供了丰富的标签库,简化了...
"struts2权威指南.pdf"很可能是一部全面的Struts2参考书籍,包含框架的配置、拦截器、动作类、结果类型、异常处理等多个方面的内容。"传智播客_spring__黎活明(很经典).pdf"虽然不是直接关于Struts2,但Spring框架与...
- Struts2的拦截器机制强大,但配置相对繁琐。 - SpringMVC支持更多视图技术,如Thymeleaf、Velocity等,而Struts2主要使用JSP。 - SpringMVC有更好的异常处理机制和AOP支持。 通过这些基础知识的学习,你可以...