在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);// 调用父类的方法
}
}
}
分享到:
相关推荐
**Interceptor** 是Struts2框架特有的概念,用于在Action执行前后进行拦截,可以实现类似Filter的功能,但更专注于Action层面的逻辑处理。Interceptor的实现基于Java反射,它们可以动态地在Action方法调用前后添加...
在这个框架中,过滤器(Filter)扮演着关键角色,它们负责在请求到达实际处理之前进行预处理,或者在响应发送给客户端之后进行后处理。本示例中的“通用过滤器filter”是专门为Struts2设计的,用于增强应用的安全性...
例如,一个请求首先通过Tomcat服务器,然后由Struts2的Action处理,Action可能需要通过Filter进行预处理,如身份验证。Filter可以确保只有经过验证的用户才能访问特定的Action。Action执行完业务逻辑后,可能需要...
- **Preparable接口**:通过实现`Preparable`接口,可以在Action执行前进行预处理,例如加载数据库中的数据。 - **类型转换和验证**:Struts2支持自定义类型转换器,可以将用户输入的数据转换为所需的类型;同时还...
例如,在Struts1中,Action类通常需要继承自`Action`类并重写`execute`方法,而在Struts2中,开发者可以定义任何类作为Action,只需实现特定的接口或使用注解来标记处理方法。 其次,Struts2引入了拦截器...
Filter是Servlet API的一部分,它允许开发者在请求到达目标Servlet或JSP之前对其进行拦截和处理,以及在响应返回给客户端之后进行后处理。在Struts2中,我们可以利用Filter作为控制器,将请求路由到Struts2的Action...
Struts2 Action 处理中文乱码问题是一个常见的挑战,尤其是在进行Web开发时,由于编码格式不统一,可能导致输入或显示的中文字符出现乱码。以下是对两种解决方法的详细解释: 方法一:通过配置Struts2的i18n编码 ...
通过上述介绍,我们可以看到Struts2框架在配置、Action定义、结果处理和异常管理等方面的强大功能,这对于初学者来说是一个非常好的学习资源。掌握Struts2不仅可以提升个人的技术水平,还能帮助开发者更高效地构建...
在"28_Struts2ImgCode"这个文件名中,虽然没有实际的文件内容,但我们可以推测它可能包含了与Struts2和图像验证码相关的代码示例。在HTTPS环境中,如果涉及到图片验证码,需要注意的是,验证码图片也需要通过HTTPS...
- 在web.xml中配置过滤器(Filter),通常使用`FilterDispatcher`作为入口点,它是Struts2的核心组件之一。 - 这个过滤器会捕获所有进入Web应用的HTTP请求,并将它们传递给Struts2框架处理。 - 配置过程中需要注意...
2. 配置web.xml文件,将Struts2的Filter映射到Web应用的请求上。 3. 创建Struts2的配置文件struts.xml,定义Action、包(package)、namespace等。 **三、Namespace** Namespace是Struts2中用于组织Action的一种方式...
Struts2提供了内置的数据验证机制,可以在Action类中定义验证规则,或者使用注解进行字段级验证。此外,Struts2也支持自定义验证逻辑和全局错误处理。 7. **Struts ValueStack(值栈)** ValueStack是Struts2的...
作为一个基于WebWork核心的框架,Struts2在许多方面对Struts1进行了重大改进,包括底层架构、配置方式以及API的使用。 在入门Struts2之前,需要准备以下开发环境和工具: - 开发工具:MyEclipse6(尽管它不直接支持...
3. **配置web.xml**:在`web.xml`中配置Struts2的核心过滤器`org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter`。同时,确保配置了正确的Context路径和其他必要配置。 4. **配置struts.xml*...
* 在 web.xml 文件中,我们可以配置 Struts2 框架的 Filter,用于将请求路由到 Struts2 框架中。 * 在 struts.xml 文件中,我们可以配置 Struts2 框架的各种常量、Action、结果类型等。 Struts2 的Action Action ...
2. **开发效率**:Struts2提供了一套完整的解决方案,简化了Web应用程序的开发过程,特别是在处理HTTP请求、数据验证等方面,大大提高了开发效率。 3. **成熟度**:作为一个成熟且稳定的框架,Struts2有着广泛的社区...
Struts2是在Webwork的基础上构建的,与它的前辈Struts1.x相比,虽然在大版本号上相同,但在配置和使用上有显著区别。 在开始之前,确保你有以下环境: 1. 开发工具:MyEclipse6 2. Web服务器:Tomcat6 3. Struts2...
然后配置web.xml文件,设置Struts2的前端控制器Filter。接着,创建Action类,它是业务逻辑的载体,并通过注解或配置文件进行配置。最后,定义视图层的JSP页面,利用Struts2的标签库来展示结果。 **Struts2配置文件*...
Eclipse作为Java开发的主要IDE,配置Struts2可以让开发者在其中便捷地进行Struts2应用的开发。本篇将详细介绍如何在Eclipse中配置Struts2环境。 首先,我们需要确保已经安装了Eclipse IDE,并且安装了JDK以及Tomcat...