`

在STRUTS2前进行处理FILTER处理

阅读更多
在STRUTS2的FILTER之前 比如StrutsPrepareAndExecuteFilter之前放一个FILTER
可以进行reponse.sendRedirect操作
或者request.getRequestDispatcher().forward操作
如果forward以后要继续经过struts2的FILTER 那么STRUTS2的FILTER要这样配置

<filter-mapping>
  <filter-name>StrutsPrepareAndExecuteFilter</filter-name>
  <url-pattern>/*</url-pattern>
  <dispatcher>REQUEST</dispatcher>
  <dispatcher>FORWARD</dispatcher>
 </filter-mapping>


或者你可以把你的FILTER定义在
struts2的prepareFilter和excuteFilter之间

例子
public class SwpFilter extends StrutsPrepareAndExecuteFilter {
 public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
 throws IOException, ServletException {
  HttpServletRequest request = (HttpServletRequest) req;
  HttpServletResponse reponse = (HttpServletResponse) res;
  //在这里进行URLREWRITE的操作
  if (request.getRequestURI().equals("/aa")) {
   request.getRequestDispatcher("swp/getResource?type=page&id=609&edit=true").forward(req,
   res);
   return;
  }
  if (request.getServletPath().startsWith("/fckeditor")) {
   super.doFilter(req, res, chain);
  } else if (request.getServletPath().equals("/manager/")) {
   reponse.sendRedirect(request.getRequestURI() + "manager.jsp");
  } else if (request.getServletPath().equals("/login")) {
   reponse.sendRedirect("manager/login.jsp");
  } else if (request.getServletPath().equals("/login/")) {
   reponse.sendRedirect("../manager/login.jsp");
  } else {
   super.doFilter(req, res, chain);// 调用父类的方法
  }
 }
}
分享到:
评论

相关推荐

    Struts2知识点

    Struts2 的 Action 是一个核心概念,Action 负责处理用户的请求并返回结果。Action 可以通过继承 Struts2 的 ActionSupport 类或实现 Struts2 的 Action 接口来实现。 6. Struts2 的结果类型: Struts2 的结果类型...

    struts2流程与流程图

    一个请求在Struts 2框架中的处理大概分为以下几个步骤。  客户端提交一个(HttpServletRequest)请求,如上文在浏览器中输入 http://localhost: 8080/bookcode/ch2/Reg.action就是提交一个(HttpServletRequest)...

    struts2工作原理及拦截器和过滤器

    在 Struts2 框架中,Interceptor 和 Filter 都可以用来拦截和处理用户请求。但是,它们的工作原理和应用场景不同。Interceptor 是 Struts2 框架中的一个组件,它可以在 Action 执行前和执行后执行某些操作。Filter ...

    Struts2的工作原理和流程

    2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 3 接着FilterDispatcher被调用,...

    struts2开发文档

    一个请求在Struts2框架中的处理大概分为以下几个步骤: 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求; 2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做 ActionContextCleanUp的可选...

    解决struts2.1.6+spring+hibernate 中文乱码

    struts.properties设置( ... org.apache.struts2.dispatcher.ActionContextCleanUp &lt;/filter-class&gt; &lt;/filter&gt; &lt;filter-mapping&gt; &lt;filter-name&gt;struts-cleanup&lt;/filter-name&gt; &lt;url-pattern&gt;/* &lt;/filter-mapping&gt;

    简单理解Struts2中拦截器与过滤器的区别及执行顺序

    拦截器是 Struts2 框架中的一种机制,用于在 Action 执行前后进行一些预处理和后处理操作。拦截器可以访问 Action 上下文、值栈里的对象,并且可以多次调用。在 Struts2 中,拦截器是基于 Java 反射机制的,可以对 ...

    解决struts2下载异常的jar包 struts2-sunspoter-stream-1.0.jar

    有关struts2下载组件的具体介绍我就在此略过了,看此文的同志想必大多是碰到这样让人很是不爽的问题。 下面就将该问题的最终解决办法介绍如下。 问题概要: 在struts2中使用result里type="stream"的结果类型时,...

    Struts2zhogn乱码处理

    1 在jsp页面中所有字符类型编码相同(包括数据库编码) 默认为iso-8859- 建议改为UTF-8 2 在web配置文件中加上那些代码,并导入Spring包,就OK了

    利用java filter 实现业务异常拦截源码

    ,然后将业务异常信息跳转的统一的信息提示页面的情况,比如我们在struts的时候我们会用到struts的异常处理机制,我们在业务层会跑出我们遇到业务处理异常 ,然后交由struts处理将提示信息到一个页面进行显示,...

    Struts1.3 备忘笔记

    06 Struts_06Filter : 中文编码的统一处理,通过Struct的请求处理器接口RequestProcessor(中央控制器)来实现 07 Struts_07ForwardAction : 访问WebRoot/WEB-INF/下文件的一种方式 08 Struts_08DynaValidatorForm : ...

    Servlet的MVC实例,类似Struts2

    Servlet写的简单MVC实例,仿Struts2 用Filter搞的简单路由机制,转发action到指定controller的方法进行处理 适合对性能要求较高的项目,如移动应用数据支撑

    Java Struts 实现拦截器

    Struts2的处理流程: • 客户端产生一个HttpServletRequest的请求,该请求被提交到一系列的标准过滤器(Filter)组建链中(如ActionContextCleanUp:它主要是清理当前线程的ActionContext、Dispatcher,...

    Struts框架中的乱码处理

    Struts框架中的乱码问题 很不错的哦

    Ajax+Struts1.x 登陆程序源代码(详解)

    用AJAX+STRUTS写的登陆程序,并且附加了超级详尽的源码注释,并且代码分离非常清晰。...总之,就是整个AJAX+STRUTS项目登陆程序打包,可以在ECLIPSE下导入,在TOMCAT5.X下运行(这需要将下载包当中的sql先执行)

    SSH的jar包.rar

    一个请求在Struts2框架中的处理大概分为以下几个步骤: 1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选...

    SpringStrutsHibernate的配置

    Servlet必须在:项目名\WebRoot\WEB-INF这个目录下面的web.xml文件进行配置。改变web.xml的默认文件名:(一般默认引入的文件名,我们不改) http://blog.csdn.net/qq413041153/article/details/7922961 ...

    各框架的优缺点.pdf

    Struts1 框架与 Struts2 框架的本质区别在于,Struts1 框架使用 ActionServlet 作为核心组件,而 Struts2 框架使用 Filter 作为核心组件。此外,Struts1 框架使用 ActionForm 对象来处理客户端提交的表单数据,而 ...

    FilterAndInterceptor

    过滤器--是在java web中,提前过滤掉一些信息或者提前设置一些参数,然后再传入servlet/struts的 action进行业务逻辑处理。比如过滤掉非法url或者在传入servlet/struts的action前统一设置字符集,或者去除掉一些非法...

Global site tag (gtag.js) - Google Analytics