我们的 Java Web 项目在配置web.xml 欢迎页地址默认是index.html 、index.jsp ,不知道有人注意过没有,如果我要配置成/index/user.action 或者 /userList.do 什么的怎么办呢?你可能觉得直接配置就OK了,我告诉你不行。如果可以,你可以忽略本方法。下面讲讲如果不能配置动态地址,怎么办。
配置如下:
<welcome-file-list><welcome-file>/user/index.shtml</welcome-file></welcome-file-list>
我这里是*.shtml ,就是对应的*.do or *.action
结果:访问404。
解决办法:
在webapp 下建一个文件夹,然后再建一个文件,FileName 为 index.shtml 即可。
下面说说原理:
图解释:
我的 SpringMVC web.xml 配置.
<servlet><description>spring mvc servlet</description><servlet-name>springMvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><description>spring mvc 配置文件</description><param-name>contextConfigLocation</param-name><param-value>classpath:spring-mvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet>
也就是当 Tomcat 知道有这个静态页存在,所以去请求的时候,被 SpringMVC mvc servlet 拦截了。转向动态请求了。