问题
要访问struts2,就要这样在浏览器的地址栏中写:http://localhost:8080/struts2/helloworld.action。
但如果我想这样访问struts2,http://localhost:8080/struts2/helloworld.do ?该怎么办?
答案
很简单,只需在项目的/WEB-INF/classes/文件夹中加入一个struts.properties文件。文件的内容如下:
struts.action.extension=do
在eclispe中开发的时候,struts.properties文件可放在src文件夹中,struts.properties会自动复制到/WEB-INF/classes/文件夹中。
总结
1. 这和struts1.x中的配置方式不同。
struts1.x是通过url的映射来实现的
<url-pattern>*.do</url-pattern>
而struts2不能这样配置,因为struts2处理的不仅有*.do这样的url,还有像/dojo/*这样的映射。所以,struts2的url映射要这样写
<url-pattern>/*</url-pattern>
这样struts2就能截获所有的url请求了,但它只处理它能处理的请求,其他的就交给Servlet容器处理。
2. 也可不在struts.properties文件写,而只在struts.xml中写上
<constant name="struts.action.extension" value="do" />
不过,Struts2建议写在struts.properties中(我也这样建议)。
发表于 @ 2008年07月23日 12:41:00|评论(loading...)|编辑|收藏