本人开发遇到一个难题,我想对现在的项目fckedit进行 升级,然后项目的架构是spring struts2 hibernate ,然后我想在struts2中的web.xml文件中调用拦截器,对项目url进行特殊出额里。
FilterDispatcher是struts2.0.x到2.1.2版本的核心过滤器.!
StrutsPrepareAndExecuteFilter是自2.1.3开始就替代了FilterDispatcher的.!
这样的改革当然是有好处的.!
为什么这么说.? 应该知道如果我们自己定义过滤器的话, 是要放在strtus2的过滤器之前的, 如果放在struts2过滤器之后,你自己的过滤器对action的过滤作用就废了,不会有效!除非你是访问jsp/html!
那我现在有需求, 我必须使用Action的环境,而又想在执行action之前拿filter做一些事, 用FilterDispatcher是做不到的.!
那么StrutsPrepareAndExecuteFilter可以把他拆分成StrutsPrepareFilter和StrutsExecuteFilter,可以在这两个过滤器之间加上我们自己的过滤器.!
给你打个比喻, 现在有病人要做手术, 现在struts2要做两件事, 搭病床(环境),执行手术.! 那么打麻药的工作呢.? 不可能要病人站着打吧, 所以必须有病床的环境,打完麻药之后再动手术.! 这个比喻非常形象了.!
引用高人的话,最后我调用FilterDispatcher时候,发现struts的bug,它回把所有的请求转发到什么地方去。
而通过使用最新版本的StrutsPrepareAndExecuteFilter则可以很好的解决这个问题。
后续跟进中。。。。。。
分享到:
相关推荐
org.apache.struts2.dispatcher.FilterDispatcher
Struts 2框架本身大致可以分为3个部分:核心控制器FilterDispatcher、业务控制器Action和用户实现的企业业务逻辑组件。 核心控制器FilterDispatcher是Struts 2框架的基础,包含了框架内部的控制流程和处理机制。...
Struts2的配置和使用与Struts1.x不同,Struts2使用FilterDispatcher作为入口点,而Struts1.x使用ActionServlet。Struts2的 Action类需要从com.opensymphony.xwork2.ActionSupport类继承,而Struts1.x的Action类需要...
struts核心过滤器FilterDispatcher介绍,struts核心过滤器FilterDispatcher介绍
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher, 新版本中都是过时的了,采取该过滤器, <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter。
一个请求在Struts 2框架中的处理大概分为以下几个步骤。...Struts 2的核心控制器是FilterDispatcher,有3个重要的方法:destroy()、doFilter()和Init(),可以在Struts 2的下载文件夹中找到源代码,如代码1所示。
Struts 2框架本身大致可以分为3个部分:核心控制器FilterDispatcher、业务控制器Action和用户实现的企业业务逻辑组件。 3.1.1 核心控制器FilterDispatcher 核心控制器FilterDispatcher是Struts 2框架的基础,包含...
2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 3 接着FilterDispatcher被调用,...
FilterDispatcher 是 Struts2 框架的心脏,在处理用户请求时,它和请求一起相互配合访问 Struts2 框架的底层结构。 3. 在 Web 容器启动时,Struts2 框架会自动加载配置文件里的相关参数,并转换成相应的类,如 ...
Struts 2框架本身大致可以分为3个部分:核心控制器FilterDispatcher、业务控制器Action和用户实现的企业业务逻辑组件。 3.1.1 核心控制器FilterDispatcher 核心控制器FilterDispatcher是Struts 2框架的基础,...
其中,struts2 是过滤器的名称,org.apache.struts2.dispatcher.FilterDispatcher 是过滤器的类名,而/* 是过滤器的映射关系。 Struts 2.0 的配置文件是 struts.xml,需要在 src 目录下创建该文件,并添加相应的...
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> filter> <filter-mapping> <filter-name>struts-cleanup</filter-name> <url-pattern>/*</url-pattern> filter-mapping> ...
1.2.3 FilterDispatcher和Action概述 14 1.2.4 Struts2配置文件处理 15 1.2.5 OGNL介绍和类型转换目的 15 1.2.6 进行校验 16 1.2.7 Web项目国际化根由 16 1.2.8 SiteMesh页面布局框架简介 17 1.3 我们为什么要用...
Struts2执行流程 1. web.xml 部署描述符 2. FilterDispatcher 实现StrutsStatics, Filter接口 (1)Filter:一个filter是一个对象用于执行过滤任务为每个请求资源(一个servlet或静态内容),或响应一个资源,或两者.过滤...
在 Struts2 中,过滤器是通过 FilterDispatcher 来实现的,FilterDispatcher 负责四个方面的功能:执行 Actions、清除 ActionContext、维护静态内容和清除 request 生命周期内的 XWork 的 interceptors。 拦截器和...
ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框 架的集成很有帮助,例如:SiteMesh Plugin) 3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来 决定这个请是否需要调用某个...
action command在穿越了一系列Struts2和XWork的拦截器之后,最后执行用户编写的Action类,在Action执行之后,响应还会穿越相同的拦截器(按照与请求相反的顺序),最后通过Struts2的HttpServletResponse转换成Web可...
我们已在前面学习了Servlet 数据库...1. struts2开发环境搭建Eclipse+struts2+tomcat 2. Struts2基本流程 3. 了解核心控制器FilterDispatcher及在web.xml中的配置 4. 了解业务控制器Action及在struts.xml中的配置
505) at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org....