`

StrutsPrepareAndExecuteFilter

 
阅读更多
如果是2.1.3之前的版本,用
org.apache.struts2.dispatcher.FilterDispatcher
,否则用
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
  

从Struts2.1.3开始,将废弃ActionContextCleanUp过滤器,而在StrutsPrepareAndExecuteFilter过滤器中包含相应的功能。

StrutsPrepareAndExecuteFilter名字已经很能说明问题了,prepare与execute,
前者表示准备,可以说是指filter中的init方法,即配制的导入;
后者表示进行过滤,指doFilter方法,即将request请求,转发给对应的 action去处理。

这样的改革当然是有好处的.因为如果我们自己定义过滤器的话, 是要放在strtus2的过滤器之前的, 如果放在struts2过滤器之后,你自己的过滤器对action的过滤作用就废了,不会有效!除非你是访问jsp/html! 那我现在有需求, 我必须使用Action的环境,而又想在执行action之前拿filter做一些事, 用FilterDispatcher是做不到的.! 那么StrutsPrepareAndExecuteFilter可以把他拆分成StrutsPrepareFilter和StrutsExecuteFilter,可以在这两个过滤器之间加上我们自己的过滤器.!  
 
三个初始化参数:
  
  • 1、config参数:指定要加载的配置文件。逗号分割。  
  • 2、actionPackages参数:指定Action类所在的包空间。逗号分割。  
  • 3、configProviders参数:自定义配置文件提供者,需要实现ConfigurationProvider接口类。逗号分割。 

<filter>  
    <filter-name>struts2</filter-name>  
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  
    <init-param>  
	<param-name>actionPackages</param-name>  
	<param-value>com.cjm.web.action</param-value>  
    </init-param>  
</filter>  
<filter-mapping>  
    <filter-name>struts2</filter-name>  
    <url-pattern>/*</url-pattern>  
</filter-mapping>  
分享到:
评论

相关推荐

    StrutsPrepareAndExecuteFilter源码剖析

    综上所述,StrutsPrepareAndExecuteFilter 是 Struts2 框架的核心过滤器,它在每次请求到达时执行预处理和执行操作,确保请求能被正确路由到 Action 并处理响应。通过分析其源码,我们可以深入了解 Struts2 的工作...

    Struts2中文乱码问题最终解决方案

    1. **StrutsPrepareAndExecuteFilter**: Struts2框架中的`StrutsPrepareAndExecuteFilter`是核心过滤器,负责处理HTTP请求并执行相应的Action。在Struts.xml配置文件中,设置 `...

    struts2上传必备jar包,避免出现struts2的升级漏洞!自己吃亏后分享

    这个bug是由Struts2上传文件后return SUCCESS...at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:103) 可以完美解决此类struts2的出错问题!

    strut2源码分析

    StrutsPrepareAndExecuteFilter是Struts2框架中的核心过滤器,它负责拦截请求并决定是否需要调用某个Action。 当StrutsPrepareAndExecuteFilter被调用时,它首先询问ActionMapper来确定请求是否需要调用特定的...

    Struts2笔记.doc

    当`StrutsPrepareAndExecuteFilter`初始化时,它会读取类路径下的默认配置文件`struts.xml`,并将配置内容解析成内存中的JavaBean,后续的请求处理都会基于这些内存中的数据,而不是每次都重新读取配置文件。...

    新struts2+jQuery所需包.rar

    新struts2+jQuery所需包.rar\ 以及老版struts2所需jar包 新Struts2与老版struts2的区别如下: 配置web.xml文件时过滤器配置...&lt;filter-class&gt;org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter。

    Struts2使用笔记

    &lt;filter-class&gt;org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter &lt;filter-name&gt;struts2 &lt;url-pattern&gt;/* ``` 3. **编写Action**: - **Action类**:每个功能对应一个Action类,通常...

    Struts权限过滤器

    Struts 2框架提供了多种内置过滤器,如`TilesFilter`、`StrutsPrepareAndExecuteFilter`等,这些过滤器帮助开发者管理请求和响应,同时提供了一些基本的安全特性。然而,对于更复杂的权限控制,开发者通常需要自定义...

    Tomcat(二) Tomcat实现:Servlet与web.xml介绍 以及 源码分析Tomcat实现细节1

    &lt;filter-name&gt;StrutsPrepareAndExecuteFilter &lt;filter-class&gt;com.example.StrutsPrepareAndExecuteFilter&lt;/filter-class&gt; &lt;filter-name&gt;StrutsPrepareAndExecuteFilter &lt;url-pattern&gt;/* ``` 3. **...

    Struts2课后练习答案.docx

    &lt;filter-class&gt;org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter &lt;filter-name&gt;Struts2 &lt;url-pattern&gt;/* ``` 2. **Struts2的体系结构**: Struts2的体系结构基于拦截器模型,与...

    javaWeb_struts2框架实现简单用户注册登录

    1.本demo严格按照MVC的分层模式采用myeclipse编写,可直接运行,服务器为tomcat,数据库为mysql。 2.数据库操作使用c3p0连接池和dbtuils组件,...当然需要在web.xml中配置核心filter—strutsPrepareAndExecuteFilter.

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

    在Struts2中,`FilterDispatcher`(在较新版本中被`StrutsPrepareAndExecuteFilter`取代)是核心过滤器,它负责将请求路由到合适的Action。 2. **全局变量(Global Variables)**:在Struts2中,全局变量通常是指在...

    struts-2.5.13

    &lt;filter-class&gt;org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter&lt;/filter-class&gt; &lt;!-- 引用个具体类文件 --&gt; &lt;/filter&gt; &lt;filter-mapping&gt; &lt;filter-name&gt;struts2&lt;/filter-name&gt; ...

    struts1与Struts2的流程

    1. **流程概述**:在Struts2中,请求首先由`StrutsPrepareAndExecuteFilter`处理。如果请求是Action,框架将创建`ActionInvocation`,并通过`ActionProxy`准备`Action`和拦截器链。执行拦截器后,执行`Action`的方法...

    struts2介绍

    Struts2的核心组件包括StrutsPrepareAndExecuteFilter、Action、Interceptor(拦截器)和配置文件。请求首先通过StrutsPrepareAndExecuteFilter,该过滤器根据配置文件决定是否将请求转发给Action处理。Interceptor...

    Struts2技术笔记(个人总结的,都有代码示例)

    Struts2采用的是前端控制器模式,其中的控制器组件为`StrutsPrepareAndExecuteFilter`过滤器。 - **框架对比**:在Java Web开发领域,Struts2常被拿来与Webwork和SpringMVC等框架进行比较。虽然它们都采用了MVC设计...

    struts2配置文件改变位置问题

    2. **自定义配置**:如果需要使用自定义的位置,可以通过`web.xml`文件中的`StrutsPrepareAndExecuteFilter`过滤器进行配置。在`init-param`标签内,可以设置`config`参数来指定配置文件的路径。 在提供的代码片段...

    Struts配置文件使用及代码详解

    接着,请求被web.xml中的FilterDispatcher(在Struts2.1之后为StrutsPrepareAndExecuteFilter)捕获。这个过滤器根据配置文件(struts.xml)解析请求,确定需要执行哪个Action。ActionMapper负责确定Action的具体类...

    配置中文乱码拦截过滤器宣贯.pdf

    首先,我们需要创建一个继承自StrutsPrepareAndExecuteFilter的自定义过滤器类,如下所示: ```java import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax....

    Struts开发文档

    &lt;filter-class&gt;org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter &lt;filter-name&gt;struts2 &lt;url-pattern&gt;/* ``` 3. **配置struts.xml**:该文件定义了Action及其映射关系。需要将...

Global site tag (gtag.js) - Google Analytics