欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

javaweb项目如何将起始页配置为动态地址

程序员文章站 2022-05-27 15:02:30
...

在javaweb项目中,我们可以通过配置web.xml中的<welcome-file-list>设置起始页,如下:

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

 通过此配置,在访问url:http://localhost:8080/项目名  时,会直接进入index.html或index.jsp页面中。

 

但是此种方法只能将起始页配置成静态页面,若是配置成动态url,如:

<welcome-file-list>
	<welcome-file>user/login.shtml</welcome-file>
</welcome-file-list>

在访问时,会报404错误。

 

这是由于tomcat的逻辑流程:

    针对welcome-file中的配置,tomcat会判断根目录文件是否存在,若不存在,直接返回404。

 

解决办法:在webapp目录下建立user/login.shtml,用于欺骗tomcat。tomcat判断根目录文件存在,继续流程,之后交由spring处理,成功配置起始页为动态url。

 

web.xml中spring配置如下:

	<servlet>
		<servlet-name>SpringMVC</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:spring-mvc.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
		<async-supported>true</async-supported>
	</servlet>
	<servlet-mapping>
		<servlet-name>SpringMVC</servlet-name>
		<url-pattern>*.shtml</url-pattern>
	</servlet-mapping>