javaWeb系列之十六(过滤器)



1.过滤器的概述和入门案例
    发送请求到目标资源,在请求道目标资源之前进行过滤。
    在javaweb中的三大主件:servlet,监听器,过滤器
2.实现过滤器的方式
    servlet和监听器都是实现响应的接口
    实现过滤器,也是实现一个接口,Filter
    在web.xml中进行配置,让服务器知道这不是普通的类(和监听器一样)
    在这个包里面import javax.servlet.Filter;
    filter-name:过滤器名称,不一定是类名,/*:表示过滤所有
    <filter>
    <filter-name>testFilter1</filter-name>
    <filter-class>cn.itcast.filter.TestFilter</filter-class>
    </filter>
 
    <filter-mapping> 
    <filter-name>testFilter1</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    访问项目里面的jsp,过滤器启动了,过滤了,可是没有放行,可是没有显示,所以页面是空白的。
    chain.doFilter(request, response);做的就是放行。
2.FilterChain对象
    1.是一个接口,在javax.servlet包里面
    doFilter(ServletRequest request, ServletResponse response)
    2.放行操作
    过滤链:可以多次过滤,其实就是多个过滤器,
   
3.过滤器的生命周期
    servlet的生命周期:init方法:在servlet在第一次访问的时候创建,service方法请求一次执行一次执行多次,destory方法:servlet销毁的时候执行一次       
    init():过滤器创建的时候执行,服务器启动的时候创建的,执行一次
    doFilter():过滤器执行到匹配的过滤路径的时候,会执行多次
    destory():服务器关闭的时候,销毁执行
4.FilterConfig对象的介绍
    和servlet里面的ServletConfig比较相似,获取初始化参数,获取当前servlet名称,获取servletContext对象
    在servlet标签下配置:<init-param><param-name></param-value></init-param>
    servletConfig对象,
    第一个获取过滤器的名称,getFilterName()
    获取初始化参数,getInitParameter():根据初始化参数的值 Enumeration<java.lang.>
    获取servletContext对象,getServletContext()
5.过滤器的配置
    关于<url-pattern>的配置:有三种:
    第一种:完全路径匹配
    第二种:目录匹配,比如/*,所有的路径都能匹配到
    第三种:扩展名配置
    在过滤器里面还有其他的一些配置都是在filter-mapping里面设置
    只过滤一个servlet
    <filter-mapping><servlet-name></servlet-name></filter-mapping>
    第二个<dispatcher>
    REQUEST:默认情况下的值
    FORWARD:过滤转发的操作。
    INCLUDE:过滤包含
    ERROR:过滤错误
    如果在web.xml中配置了多个过滤器,都会执行,多个过滤的执行顺序,和我们的filter-mapping的配置顺序有关系,
关闭浏览器不会消除session,而是因为cookie没有了,没法找到他。
案例一:统一网站字符集编码过滤器   
案例二:登录   
   








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值