在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 的 Action 是一个核心概念,Action 负责处理用户的请求并返回结果。Action 可以通过继承 Struts2 的 ActionSupport 类或实现 Struts2 的 Action 接口来实现。 6. Struts2 的结果类型: Struts2 的结果类型...
一个请求在Struts 2框架中的处理大概分为以下几个步骤。 客户端提交一个(HttpServletRequest)请求,如上文在浏览器中输入 http://localhost: 8080/bookcode/ch2/Reg.action就是提交一个(HttpServletRequest)...
在 Struts2 框架中,Interceptor 和 Filter 都可以用来拦截和处理用户请求。但是,它们的工作原理和应用场景不同。Interceptor 是 Struts2 框架中的一个组件,它可以在 Action 执行前和执行后执行某些操作。Filter ...
2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 3 接着FilterDispatcher被调用,...
一个请求在Struts2框架中的处理大概分为以下几个步骤: 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求; 2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做 ActionContextCleanUp的可选...
struts.properties设置( ... org.apache.struts2.dispatcher.ActionContextCleanUp </filter-class> </filter> <filter-mapping> <filter-name>struts-cleanup</filter-name> <url-pattern>/* </filter-mapping>
拦截器是 Struts2 框架中的一种机制,用于在 Action 执行前后进行一些预处理和后处理操作。拦截器可以访问 Action 上下文、值栈里的对象,并且可以多次调用。在 Struts2 中,拦截器是基于 Java 反射机制的,可以对 ...
有关struts2下载组件的具体介绍我就在此略过了,看此文的同志想必大多是碰到这样让人很是不爽的问题。 下面就将该问题的最终解决办法介绍如下。 问题概要: 在struts2中使用result里type="stream"的结果类型时,...
1 在jsp页面中所有字符类型编码相同(包括数据库编码) 默认为iso-8859- 建议改为UTF-8 2 在web配置文件中加上那些代码,并导入Spring包,就OK了
,然后将业务异常信息跳转的统一的信息提示页面的情况,比如我们在struts的时候我们会用到struts的异常处理机制,我们在业务层会跑出我们遇到业务处理异常 ,然后交由struts处理将提示信息到一个页面进行显示,...
06 Struts_06Filter : 中文编码的统一处理,通过Struct的请求处理器接口RequestProcessor(中央控制器)来实现 07 Struts_07ForwardAction : 访问WebRoot/WEB-INF/下文件的一种方式 08 Struts_08DynaValidatorForm : ...
Servlet写的简单MVC实例,仿Struts2 用Filter搞的简单路由机制,转发action到指定controller的方法进行处理 适合对性能要求较高的项目,如移动应用数据支撑
Struts2的处理流程: • 客户端产生一个HttpServletRequest的请求,该请求被提交到一系列的标准过滤器(Filter)组建链中(如ActionContextCleanUp:它主要是清理当前线程的ActionContext、Dispatcher,...
Struts框架中的乱码问题 很不错的哦
用AJAX+STRUTS写的登陆程序,并且附加了超级详尽的源码注释,并且代码分离非常清晰。...总之,就是整个AJAX+STRUTS项目登陆程序打包,可以在ECLIPSE下导入,在TOMCAT5.X下运行(这需要将下载包当中的sql先执行)
一个请求在Struts2框架中的处理大概分为以下几个步骤: 1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选...
Servlet必须在:项目名\WebRoot\WEB-INF这个目录下面的web.xml文件进行配置。改变web.xml的默认文件名:(一般默认引入的文件名,我们不改) http://blog.csdn.net/qq413041153/article/details/7922961 ...
Struts1 框架与 Struts2 框架的本质区别在于,Struts1 框架使用 ActionServlet 作为核心组件,而 Struts2 框架使用 Filter 作为核心组件。此外,Struts1 框架使用 ActionForm 对象来处理客户端提交的表单数据,而 ...
过滤器--是在java web中,提前过滤掉一些信息或者提前设置一些参数,然后再传入servlet/struts的 action进行业务逻辑处理。比如过滤掉非法url或者在传入servlet/struts的action前统一设置字符集,或者去除掉一些非法...