在现在的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开发中的应用研究时,首先要了解过滤器的定义及其在Java Web开发中的重要作用。过滤器是一种设计模式,用于拦截请求和响应,以便执行某些预处理或后处理操作。在Java Web开发中,...
在JAVA Web开发中,过滤器(Filter)是一个至关重要的组件,它主要负责在请求被Servlet处理之前或之后执行一些预处理或后处理操作。过滤器是JAVA Servlet API的一部分,通过实现javax.servlet.Filter接口来创建...
Java Web开发中的过滤器(Filter)是Servlet技术的一部分,它在Web应用程序中扮演着至关重要的角色。过滤器允许开发者在请求被发送到目标资源(如Servlet、JSP页面)之前和响应被返回给客户端之后对请求和响应进行...
总的来说,Servlet过滤器是Java Web开发中的重要概念,它为开发者提供了在请求和响应之间插入自定义逻辑的能力,从而实现更灵活、更安全的应用程序设计。通过深入理解和熟练运用,你可以构建出更健壮、更高效的Web...
总结一下,Web过滤器在C#的ASP.NET开发中扮演着关键角色,它们提供了一种灵活的机制来扩展和控制Web应用程序的行为。"Web过滤器 c#"的讨论涉及了四种主要类型的过滤器,以及如何利用开源库"WebMIS....
在Java Web开发中,过滤器(Filter)是一个强大的工具,它允许开发者在数据处理的前后进行拦截和修改。本文将详细讲解Java Web项目中过滤器的使用方法,以及如何配置和实现过滤器。 1. **过滤器的概念** 过滤器是...
【Java Web开发中的过滤器组件应用及实例解析】 在Java Web开发中,过滤器(Filter)组件是一个重要的工具,用于处理客户端与服务器之间的交互数据。Servlet过滤器在Servlet 2.3规范中首次引入,并在Servlet 2.4...
在Java Web开发中,Servlet、拦截器(Interceptor)和过滤器(Filter)是三个非常重要的概念,它们在处理HTTP请求和响应时起到了关键作用。理解并熟练运用这三者能够帮助开发者实现更高效、更安全的Web应用。 首先...
实验旨在加深对Java Web开发中核心概念的理解,特别是过滤器的工作原理、配置方法以及它们在处理请求和响应过程中的作用。 实验内容集中在设计一个学生成绩查询系统,该系统要求用户登录后才能查看成绩。系统包含了...
以上三个案例展示了JavaWeb过滤器在实际开发中的应用。它们不仅能够提升网站的功能,还能增强系统的安全性与稳定性。理解并熟练掌握过滤器的使用,对于提升JavaWeb开发技能大有裨益。在实践中,开发者可以根据需求...
过滤器在IT行业中,特别是在Web开发领域,是一个重要的概念,它主要用于在客户端和服务器之间处理HTTP请求和响应。本文档将深入探讨过滤器的使用及其功能。 **过滤器概述** 过滤器(Filter)的主要作用是对客户端...
过滤器(Filter)在Java Web应用中扮演了重要角色,它可以用来解决这个问题。过滤器是Servlet API的一部分,允许我们在数据请求到达目标资源之前或之后进行拦截和处理,包括对字符编码的转换,从而避免乱码的出现。 ...
在Web开发中,过滤器(Filter)是一种非常重要的机制,它允许开发者在HTTP请求和响应之间插入自定义逻辑。过滤器通常用于实现一些全局性的功能,如登录验证、字符编码转换、日志记录等。本篇文章将深入探讨“web开发...
Servlet过滤器是Java Web开发中的一个重要组件,它允许开发者在请求到达Servlet之前或者响应离开Servlet之后进行拦截处理。本教程将深入讲解如何配置和使用Servlet过滤器,以及介绍五个经典的过滤器实例。 首先,让...
在Java JSP Web开发中,过滤器(Filter)是一个重要的组件,它允许开发者对Web应用程序中的请求和响应进行拦截和处理,从而增强应用的功能。过滤器的概念源自Java Servlet规范,是Java EE(现称为Jakarta EE)的一...
Java-filter过滤器在项目开发中的应用 Java-filter过滤器是一种Java EE规范中的一种组件,用于拦截和处理Servlet请求和响应。在项目开发中,Java-filter过滤器可以应用于解决各种问题,以下是其中的两种应用: ...
【Java Filter过滤器在项目开发中的应用】 Java Filter(过滤器)是Java EE(现在称为Jakarta EE)规范的一部分,它允许开发者在请求被实际处理之前或之后进行拦截和处理。过滤器在Web应用程序中扮演着重要角色,...
Java Web过滤器详解 Java Web过滤器是一种服务端组件,...在Java Web开发中,过滤器是一个非常重要的组件,它可以用来实现各种功能,例如身份验证、数据过滤、图像格式转换等。因此,掌握过滤器的使用是非常必要的。
在Java Web应用开发中,过滤器(Filter)是一种强大的工具,它可以用来在请求到达目标Servlet或JSP之前对其进行处理,并在响应返回给客户端之前进行后处理。本案例着重讲解如何利用过滤器进行身份验证,避免在每个...
在Servlet规范中,过滤器(Filter)是部署在Web应用程序中的组件,可以在请求到达目标Servlet或JSP之前对请求进行预处理。字符编码过滤器的作用是在请求被处理之前设定请求和响应的编码方式,以确保数据在传输过程中...