java web 开发,使用ssh框架,项目配置文件web.xml中有filter,listener,servlet等。浏览器发出一个请求(可能请求action,jsp,servlet等)。
我的疑惑是所有正确的请求都会先被web.xml中的filter过滤一遍吗?或者是所有请求都会被web.xml中的内容处理?有哪位大神知道的给小弟讲解下,不胜感激!

解决方案 »

  1.   

    我的疑惑是所有正确的请求都会先被web.xml中的filter过滤一遍吗?web.xml配置的只是一个字符串,真正的做这个过滤的是filter那里的代码,所有的先经过过滤器,然后再走下面的action
      

  2.   

    我的疑惑是所有正确的请求都会先被web.xml中的filter过滤一遍吗?这个要看filter的url-pattern是怎么配置的。或者是所有请求都会被web.xml中的内容处理?
    web.xml不处理请求,只是一个配置文件,告诉servlet容器该APP需要按什么方式去工作
      

  3.   

    这要看怎么配置了,譬如   <url-pattern>/*</url-pattern>会对所有没有后缀名以及以struts2默认后缀名(如.action)结尾的url进行拦截,否则不会拦截
      

  4.   

    struts2
     <filter>
      <filter-name>struts2</filter-name> 
      <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 
      </filter>
    - <filter-mapping>
      <filter-name>struts2</filter-name> 
      <url-pattern>/*</url-pattern> 
      </filter-mapping>filter-mapping中url-patthern
    在JSP中的ACTION等等链接,只要地址匹配url-patthern,都会走过滤器