过滤器&监听器

1. 过滤器

1.1什么是过滤器

  • Filter 过滤器它是 JavaWeb 的三大组件之一。三大组件分别是Servlet 程序、Listener 监听器、Filter 过滤器。
  • Filter 过滤器它是 JavaEE 的规范,也就是一个接口。
  • Filter 过滤器它的作用是拦截请求和过滤响应。拦截请求常见的应用场景有权限检查、日记操作、事务管理等等。

1.2过滤器的作用

Filter:过滤器一方面可以过滤掉不需要的内容,也可以对内容进行加工处理。
过滤器可以加很多个

过滤器是在servlet之前加的
实现过滤器和servlet的结合需要进行关联并且实现跳转的功能(类似servlet的转发和重定向)

1.3 过滤器的功能

功能:
1.用来拦截传入的请求和传出的响应
2.修改或以某种方式处理正在客户端和服务器端之间交换的数据流。

如何使用?
与使用servlet(也是一个接口)类似,Filter是javaWeb提供的一个接口,开发者只需要自定义一个类实现该接口就可以了。

1.4 Filter过滤器的使用

public class AdminFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
	//过滤器被创建
    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        
         //一般都会调用放行方法让程序继续往下访问用户目标资源
         filterChain.doFilter(servletRequest,servletResponse);

    }

    @Override
    public void destroy() {
		//过滤器被删除
    }
}

编写一个类去实现 Filter 接口,并实现过滤方法 doFilter()

1.5 过滤器的web.xml文件配置

<filter>
        <filter-name>character</filter-name>
        <filter-class>com.southwind.filter.CharacterFilter</filter-class>
    </filter>
    
<filter-mapping>
     <filter-name>character</filter-name>
     <url-pattern>/test</url-pattern>
</filter-mapping>

2. 监听器

2.1 什么是监听器

监听器也叫Listener,是Servlet的监听器,它可以监听客户端的请求、服务端的操作等。通过监听器,可以自动激发一些操作,比如监听在线的用户的数量。

2.2 Listener接口分类

2.2.1 ServletContext监听器

  1. ServletContextListener监听ServletContext对象
  2. ServletContextAttributeListener监听对ServletContext属性的操作,比如增加、删除、修改

2.2.2 HttpSession监听器

  1. HttpSessionListener监听Session对象
  2. HttpSessionAttributeListener监听Session中的属性操作
  3. HttpSessionActivationListener监听HTTP会话的active和passivate情况,passivate是指非活动的session被写入持久设备(比如硬盘),active相反。
注意: HttpSessionActivationListener不需要web.xml配置文件
  1. HttpSessionBindingListener监听器:感知Session绑定的事件监听器
注意: HttpSessionBindingListener不需要web.xml配置文件

2.2.3 ServletRequest监听器

  1. ServletRequestListener监听Request对象
  2. ServletRequestAttributeListener监听Requset中的属性操作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值