- 多个拦截器可以组成一个拦截器堆栈。每个拦截器命名为一。
- Registering Interceptors
<interceptors>
<interceptor name="security" class="com.company.security.SecurityInterceptor"/>
<interceptor-stack name="secureStack">
<interceptor-ref name="security"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
拦截器和拦截器堆栈可以混合使用。但按顺序执行。也可以设一个默认的如:
|
<default-interceptor-ref name="secureStack"/>
|
A local Interceptor Stack
<action name="VelocityCounter" class="org.apache.struts2.example.counter.SimpleCounter">
<result name="success">...</result>
<interceptor-ref name="defaultComponentStack"/>
</action>
<package name="actionName" extends="struts-default">
<interceptors>
<interceptor name="userAccessInterceptor"
class="tool.UserAccessInterceptor">
</interceptor>
<interceptor-stack name="myInter">
<interceptor-ref name="userAccessInterceptor"></interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="myInter"></default-interceptor-ref>
放到一个单独的文件,单独的包中,用的时候先导入文件在继承包名就可以了。
//Source file: F:/java/Oil/src/com/xj/tools/UserAccessInterceptor.java
package tool;
import java.util.Map;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
public class UserAccessInterceptor extends AbstractInterceptor {
@Override
public void destroy() {
// TODO Auto-generated method stub
super.destroy();
}
@Override
public void init() {
// TODO Auto-generated method stub
super.init();
}
@Override
public String intercept(ActionInvocation arg0) throws Exception {
// TODO Auto-generated method stub
Map session = arg0.getInvocationContext().getSession();
String username = (String) session.get("username");
if ((username == null || username == ""))
return "input";
else {
return arg0.invoke();
}
}
}
分享到:
相关推荐
`struts.xml`文件是Struts2框架的核心配置文件,它用于定义应用程序的各种配置信息,包括但不限于包(Package)、拦截器(Interceptors)、默认拦截器(Default Interceptor)、全局结果(Global Results)以及...
5. 创建`struts.xml`配置文件,这是Struts2的核心配置文件,用于定义Action、结果页面和拦截器等。例如: ```xml <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" ...
- **请求处理机制**:Struts1使用ActionForm作为请求的载体,而Struts2则采用拦截器机制。 - **配置方式**:Struts1使用XML进行配置,Struts2支持多种配置方式,如注解、XML等。 - **灵活性**:Struts2更为灵活,...
Action是处理用户请求的对象,Result是处理Action返回结果的方式,Interceptor则是拦截器,用于在Action执行前后添加额外的功能,如日志记录、权限验证等。此外,此包还包含配置文件解析、依赖注入(DI)和模型-视图...
Struts2的配置文件通常为`struts.xml`,在这里定义Action、结果类型、拦截器栈等。通过配置文件,我们可以指定Action的映射路径、输入输出结果以及使用的拦截器。 5. **结果类型(Result)** 结果类型定义了...
4. **拦截器(Interceptors)**:拦截器是Struts2的一个强大特性,允许开发者在动作执行前后插入自定义逻辑,如日志记录、权限验证等。 5. **插件支持**:Struts2具有良好的扩展性,通过插件可以轻松添加新的功能,如...
6. **拦截器配置(Interceptor)** 拦截器是在动作执行前后插入的逻辑处理单元,可以用于日志、权限验证等功能。例如: ```xml <interceptor name="myInterceptor" class=...
在`src`目录下,创建`struts.xml`文件,这是Struts2的核心配置文件,用于定义Action、结果页面和拦截器等。通常,你会从一个基础的模板开始: ```xml <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD...
Struts2拦截器是一种AOP(面向切面编程)的实现,它可以在不修改Action代码的情况下,通过定义拦截器并在配置文件中设置拦截器链,来动态地添加或删除功能。拦截器是可插拔的,可以在请求到达Action之前或之后执行...
其中,拦截器(Interceptor)是Struts2中的一个关键特性,用于扩展框架的功能,实现诸如事务管理、权限控制、输入验证等功能。 #### Struts2的处理流程 1. **客户端请求**: 当客户端发起HTTP请求时,请求首先到达...
Struts2 工作原理及拦截器和过滤器 Struts2 框架的工作原理可以分为以下几个步骤: 1. 客户端发出一个指向 Servlet 容器的请求(Tomcat); 2. 这个请求会经过几个过滤器,最后会到达 FilterDispatcher 过滤器。...
- **增强的拦截器机制**:Struts2.0的拦截器机制更为强大,支持更多的预处理和后处理操作。 - **更好的国际化支持**:Struts2.0提供了更灵活的国际化解决方案,支持多种语言和地区设置。 通过以上知识点的梳理,...
接下来,需要在Struts的配置文件中声明并使用这个自定义拦截器。 ```xml <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" ...
2. **拦截器(Interceptor)**: 拦截器是Struts 2的核心组件,它允许开发者定义一系列的处理逻辑,这些逻辑会在Action执行前后被调用,实现如日志记录、权限验证等功能。 3. **配置灵活性**: Struts 2支持XML和注解...
在Struts2框架中,拦截器(Interceptor)是实现业务逻辑和控制流程分离的重要工具,它允许开发者在执行Action之前或之后执行某些操作,比如验证用户登录状态。在这个案例中,我们讨论的是如何使用拦截器来检查用户的...
- **拦截器(Interceptor)**:拦截器是Struts2框架的核心组件之一,用于在Action执行前后进行一些预处理或后处理的工作。 - **结果类型(Result Type)**:结果类型定义了Action执行完毕后返回给用户的响应类型,...
- **Interceptor configuration**:在Struts2中,拦截器是非常重要的组成部分,它们负责在Action执行前后进行一系列的处理操作,如验证、日志记录、性能监控等。Struts2提供了一系列内置的拦截器,如`validation`、`...
《Struts2配置文件宝典》一文详细阐述了Struts2框架中配置文件的核心概念与实践技巧,尤其聚焦于如何高效地管理拦截器、包(package)以及Action的配置,为开发者提供了一套全面而深入的理解框架配置的指南。...
它主要用于定义应用中的各种配置信息,包括但不限于包(Package)、拦截器(Interceptor)、Action以及结果(Result)等。 #### 二、Struts配置文件的基本结构 `struts.xml`文件遵循DTD(Document Type Definition...
Struts2的核心组件包括拦截器(Interceptor)、结果类型(Result Type)、配置文件(Configuration File)等,这些组件共同协作完成Web应用的构建。 #### AJAX技术概述 AJAX(Asynchronous JavaScript and XML)是...