JavaWeb三大组件

Servlet、Filter、Listener

1、Servlet:处理请求

2、Filter:过滤拦截请求

  用法:1、实现接口  

        2、到web.xml配置

  配置:

<filter>
    <filter-name>名字</filter-name>
    <filter-class>全类名<filter-class>
</filter>
<filter-mapping> <filter-name>名字</filter-name> <url-pattern> </url-pattern> </filter-mapping>

<url-pattern></url-pattern>

    有三种写法:

       1、精确匹配:/pics/haha.jsp /hello/login :直接拦截指定的路径

       2、路径匹配:/pics/*  :拦截/pics下的所有请求

       3、后缀匹配:*.jsp     :拦截所有以.jsp结尾的请求

       4、非法匹配:/pics/*.jsp  :这种写法不对

Filter原理:

    doFilter(){

    //放行请求

    chain.doFilter(request,response);

}

    

      

3、Listener:监听器

 共有八个:

  ServletRequest(2),HttpSession(4),ServletContext(2)

  2:生命周期监听器、属性变化监听器

  4:(HttpSession):

  2:额外的两个(活化钝化监听器,绑定解绑监听器)

常用:

  ServletContextListener:(声明周期监听器):监听ServletContext的创建和销毁【监听服务器的启动与停止】;服务器启动,为当前项目创建ServletContext对象,服务器停止则销毁此对象

  什么是ServletConText?:

    1、一个web项目对应一个ServletContext,他代表当前web项目信息

    2、还可以作为最大的域对象在整个项目运行区间共享数据 

三大组件基本都要在web.xml中配置,除过Listener的两个(活化钝化监听器,绑定解绑监听器)需要JavaBean实现,不注册外,剩下的三大组件都要注册。

  用法:实现对应的监听器接口

     去web.xml配置

        注意,HttpSessionActivationListener和HttpSessionBindingListener需要Javabean实现接口

原文地址:https://www.cnblogs.com/Timeouting-Study/p/12558135.html