首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Struts2-查寻action方法

2012-10-18 
Struts2----查找action方法假设url请求为http://127.0.0.1:8888/Struts2Study/namespace/NameSpace.action

Struts2----查找action方法
假设url请求为http://127.0.0.1:8888/Struts2Study/namespace/NameSpace.action
,这时filterdispatcher触发,然后其发现请求url是以.action结尾,然后其就去配置文件里面查找,匹配的方式应该是

1. 将http://127.0.0.1:8888/Struts2Study请求资源的根路径去掉;
2. 然后再将最后的.action去掉留下中间那部分(这里就是/namespace/NameSpace);
3. 然后将剩下这部分再分为两个部分,即最后一个/以前的部分,和最后一个/以后部分。

分解以后就是这样,/namesapce(最后一个/以前,不包括最后一个/)和NameSpace(最后一个/以后,不包括最后一个/)

1. 然后拿分解出来的第一部分去和package元素里的namespace比对;
2. 找到相同的就在这个package元素里找其子action元素的name属性和分解出来的第二部分对比;
3. 相同就执行其class属性对应的类;
4. 如果找不到,就会到默认namespace(包含三种,分别是namespace空缺不写、namespace="/"和namespace="")[里去找,优先在namespace空缺不写的package中查找,如找到对应的action,则执行其class属性对应的类;否则在namesapce="/"查找,如找到对应的action,则执行其class属性对应的类;否则在namesapce=""查找,如找到对应的action,则执行其class属性对应的类;否则会报错。

热点排行