• servlet & filter & listener & interceptor


    web.xml 的加载顺序是:context- param -> listener -> filter -> servlet

    * Servlet

    对URL生效,用户处理用户的URL请求,流程是短的,处理完转到指定页面即结束;

    * Filter

    对URL生效,响应用户请求(Servlet、Action、HTML、JSP等处理前)前做过滤,线性结构,处理完后,请求交给下一个Filter或者Action处理;

    常用场景:字符编码、用户登陆的权限控制等;

    * Listener

    定义在web.xml中,用于对容器的相关事件做监听,如ContextLoaderListener,在Context加载完后触发;

    servlet2.4规范中提供了8个listener接口,可以将其分为三类,分别如下: 
    第一类:与servletContext有关的listner接口。包括:ServletContextListener、ServletContextAttributeListener 
    第二类:与HttpSession有关的Listner接口。包括:HttpSessionListner、HttpSessionAttributeListener、HttpSessionBindingListener、HttpSessionActivationListener; 
    第三类:与ServletRequest有关的Listener接口,包括:ServletRequestListner、ServletRequestAttributeListener

    * Interceptor

    定义在struts.xml中,不是针对URL做过滤,而是对Action请求做拦截处理;

    常用场景:事务管理,DB读写分离,分库管理;

    struts2中的过滤器和拦截器的区别与联系:

     (1)拦截器是基于java反射机制的,而过滤器是基于函数回调的。 
     (2)过滤器依赖与servlet容器,而拦截器不依赖与servlet容器。 
     (3)拦截器只能对Action请求起作用,而过滤器则可以对几乎所有请求起作用。 
     (4)拦截器可以访问Action上下文、值栈里的对象,而过滤器不能。 

    ----------------------------------------------------------------------------------------------------------

    1、servlet:

              2、filter:

               3、listener:

               4、interceptor:

  • 相关阅读:
    C51 使用端口 个人笔记
    C51 静态数码管 个人笔记
    C51 矩阵按键 个人笔记
    C51 蜂鸣器 个人笔记
    C51 独立按键 个人笔记
    C51 中断 个人笔记
    CC3200 TI 笔记
    iar修改包含路径的方法
    WCF绑定和行为在普通应用和SilverLight应用一些对比
    用批处理来自动化项目编译及部署(附Demo)
  • 原文地址:https://www.cnblogs.com/shine_cn/p/4071578.html
Copyright © 2020-2023  润新知