`
何胜彬
  • 浏览: 4341 次
文章分类
社区版块
存档分类
最新评论

struts2的的过滤器

阅读更多
过滤器的理解: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、……的字符串,值是其对应的对象
1
0
分享到:
评论

相关推荐

    struts2配置过滤器

    ### Struts2配置过滤器详解 #### 一、概述 Struts2是基于MVC模式的一个开源框架,它能够帮助开发者构建出结构清晰且易于维护的Web应用。在实际开发过程中,为了实现某些功能(例如用户认证、权限控制等),往往...

    Struts 2 过滤器的总结

    ### Struts 2 过滤器的深度解析与应用 #### 概念解析与功能概述 Struts 2框架中的过滤器(Filter)是Servlet规范的一部分,主要用于在请求到达目标资源(如JSP、Servlet或其他资源)之前或响应返回客户端之前进行...

    Struts 2 过滤器和拦截器的区别

    ### Struts 2 过滤器与拦截器的深入解析 #### 一、概述 在Struts 2框架中,过滤器(Filter)和拦截器(Interceptor)都是用于处理请求的关键组件,但它们之间存在本质的区别。正确理解这些差异有助于开发者更高效地...

    struts2过滤器代码

    页面开发时经常会出现中文乱码问题,需要我们对编码进行转换。手工转换很麻烦,写个过滤器就好多了。

    过滤器 Struts2全局变量 action转化do

    标题中的“过滤器 Struts2全局变量 action转化do”可能指的是Struts2框架中的ActionMapping和FilterDispatcher配置,以及全局结果(Global Results)的概念。 1. **过滤器(Filter)**:在Java Web开发中,过滤器是...

    struts2.0字符编码使用过滤器

    在Web应用的`web.xml`配置文件中,我们需要定义一个过滤器,并将其关联到Struts2的Action请求。过滤器的配置包括: - 定义过滤器类:通常实现`javax.servlet.Filter`接口。 - 配置过滤器映射,将过滤器应用于所有...

    struts2过滤器和拦截器的区别分析

    在Struts2框架中,过滤器(Filter)和拦截器(Interceptor)是两种不同的机制,它们在处理请求和响应的过程中扮演着不同的角色。以下是它们的本质区别和使用区别。 **一、本质区别** 1. **实现机制**: - 拦截器...

    struts2技巧,笔记.zip指定404,500页面 utf-8过滤器 防SQL注入 解决乱码

    Struts2提供了一个名为`ActionContextCleanUp`的过滤器,它负责清理ActionContext,确保请求处理过程中使用的字符集是UTF-8。在web.xml中添加此过滤器并配置为全局过滤器,可以确保所有请求都使用UTF-8编码,避免...

    Struts权限过滤器

    在`web.xml`中添加自定义过滤器的配置,确保它在Struts过滤器之前执行,以便先进行权限检查: ```xml <filter-name>customAuthenticationFilter <filter-class>...

    struts核心过滤器FilterDispatcher介绍

    struts核心过滤器FilterDispatcher介绍,struts核心过滤器FilterDispatcher介绍

    tomcat、struts2、servlet Filter(过滤器) 工作原理

    Servlet Filter(过滤器)是Servlet API的一部分,它允许开发者在请求被Servlet处理之前或之后对请求和响应进行拦截和修改。Filter可以用来实现如登录验证、字符编码转换、日志记录等多种功能。当一个请求到达Web...

    struts2用cookie实现自动登录中用过滤器执行读取上下文方法

    在Web应用的`web.xml`配置文件中,我们需要将这个过滤器添加到Struts2的过滤器链之前,确保它能在处理请求前先运行: ```xml <filter-name>AutoLoginFilter <filter-class>...

    struts2实例 自定义过滤器 文件上传下载 登录功能

    本实例展示了如何在Struts2环境中实现几个关键功能:自定义过滤器、文件上传下载以及用户登录功能。这些功能是任何Web应用程序的基础组成部分,理解和掌握它们对于提升Web开发技能至关重要。 首先,我们来探讨...

    Struts2课堂学习总结

    `<filter>`标签内指定了过滤器名称和类,`<filter-mapping>`则指定了所有URL(通过`/*`)都将通过Struts2的`StrutsPrepareAndExecuteFilter`过滤器进行处理。避免使用像`/*.do`或`/*.action`这样的特定约定,以保持...

    struts2讲义,讲解struts2的框架

    在`web.xml`配置文件中,需要定义一个名为`struts2`的过滤器,类为`org.apache.struts2.dispatcher.FilterDispatcher`。过滤器的映射应覆盖所有URL,以便所有请求都能被Struts2处理。当FilterDispatcher初始化时,它...

    Struts2基础教程

    与Struts1.x相比,Struts2的入口点不再是ActionServlet,而是FilterDispatcher过滤器。在`web.xml`中,你需要配置如下的Struts2过滤器: ```xml <filter-name>struts2 <filter-class>org.apache.struts2....

    Struts2编写的通用(拦截器,过滤器)Filter

    这个名为"Struts2编写的通用(拦截器,过滤器)Filter"的项目,主要目标是防止用户非法访问未授权的页面,确保只有登录用户才能访问特定的资源。 **拦截器(Interceptor)** 拦截器是Struts2框架的核心特性之一,它...

    Struts2源码分析

    如果配置不当,可能会导致问题,如将所有URL模式设为`/*`,确保所有请求都会经过Struts2过滤器。 `ActionProxy`是`com.opensymphony.xwork2.ActionProxy`,它是Action的代理接口,负责调用实际的Action对象的`...

    Struts2 英文教程

    以下是一个典型的Struts2过滤器配置示例: ```xml <filter-name>struts2 org.apache.struts2.dispatcher.FilterDispatcher <filter-name>action2 <url-pattern>/* ``` 这个过滤器负责拦截所有的...

Global site tag (gtag.js) - Google Analytics