首页 > 代码库 > struts2中<welcome-file>index.action</welcome-file>直接设置action,404的解决方案
struts2中<welcome-file>index.action</welcome-file>直接设置action,404的解决方案
这几天的项目页面的访问全部改为.action访问,在修改首页时遇到了问题。将web.xml文件中<welcome-file>index.action</welcome-file>修改成这样,访问首页时报404错误,也就是说文件找不到。上网查了有两种解决方法。
方法一、在WebRoot下新建一个index.action空文件,这个方法简单实用,强烈推荐。
方法二、因为 welcome-file 必须是实际存在的文件,不能是action或者servlet路径你可以设置一个 比如 <welcome-file>goindex.jsp</welcome-file>,然后 goindex.jsp 写 <jsp:forward page="index.action" /> 就行了。意思就是借助一个jsp页面来转发请求进入action。
方法三:在index.html中使用META重定向。
操作:<META HTTP-EQUIV="Refresh" CONTENT="0;URL=max/HelloWorld.action">
其中,
content="1 是时间控制,表示1秒后自动跳转到要跳转的页面.
content="0 表示打开该页后立即跳转到你要跳转的页面.
url 是要跳转的路径
——————————————————————————————————————————————
在struts2中还很特别:
原因:
因为struts2采用过滤器的方式处理请求,默认情况时监控url地址的变化
必须如下操作:
第一步:
web.xml中修改
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern >/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
第二步:
web.xml中添加
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
第三步:
首页跳转语句
index.jsp内容如下:
<jsp:forward page="HelloWorld.action"></jsp:forward>
或者采用方法三!!!
来自:http://blog.sina.com.cn/s/blog_4b5bc0110100yrn2.html