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