struts2-(1)使用Filter作为控制器
2015-12-28 21:50
302 查看
1.使用filter作为控制器
(1)创建类,实现javax.servlet.Filter
(2)配置web.xml,和servlet基本一样
2.filter和servlet的區別
(1) Servlet可以做的,Filter都可以完成。
(2) Servlet不擅长拦截资源。filter里面有一个FilterChain,可以不停地把请求传递给下一个拦截器。而Servlet的API中没有。
(1)创建类,实现javax.servlet.Filter
package com.controller.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class TestFilter implements Filter{ @Override public void destroy() { // TODO Auto-generated method stub } @Override public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest)arg0; HttpServletResponse response = (HttpServletResponse)arg1; //1.获取servletPath String servletPath = request.getServletPath(); //2.判断servletPath若是input.action,则转发到input.html String path = null; if("/input.action".equals(servletPath)){ path = "/service/input.html"; }else if("/detail.action".equals(servletPath)){ path = "/service/detail.html"; } if(path != null){ request.getRequestDispatcher(path).forward(request, response); } return; } @Override public void init(FilterConfig arg0) throws ServletException { // TODO Auto-generated method stub } }
(2)配置web.xml,和servlet基本一样
<filter> <filter-name>productFilter</filter-name> <filter-class>com.controller.filter.TestFilter</filter-class> </filter> <filter-mapping> <filter-name>productFilter</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping>
2.filter和servlet的區別
(1) Servlet可以做的,Filter都可以完成。
(2) Servlet不擅长拦截资源。filter里面有一个FilterChain,可以不停地把请求传递给下一个拦截器。而Servlet的API中没有。
相关文章推荐
- java 与 R 相互调用
- java学习笔记
- Android Studio使用eclipse工程编写的Android.mk文件
- Java基础十大方向
- java中的自动包装
- SpringMVC RESTful总结之GET请求
- Java拓扑图开发-带宽示例
- 对Spring 及SpringMVC的理解
- 谈谈对Spring IOC的理解
- 【转】一个不错的eclipse反编译插件
- springMvc+MyBatis+Maven下JUnit使用的一种方式
- 第一章 Web MVC简介 —— 跟开涛学SpringMVC
- Java并发知识——Concurrent包
- Java中@ 的作用
- java--XML解析之根据id查找元素
- springMVC
- 关于垃圾回收
- java axis调用WebService 服务端,客户端
- spring实现动态注册bean
- 打印近似圆形 Java Math类 *号