他们谁先执行,分别在什么时候会执行?他们是不是都要配合框架来用?

解决方案 »

  1.   

    1.Listener
    2.FilterServlet不提供Inteceptor。Inteceptor只是一种设计模式实现而已。与Listener/Filter无关。
      

  2.   


    Iterceptor是会在每次请求的时候都执行,Filter在什么时候执行啊?Listener呢?
      

  3.   

    看了些资料 应该是先执行Filter 在执行Interceptor没测试过Listener
      

  4.   

    已经把顺序给你列出来了,Listener是应用启动/停止就执行。Filter应用启动启动也会初始化。根据你定制的过滤规则来先把是否应该执行。
    至于Inteceptor与Filter不是同一个类型的东西。我不知道你是拿什么来说Inteceptor的,现在很多框架都有这种模式(你自己也可以写Inteceptor)。也没有什么标准。
      

  5.   

    1.listtener是在启动、关闭tomcat时执行init(),destory()方法
    2.filter是在tomcat启动时初始化的,主要时做过虑
    3.interceptor是请求前后都执行的,
    我觉得是是interceptor也是用filter原理写的,struts2本质是一个filter,比较两个filter谁先谁后,看配置文件应该可以解决了(个人见解,不知道有没有理解错)
      

  6.   

    刚看了下,理解有点错误,因为interceptor是用struts2初始化的,所以也是比较两个filter吧
      

  7.   


    本人新手 很多东西理解起来比较生硬 所以有很多说的不正确的地方 Listener在Tomcat启动后就会初始化了,但是会不会每个请求都会经过Listener呢?如果一个请求三者都会过滤,那么过滤顺序是什么样的呢?
      

  8.   

    Listener不会过滤请求。
    过滤器的顺序就是你webxml中配置的顺序。
      

  9.   


    那Listener是怎么执行的呢?我知道HttpSessionListener是事件触发的,所有Listener都是事件触发的吗?
      

  10.   

    Listener是一个监听。HttpSessionListener是Java EE平台规范提供的接口。
    所有Servlet容器都实现了这个标准,在启动你的时,由Servlet容器来执行调用ServletContextListener的。(如:Tomcat在加载你的项目时会执行执行所有的Listeners。)
    HttpSessionListener是由Servlet容器在创建Session的时候会执行。