spring action请求三种配置方式

struts中action的配置方式

struts2中action的配置请求有三种方式

1.精确配置,一个action对应一个请求方法

如:<action name="test" class="cn.dhcc.action.TestAction" method="test"></action>

这样一个action就仅仅对应一个处理方法

http://xxxxx:8080/web/test/test.action----对应就是TestAction的test()方法

这种方式比较麻烦,一个方法对应一个action配置

这种方式不用配置allowedMethods,因为,请求的方法test就等于了ActionConfig的methodName属性了

2.模糊匹配,一个action对应多个请求方法,通过占位符来实现

如:<action name="*Action" class="loginAction" method="{1}">

请求http://xxxxx:8080/web/test/loginAction.action----对应就是loginAction的login()方法

    http://xxxxx:8080/web/test/logoutAction.action----对应就是loginAction的logout()方法

这种方式可以动态的指定请求方法,但可读性不好,因为占位符是name的一部分,这么以来就会出现loginAction logoutAction--无法准确的知道到底是哪个action类

这种方式一定要配置allowedMethods指明可以动态访问的方法,因为,动态方法不会等于ActionConfig的methodName属性又不等于默认的execute,只能通过是否配置了allowedMethods来判断可访问性

3.模糊匹配,一个action对应多个请求方法,通过!感叹号来实现

如:<action name="testAction" class="cn.dhcc.action.TestAction" ></action> 配置action的时候,不指明方法名。请求的时候指定

如:http://xxxxx:8080/web/test/testAction!test.action----对应就是TestAction的test()方法

http://xxxxx:8080/web/test/testAction!list.action----对应就是TestAction的list()方法

这种方式也可以动态的指定请求方法,并且可读性好,因为一看就知道test list都是同一个action类,这对于一个模块的多个方法(一个模块一个类来表示),可以准确的知道所在的是哪个模块,推荐使用

这种方式也一定要配置allowedMethods指明可以动态访问的方法,因为,动态方法不会等于ActionConfig的methodName属性又不等于默认的execute,只能通过是否配置了allowedMethods来判断可访问性

转载于:https://my.oschina.net/yibuliushen/blog/737895

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值