Java web过滤器

原创 2018年04月17日 16:28:15

1. filter简介

Filter也称之为过滤器,它是Servlet技术中最实用的技术,Web开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。

它主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理。使用Filter的完整流程:Filter对用户请求进行预处理,接着将请求交给Servlet进行处理并生成响应,最后Filter再对服务器响应进行后处理。

2.filter 功能

在HttpServletRequest到达 Servlet 之前,拦截客户的HttpServletRequest 。根据需要检查HttpServletRequest,也可以修改HttpServletRequest 头和数据。

在HttpServletResponse到达客户端之前,拦截HttpServletResponse 。根据需要检查HttpServletResponse,也可以修改HttpServletResponse头和数据。

3.如何借助filter实现拦截功能

Filter接口中有一个doFilter方法,当开发人员编写好Filter,并配置对哪个web资源进行拦截后,Web服务器每次在调用web资源的service方法之前,都会先调用一下filter的doFilter方法,因此,在该方法内编写代码可达到如下目的:

调用目标资源之前,让一段代码执行。是否调用目标资源(即是否让用户访问web资源)。web服务器在调用doFilter方法时,会传递一个filterChain对象进来,filterChain对象是filter接口中最重要的一个对象,它也提供了一个doFilter方法,开发人员可以根据需求决定是否调用此方法,调用该方法,则web服务器就会调用web资源的service方法,即web资源就会被访问,否则web资源不会被访问。

4.filter两步走

编写java类实现Filter接口,并实现其doFilter方法。
在web.xml文件中对编写的filter类进行注册,并设置它所能拦截的资源。

Java Web 乱码过滤器 filter

大家都知道,在jsp里乱码是最让人讨厌的东西,有些乱码出来的莫名其妙,给开发带来很大困扰,但搞一个乱码过滤器就一切都解决了,配置好之后,你并不需要在页面里进行转码之类的。  首先,写一个过滤器类,如下...
  • l271640625
  • l271640625
  • 2011-05-03 22:06:00
  • 8589

JAVAWEB开发中过滤器的概述及使用

1.什么是过滤器?        过滤器是向WEB应用程序的请求和响应添加功能的WEB服务组件 2.过滤器的作用      1)可以统一的集中处理请求和相应      2)可以实现对请求数据的过滤 3...
  • sinat_35598260
  • sinat_35598260
  • 2016-08-24 22:28:54
  • 1916

配置Java Web中文乱码的过滤器

编写CharacterEncodingFilter类让其继承Filter,其中Filter导包应该为import javax.servlet.Filter;如果没有这个包需要配置服务器(可配置tomc...
  • DayDayPlayPhone
  • DayDayPlayPhone
  • 2015-11-12 18:37:25
  • 1977

javaWEB字符编码过滤器

有很多人在开发过程中,会遇到servlet页面传值乱码问题,现在有我来实现一个字符编码过滤器: 代码如下: public class Filter implements javax.servlet...
  • xxf159797
  • xxf159797
  • 2016-12-15 19:08:23
  • 824

java web中过滤器的配置

首先在项目中新建个类 public class FirstFilter implements Filter 要实现Filter接口 代码如下 package jia; import ja...
  • fengzijia
  • fengzijia
  • 2014-12-18 23:58:48
  • 1049

java web 过滤器开发步骤和简单的小例子

Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 htm...
  • alleged
  • alleged
  • 2016-08-18 10:28:26
  • 3845

java web 拦截器与过滤器区别

什么是拦截器(Interceptor )?          拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入...
  • u014655465
  • u014655465
  • 2015-07-10 09:41:10
  • 2729

Java Web 之过滤器Filter详解

、概念: Filter也称之为过滤器,它是Servlet技术中比较激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件...
  • xiantingxinbuone
  • xiantingxinbuone
  • 2013-08-18 21:53:31
  • 1935

javaWeb项目中如何使用过滤器

过滤器就是在源数据和目的数据之间起过滤作用的中间件。          Web应用中,在处理请求时,经常有一些公共的工作,比如设置字符集。这样的工作需要写在每个页面,这样的写法费力且不好修改。使...
  • liuruirui1986
  • liuruirui1986
  • 2015-10-13 17:11:08
  • 4841

JavaWeb——过滤器的原理

在写一个JavaWeb的网站的时候遇到了这样一个问题。我将WebRoot下面的一个user文件夹设置成必须登录才可以访问,所以就使用了过滤器 public void doFilter(Servl...
  • fonxian
  • fonxian
  • 2015-06-11 11:12:58
  • 1744
收藏助手
不良信息举报
您举报文章:Java web过滤器
举报原因:
原因补充:

(最多只允许输入30个字)