首页 > 代码库 > 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