`

在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_interceptor_和_filter区别

    **Interceptor** 是Struts2框架特有的概念,用于在Action执行前后进行拦截,可以实现类似Filter的功能,但更专注于Action层面的逻辑处理。Interceptor的实现基于Java反射,它们可以动态地在Action方法调用前后添加...

    结合struts2编写的通用过滤器filter

    在这个框架中,过滤器(Filter)扮演着关键角色,它们负责在请求到达实际处理之前进行预处理,或者在响应发送给客户端之后进行后处理。本示例中的“通用过滤器filter”是专门为Struts2设计的,用于增强应用的安全性...

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

    例如,一个请求首先通过Tomcat服务器,然后由Struts2的Action处理,Action可能需要通过Filter进行预处理,如身份验证。Filter可以确保只有经过验证的用户才能访问特定的Action。Action执行完业务逻辑后,可能需要...

    Struts2视频教程

    - **Preparable接口**:通过实现`Preparable`接口,可以在Action执行前进行预处理,例如加载数据库中的数据。 - **类型转换和验证**:Struts2支持自定义类型转换器,可以将用户输入的数据转换为所需的类型;同时还...

    struts2完整版

    例如,在Struts1中,Action类通常需要继承自`Action`类并重写`execute`方法,而在Struts2中,开发者可以定义任何类作为Action,只需实现特定的接口或使用注解来标记处理方法。 其次,Struts2引入了拦截器...

    Struts2--1.Filter作为控制器并搭建Struts2的基本环境

    Filter是Servlet API的一部分,它允许开发者在请求到达目标Servlet或JSP之前对其进行拦截和处理,以及在响应返回给客户端之后进行后处理。在Struts2中,我们可以利用Filter作为控制器,将请求路由到Struts2的Action...

    Struts2Action处理中文乱码

    Struts2 Action 处理中文乱码问题是一个常见的挑战,尤其是在进行Web开发时,由于编码格式不统一,可能导致输入或显示的中文字符出现乱码。以下是对两种解决方法的详细解释: 方法一:通过配置Struts2的i18n编码 ...

    struts2 Https 配置

    在"28_Struts2ImgCode"这个文件名中,虽然没有实际的文件内容,但我们可以推测它可能包含了与Struts2和图像验证码相关的代码示例。在HTTPS环境中,如果涉及到图片验证码,需要注意的是,验证码图片也需要通过HTTPS...

    Struts2 英文教程

    通过上述介绍,我们可以看到Struts2框架在配置、Action定义、结果处理和异常管理等方面的强大功能,这对于初学者来说是一个非常好的学习资源。掌握Struts2不仅可以提升个人的技术水平,还能帮助开发者更高效地构建...

    struts2讲义 struts2讲义struts2讲义struts2讲义struts2讲义

    - 在web.xml中配置过滤器(Filter),通常使用`FilterDispatcher`作为入口点,它是Struts2的核心组件之一。 - 这个过滤器会捕获所有进入Web应用的HTTP请求,并将它们传递给Struts2框架处理。 - 配置过程中需要注意...

    Struts2教学视频

    2. 配置web.xml文件,将Struts2的Filter映射到Web应用的请求上。 3. 创建Struts2的配置文件struts.xml,定义Action、包(package)、namespace等。 **三、Namespace** Namespace是Struts2中用于组织Action的一种方式...

    马士兵Struts2笔记2013

    Struts2提供了内置的数据验证机制,可以在Action类中定义验证规则,或者使用注解进行字段级验证。此外,Struts2也支持自定义验证逻辑和全局错误处理。 7. **Struts ValueStack(值栈)** ValueStack是Struts2的...

    struts2简单入门教程

    作为一个基于WebWork核心的框架,Struts2在许多方面对Struts1进行了重大改进,包括底层架构、配置方式以及API的使用。 在入门Struts2之前,需要准备以下开发环境和工具: - 开发工具:MyEclipse6(尽管它不直接支持...

    struts2项目部署

    3. **配置web.xml**:在`web.xml`中配置Struts2的核心过滤器`org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter`。同时,确保配置了正确的Context路径和其他必要配置。 4. **配置struts.xml*...

    Struts2初步使用总结

    2. **开发效率**:Struts2提供了一套完整的解决方案,简化了Web应用程序的开发过程,特别是在处理HTTP请求、数据验证等方面,大大提高了开发效率。 3. **成熟度**:作为一个成熟且稳定的框架,Struts2有着广泛的社区...

    Struts2框架 jar JAVA开发 Struts2.jar架包 Struts2开发实例

    然后配置web.xml文件,设置Struts2的前端控制器Filter。接着,创建Action类,它是业务逻辑的载体,并通过注解或配置文件进行配置。最后,定义视图层的JSP页面,利用Struts2的标签库来展示结果。 **Struts2配置文件*...

    eclipse 配置struts2

    Eclipse作为Java开发的主要IDE,配置Struts2可以让开发者在其中便捷地进行Struts2应用的开发。本篇将详细介绍如何在Eclipse中配置Struts2环境。 首先,我们需要确保已经安装了Eclipse IDE,并且安装了JDK以及Tomcat...

Global site tag (gtag.js) - Google Analytics