在struts2中的web.xml配置文件:
----------==============================================--------
  <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>
----------==============================================--------
关键是 <url-pattern>/*</url-pattern>这句话,其中的/*是URI路径,在它容器的内部URL是怎么样分析的,
假如我的一个完整URI路径:http://localhost/Struts2_0500_ActionMethod/user/userAdd
其中namespace="/user",<action name="userAdd" />
web.xml是如何根据URL找到struts.xml里面的配置

解决方案 »

  1.   

    这个明显是一个过滤器,过滤器的<url-pattern>可以理解为一个过滤范围.当一个请求经过上下文时,容器会去匹配<url-pattern>,如果在范围内就执行相应的过滤,如果不在<url-pattern>路径内就跳过."/*"这个代表对项目的所有资源进行过滤,"/user/*"代表对项目路径下一个user下的所有资源进行过滤.
      

  2.   

    web.xml里面/*表示所有的都要经过那个过滤器。你给的
    http://localhost/Struts2_0500_ActionMethod/user/userAdd
    应该是想问struts.xml怎么根据这个来找到对应的action吧?
    先看user命名空间里面有没有userAdd,没有就看/里面有没有,还没有就出错。去看看struts2的reference,里面很清楚
      

  3.   

    其实我的问题很简单:提交一个url,这个url是怎么被分析的,我要详细的分析过程,从被web.xml截获到struts.xml中间的一系列过程
      

  4.   

    struts 源码分析
    http://www.blogjava.net/myyate/archive/2009/07/27/252043.html
      

  5.   


    我要对路径是“/user/*”来测试一下