转自:http://201204292557.iteye.com/blog/1735939
过滤器的理解:http://flysnow.iteye.com/blog/702798
在web.xml中定义的filter 即是过滤器,在请求服务器资源时
Filter的执行顺序是按照web.xml中配置的filter-mapping顺序执行的,每个过滤器都有
filterChain.doFilter(request,
response);//激活下一个过滤器,即激活下一个filter-mapping中的过滤,最后便开始执行相关业务
当你在web.xml配置多个过滤器的时候,一定要把struts的过滤器放到最后,这样可以防止过滤器链被中断,导致你配置的其他过滤器不起作用。
在过滤器中设置编码,客户端请求时,先把resquest的编码设置了,可以理解成传递的参数到过滤后,就得到相应的编码发送到服务器。
struts2的的过滤器
1.客户端首先向服务器发送一个请求(XXX.action)
2.这个请求首先经过一系列的过滤器(Filter)后,核心控制器FilterDispatcher根据请求去询问ActionMapper来
决定是否需要调用某个Action做处理,如果ActionMapper决定需要调用某个Action,FilterDispatcher就会把请求处理
交给ActionProxy.ActionProxy通过Configuration Manager询问框架的配置文件,找到要调用的Action.
3.ActionProxy创建一个ActionInvocation实例.ActionInvocation实例使用命名模式来调用,回调
Action的execute方法,该execute方法首先获取用户请求的参数,然后执行某种逻辑操作,一般是数据库操作,当然,Action不会直接
参与到数据库操作,而去调用相应的业务逻辑组件处理.(在调用Action的前后,将涉及到相关拦截器的调用)
4.当Action处理完毕之后,ActionInvocation会匹配配置文件中对应的返回结果,将结果反馈给用户
http://yoyo.is-programmer.com/posts/8162.html
Struts2中拦截器与过滤器的执行顺序
http://www.iteye.com/wiki/blog/1328444 struts相关帮助链接
http://blog.163.com/hzd_love/blog/static/131999881201073042557890/
Action上下文创建(重点)
ActionContext是一个容器,这个容易主要存储request、session、application、parameters等相关信
息.ActionContext是一个线程的本地变量,这意味着不同的action之间不会共享ActionContext,所以也不用考虑线程安全问
题。其实质是一个Map,key是标示request、session、……的字符串,值是其对应的对象
转自:http://201204292557.iteye.com/blog/1735939
分享到:
相关推荐
### Struts2配置过滤器详解 #### 一、概述 Struts2是基于MVC模式的一个开源框架,它能够帮助开发者构建出结构清晰且易于维护的Web应用。在实际开发过程中,为了实现某些功能(例如用户认证、权限控制等),往往...
### Struts 2 过滤器的深度解析与应用 #### 概念解析与功能概述 Struts 2框架中的过滤器(Filter)是Servlet规范的一部分,主要用于在请求到达目标资源(如JSP、Servlet或其他资源)之前或响应返回客户端之前进行...
### Struts 2 过滤器与拦截器的深入解析 #### 一、概述 在Struts 2框架中,过滤器(Filter)和拦截器(Interceptor)都是用于处理请求的关键组件,但它们之间存在本质的区别。正确理解这些差异有助于开发者更高效地...
页面开发时经常会出现中文乱码问题,需要我们对编码进行转换。手工转换很麻烦,写个过滤器就好多了。
标题中的“过滤器 Struts2全局变量 action转化do”可能指的是Struts2框架中的ActionMapping和FilterDispatcher配置,以及全局结果(Global Results)的概念。 1. **过滤器(Filter)**:在Java Web开发中,过滤器是...
在Web应用的`web.xml`配置文件中,我们需要定义一个过滤器,并将其关联到Struts2的Action请求。过滤器的配置包括: - 定义过滤器类:通常实现`javax.servlet.Filter`接口。 - 配置过滤器映射,将过滤器应用于所有...
在Struts2框架中,过滤器(Filter)和拦截器(Interceptor)是两种不同的机制,它们在处理请求和响应的过程中扮演着不同的角色。以下是它们的本质区别和使用区别。 **一、本质区别** 1. **实现机制**: - 拦截器...
Struts2提供了一个名为`ActionContextCleanUp`的过滤器,它负责清理ActionContext,确保请求处理过程中使用的字符集是UTF-8。在web.xml中添加此过滤器并配置为全局过滤器,可以确保所有请求都使用UTF-8编码,避免...
在`web.xml`中添加自定义过滤器的配置,确保它在Struts过滤器之前执行,以便先进行权限检查: ```xml <filter-name>customAuthenticationFilter <filter-class>...
struts核心过滤器FilterDispatcher介绍,struts核心过滤器FilterDispatcher介绍
Servlet Filter(过滤器)是Servlet API的一部分,它允许开发者在请求被Servlet处理之前或之后对请求和响应进行拦截和修改。Filter可以用来实现如登录验证、字符编码转换、日志记录等多种功能。当一个请求到达Web...
在Web应用的`web.xml`配置文件中,我们需要将这个过滤器添加到Struts2的过滤器链之前,确保它能在处理请求前先运行: ```xml <filter-name>AutoLoginFilter <filter-class>...
本实例展示了如何在Struts2环境中实现几个关键功能:自定义过滤器、文件上传下载以及用户登录功能。这些功能是任何Web应用程序的基础组成部分,理解和掌握它们对于提升Web开发技能至关重要。 首先,我们来探讨...
`<filter>`标签内指定了过滤器名称和类,`<filter-mapping>`则指定了所有URL(通过`/*`)都将通过Struts2的`StrutsPrepareAndExecuteFilter`过滤器进行处理。避免使用像`/*.do`或`/*.action`这样的特定约定,以保持...
在`web.xml`配置文件中,需要定义一个名为`struts2`的过滤器,类为`org.apache.struts2.dispatcher.FilterDispatcher`。过滤器的映射应覆盖所有URL,以便所有请求都能被Struts2处理。当FilterDispatcher初始化时,它...
与Struts1.x相比,Struts2的入口点不再是ActionServlet,而是FilterDispatcher过滤器。在`web.xml`中,你需要配置如下的Struts2过滤器: ```xml <filter-name>struts2 <filter-class>org.apache.struts2....
这个名为"Struts2编写的通用(拦截器,过滤器)Filter"的项目,主要目标是防止用户非法访问未授权的页面,确保只有登录用户才能访问特定的资源。 **拦截器(Interceptor)** 拦截器是Struts2框架的核心特性之一,它...
如果配置不当,可能会导致问题,如将所有URL模式设为`/*`,确保所有请求都会经过Struts2过滤器。 `ActionProxy`是`com.opensymphony.xwork2.ActionProxy`,它是Action的代理接口,负责调用实际的Action对象的`...
以下是一个典型的Struts2过滤器配置示例: ```xml <filter-name>struts2 org.apache.struts2.dispatcher.FilterDispatcher <filter-name>action2 <url-pattern>/* ``` 这个过滤器负责拦截所有的...