晕了整了一个晚上就是无法访问原来是因为用了do的后缀名改成action的后缀名就可以访问了而且只能用XXXaction的形式否则无法访问
看来还是由于对struts的过滤机制不是很清楚
但是我把webxml设成这样竟然也不行
<filtermapping>
<filtername>struts</filtername>
<urlpattern>*do</urlpattern>
</filtermapping>
我觉得这一点就不太好了应该可以自定义URL匹配的嘛
为什么非要改到strutsproperties文件里面呢
既然structsproperties一般不修改因此可以在strutsxml里面通过<constant>元素修改
方法如下
在strutsxml里面添加红色部分
<struts>
……
<constant name=strutsactionextension value=doaction />
……
</struts>
其中value属性可以设置成你想要的后缀名value=doaction表示actiondo都可以访问
也可通过修改structsproperties文件来设定
只需修改文件里面的strutsactionextension的值即可多个值之间以逗号分开比如strutsactionextension=doaction