struts2零配置(注解)的访问路径

1.需要导入的包

struts2-convention-plugin-2.3.14.jar

asm-3.3.jar

asm-commons-3.3.jar

asm-tree-3.3.jar

2.路径访问的规则

struts2-convention-plugin-*jar的包,这个包会默认依次检索包名里含有struts,struts2,action,actions的包,然后它会对实现了Action接口以及类名以Action结尾的这些类,作为Action来进行处理。不在web.xml中的filter中进行<init-param><param-name>actionPackages。。。的配置也可以。

映射规则:

对于以Action结尾的的类,去掉Action,取剩下的部分,将所有的字母转换为小写,如果有驼峰式的写法,则用"-"连接符来连接不同的单词,这是此插件的默认方式。最终转换之后的就是请求地址,下面看一个例子说明:

(1)com.han.action.OrderAction这个类按照上面的规则,结果路径就是/order.action,访问的url为:http://localhost:8080/工程名/order.action

(2)如果你的包名里面在struts,sturts2,action,action2的后面还有其它的话,那么后面的部分就默认为命名空间,如:

com.han.action.other.OrderAction 请求路径就为:/other/order.action

(3)我们还经常使用驼峰命名法,而它的默认解析规则为用"-"连接符来连接不同的单词,如:

com.han.action.UserOrderAction这个请求路径就为:/user-order.action

(4)如果你的包名里同时含有多个关键字,那么默认将按照我上面写的顺序来解析,如:

com.han.struts.action.OrderAction同时包含struts与action而默认struts的优先级高那么后面的,action就作为普通的字符(默认也就是命名空间)来处理,

所以请求地址就为:/action/order.action

而如果是:com.han.action.struts.OrderAction (因为struts的优先级高)最终的结果就为:/order.action

3.修改默认检索的关键字

那么如果我们不想按照它默认的这几种关键字来检索呢?有办法,那就是通过struts.xml的常量配置来修改它检索的关键字:

<constant name="struts.convention.package.locators" value="han" />

这样就让它默认的检索为包名里是否含有han来判定action了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值