首页 > 代码库 > 服务器中设置.do等为首页的方法

服务器中设置.do等为首页的方法

 

服务器中设置.do等为首页的方法

众所周知,在java web程序中,可以利用web.xml设置网站首页,如:

<welcome-file-list> 
  <welcome-file>index.jsp</welcome-file> 

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

这样设置就不行了,如配置:

<welcome-file>index.do</welcome-file>

index.do是自己实现的一个Action或者controller。这样访问时会提示404错误。并不会按照我们想象的直接访问index.do。

其实welcome-file这个标记本身就能说明问题,因为它让你指定的是file,而不是“page”,所以这个地址必须为一个实际存在的文件。

有很多人说直接在index.jsp里forword或者redirect到index.do就可以了,这样做倒是能大概实现,但是用户感觉多少有些奇怪。

如何这个问题解决呢?其实超级简单。只要建立一个空文件就可以了。如我们要设置首页为struts的index.do为首页,直接配置

<welcome-file>index.do</welcome-file>
然后在web根目录创建一个index.do的空文件即可。

有人可能疑惑会不会直接访问到这个空文件里,答案是根本不会。如strtuts1中,dipatcherservlet的servlet mappting为/*.do,这样所有.do请求都会被拦截,由strtus处理,也就会直接访问真正的index.do这个action了。

有了这个空文件,同样也可以在apache的DirectoryIndex里配置首页了。原理是一样的。