web.xml使用动态页面定义欢迎页面

February 13, 2015

继续阅读

web.xml中的可以配置默认的欢迎页面。例如

<welecome-file>
    <welcome-file>index.html</welcome-file>
<welecome-file>

域名为www.a.com,则访问这个网址的时候,web容器会自动定向到index.html这个页面。

但是这里有一个问题,index.html必须是一个在webapp目录下存在的静态文件,否则会出404错误!而更多的情况是,我们主页是一个动态页面,如index.actionindex.do等,但是配置<welcome-file>index.action</welcome-file>是没有用的,容易依然会去webapp目录下找index.action这个静态页面,结果找不到就会出现404错误。

解决这个问题,一个方案是在webapp下放置index.html,在这个页面中用js跳转到index.action.我个人不推荐这个方法,因为首页对SEO来讲非常重要,如果用一个空白页面index.html用js跳转到真实的首页index.action,会影响网站的SEO。

我个人推荐的是另外一种解决方案,直接在webapp目录下放置一个空白文件index.action。这时,容器就能找到index.action这个静态文件了,但是真正访问这个文件的时候,由于index.action已经被filter-mapping配置给拦截了,所以最终会跳转到index.action动态页面