Filter和Listener-javaweb学习笔记(十)

一、Filter是什么?

二、Filter快速入门

三、Filter执行流程

四、Filter使用细节

(一)Filter拦截路径配置

(二)过滤器链

五、Listener

1.概念

2.描述

3.Listeren分类


一、Filter是什么?

Fiter表述过滤器,是javaweb三大组件(Servlet,Filter,Listener)之一

过滤器可以把对资源的请求拦截下列,从而实现一些特殊的功能。

过滤器一般完成一些通用的操作,比如:权限控制,同一编码处理,敏感字符处理

 web资源里都要写的代码,在这写不就行了,不用复写了

二、Filter快速入门

1.定义类,实现Filter接口,并重写其所有方法

public class Filterdemo implements Filter {

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        Filter.super.init(filterConfig);
    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
     
    }

    @Override
    public void destroy() {
        Filter.super.destroy();
    }
}

2.配置Filter拦截资源路径:在类定义@WebFilter注解

@WebFilter("/*")
public class Filterdemo implements Filter {

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        Filter.super.init(filterConfig);
    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        System.out.println("demo..");
        //放行
    }

    @Override
    public void destroy() {
        Filter.super.destroy();
    }
}

3.在doFilter方法中处理后再放行

@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
    System.out.println("demo..");
    //放行
    filterChain.doFilter(servletRequest,servletResponse);
}

三、Filter执行流程

1.放行后访问玩对应资源,资源访问完成后,还会回到Filter中吗

        会

2,如果回到Filter中,是重头执行还是执行放行后的逻辑呢

        放行之后的逻辑

 

四、Filter使用细节

(一)Filter拦截路径配置

拦截具体资源:/index.jsp:只有访问index.jsp时才会被拦截

目录拦截:/user/*:访问/user下的所有资源,都会被拦截

后缀名拦截:*.jsp:访问后缀名为jsp的资源,都会被拦截

拦截所有:/*:访问所有资源均会被拦截

(二)过滤器链

一个Web应用,可以配置多个过滤器,这多个过滤器链称为过滤器链

 执行顺序:

注解配置的Filter,优先级按照过滤器类名(字符串)的自然排序

五、Listener

用的并不多了

1.概念

Listener表示监听器,是JavaWeb三大组件(Servlet,Filter,Listener)之一

2.描述

监听器可以监听,就是再application,session,request三个对象创建,销毁或者往其中添加修改删除属性时自动执行代码的功能组件

application:代表整个web应用

3.Listeren分类

Javeweb提供了8个监听器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rosen6664

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值