在现在的web开发中,使用Filter来完成一些支撑性的工作是普遍的。甚至一些web框架就是建立在其之上的。如struts2。没有filter这些框架就无法工做。
没记错的话,filter应是servlet2.3之后加入的新功能。一般的filter都要实现javax.servlet.Filter接口
一般性代码如下:
public class MyFilter implements Filter{
FilterConfig filterConfig = null; //缺省的配置对象
String includeURL = ""; //自定义的参数(在web.xml配置)
/**
* 初始化Filter(在web容器启动时执行)
*/
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
includeURL = filterConfig.getInitParameter("includeURL");
}
/**
* 过滤请求,用户提交请求时起作用
*/
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest)request;
HttpServletResponse res = (HttpServletResponse)response;
HttpSession session = req.getSession();
String currUrl = req.getRequestURL().toString();
includeURL = new StringBuffer("http://").append(req.getHeader("host")).append(req.getContextPath()).toString()+includeURL;
//do some things
//当前工作全部完成后,将请求放开给过滤器链的下一filter
chain.doFilter(req, res);
}
/**
* 当filter销毁时执行
*/
public void destroy() {
filterConfig = null;
includeURL = null;
}
}
前面提到过filter是依赖servlet的,所以最后还要在web.xml进行配置:
<filter>
<filter-name>myFilter</filter-name>
<filter-class>com.myapp.filter.MyFilter</filter-class>
<init-param>
<param-name>includeURL</param-name>
<param-value>/index.jsp</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>myFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
分享到:
相关推荐
过滤器在Java Web开发中的应用研究.pdf
过滤器在Java Web开发中的应用研究
Java Web开发中过滤器组件应用及实例解析.pdf
实现一个禁止缓存的过滤器。 要求和提示: (1)禁止浏览器缓存所有动态页面; (2)有3个http响应头字段可以禁止浏览器缓存当前页面,它们在Servlet中的示例代码如下。 response.setDateHeader("Expires",-1); ...
全书详细讲解了java web开发的相关技术知识,主要包括javascript、jsp、javabean、表达式语言(el)、jsp标签库、servlet过滤器和监听器,ajax核心编程、数据库核心编程以及struts2框架核心编程等知识。《Java Web...
完整版Java web开发教程PPT课件 Java开发进阶教程 第10章 过滤器、监听器、自定义标签(共19页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第11章 AJAX实现(共11页).pptx 完整版Java web开发教程PPT...
Java Web应用开发 52 课堂案例-应用过滤器进行身份验证.docx 学习资料 复习资料 教学资源
第20章 filter在web开发中的应用 588 20.1 过滤器概述 588 20.2 filter api 589 20.2.1 filter接口 589 20.2.2 filterconfig接口 590 20.2.3 filterchain接口 590 20.3 过滤器的部署 591 20.4 过滤器的开发 ...
第20章 filter在web开发中的应用 588 20.1 过滤器概述 588 20.2 filter api 589 20.2.1 filter接口 589 20.2.2 filterconfig接口 590 20.2.3 filterchain接口 590 20.3 过滤器的部署 591 20.4 过滤器的开发 ...
第20章 filter在web开发中的应用 588 20.1 过滤器概述 588 20.2 filter api 589 20.2.1 filter接口 589 20.2.2 filterconfig接口 590 20.2.3 filterchain接口 590 20.3 过滤器的部署 591 20.4 过滤器的开发 ...
主要内容包括web应用程序运行原理、主流集成开发工具(eclipse/myeclipse)和运行环境(tomcat)的配置和使用、servlet、jsp、jdbc、jsp表达式语言(el)、servlet监听器和过滤器、定制标记库、jstl、mvc模式、dao...
对于j2EE的简单web开发,其中有各种j2EE web开发过程中会使用到的技巧,如el表达式,jstl自定义标签,过滤器的使用等 通过这些来实现登录 注册 修改 删除 分页 等功能
完整版Java web开发教程PPT课件 Java开发进阶教程 第10章 过滤器、监听器、自定义标签(共19页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第11章 AJAX实现(共11页).pptx 完整版Java web开发教程PPT...
完整版Java web开发教程PPT课件 Java开发进阶教程 第10章 过滤器、监听器、自定义标签(共19页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第11章 AJAX实现(共11页).pptx 完整版Java web开发教程PPT...
完整版Java web开发教程PPT课件 Java开发进阶教程 第10章 过滤器、监听器、自定义标签(共19页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第11章 AJAX实现(共11页).pptx 完整版Java web开发教程PPT...
第20章 filter在web开发中的应用 588 20.1 过滤器概述 588 20.2 filter api 589 20.2.1 filter接口 589 20.2.2 filterconfig接口 590 20.2.3 filterchain接口 590 20.3 过滤器的部署 591 20.4 过滤器的开发 ...
这个是WEB前端设计开发应用到的绿色的颜色选取软件
JAVA EE Web应用系统从逻辑上可划分为表现层、业务层和持久层,为了使读者对JAVA EE编程技术获得全面系统的了解,《Java EE Web开发实例精解》以JAVA EE Web应用系统的逻辑加构为主线,通过多个典型工程实例对上述三...
第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...
完整版Java web开发教程PPT课件 Java开发进阶教程 第10章 过滤器、监听器、自定义标签(共19页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第11章 AJAX实现(共11页).pptx 完整版Java web开发教程PPT...