今天发现了一个bug,首页home.jsp的某一个值是通过拦截器拦截所有页面,然后赋值的,然而我们的首页是通过index.jsp直接引用首页home.jsp代码(如下),拦截器无法拦截。

<%@ include file="./WEB-INF/jsp/home.jsp" %> 

首先,第一个解决方法就是,将首页的引用文件改为跳转即可

<html> 
<head><meta http-equiv="refresh" content="0;URL=/"></head> 
<body> 
<h2></h2> 
</body> 
</html> 

第二个方法就是,在web.xml中配置

  <welcome-file-list> 
  	<welcome-file></welcome-file> 
  </welcome-file-list> 

这个配置标识根路径不要web服务器来处理,而是由程序自身来处理。这时,index.jsp也就不起作用了。
然后在controller中写一个路径为"/"的映射页面即可。

PS:相关知识点
web.xml 中没有配置任何有关欢迎页的信息等效于如下配置:这个会由Web容器最先访问!

//-未指定欢迎页时,缺省等于如下配置。这个应该不同的Web服务器可以设置,但大多数都如此-

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

如果不想让web服务器自动配置,则可以添加

  <welcome-file-list> 
  	<welcome-file></welcome-file> 
  </welcome-file-list> 
评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!