Filter过滤器的作用

Filter过滤器的作用

    • Filter的作用:过滤器处于客户端和服务器端资源之间,对所有的请求或者响应进行拦截操作
    • Filter过滤器在开发过程中的实际运用:
    • Servlet 开发和Filter开发做对比
        • Servlet开发
        • Filter开发

Filter的作用:过滤器处于客户端和服务器端资源之间,对所有的请求或者响应进行拦截操作

1:以常规的方式调用资源(Servlet/JSP);
2:利用修改过的请求信息调用资源;
3:调用资源之后,但在响应到客户端之前,对响应做出修改;
4:阻止当前资源调用,代之转到其他资源。

Filter过滤器在开发过程中的实际运用:

  • 对请求中的字符设置编码
  • 登陆验证过滤器(用户在跳转页面的 时候必须保证它是一直登录的,那么就需要编写一个Filter 类登录验证)
  • 对敏感字(非法文字)进行过滤
  • 作为MVC框架中的前端控制器(拦截用户的请求)

Servlet 开发和Filter开发做对比

Servlet开发
  1. 自定义一个类(xxxxServlet),实现于javax.servlet.Servlet
  2. Servlet接口中的方法 init() 初始化方法、service() 处理请求 、destory() 销毁
  3. 通过Tomcat管理Servlet程序(web服务器有很多,不止Tomcat,但是这里只说Tomcat)=在web.xml配置Servlet,自定义的Servlet上使用WebServlet("/资源名")
<servlet>
    <servlet-name>自定义的Servlet的别名(别名)servlet-name>
    <servlet-class>自定义所在Servlet的全限定类名servlet-class>
servlet>

  <servlet-mapping>
    <servlet-name>(别名)servlet-name>
    <url-pattern>/资源名称url-pattern>
  servlet-mapping>

url-patter的资源名称:是外界访问Servlet的资源名称

Filter开发
  1. 自定义一个xxxFilter ,实现于javax.servlet.Filter接口
  2. Filter接口中的方法 init(FilterConfig varl) 过滤对象出现,deFilter()对请求进行过滤操作 ,destory()销毁对象
    Filter过滤器的作用_第1张图片

3.通过Tomcat管理Filter程序:web.xml配置做相关配置,Filter使用WebFilter(“/资源名”)

<filter>
  	<filter-name>自定义的Filter的别名filter-name>
  	<filter-class>自定义Filter的全限定名filter-class>
 filter>
 <filter-mapping>
  	<filter-name>别名filter-name>
  	
  	<url-pattern>/资源名称url-pattern>
 filter-mapping>

url-pattern:

url-pattern的文本内容是指Filter对哪一些资源进行过滤操作:

             如:      /yu.jsp :说明当前自定义的Filter类只会对/yu.jsp做拦截/过滤。

                       /com    :说明当前Filter只会对/com所处的资源做拦截/过滤。

                       /yu/*   :说明当前Filter只会对以/yu/作为前缀的资源做拦截/过滤。

                       /*      :说明当前Filter会对所有资源做拦截/过滤。

FilterChain(过滤器链)执行完doFilter()的时候要么在if中跳转其他页面 和else中放行请求(chain.doFilter(request,response))。总之拦截请求成功之后必须对请求放行

你可能感兴趣的:(#,JavaEE,servlet,filter,javaweb,过滤器)