web.xml中<welcome-file-list>标签不起作用

之前也都提到过,web.xml会通过<servlet>和<servlet-mapping>来确定url和指定contoller文件,乃至于jsp页面的联系。

但是有一个<welcome-file-list>的标签用于指定开始的欢迎页面,显然两者会发生冲突,web程序将会如何处理呢?很简单,来做个实验即可,这时就需要物理的控制变量法了,我们设置welcome欢迎页和servlet处理的页不同,配置如下所示:

  <welcome-file-list>
    <welcome-file>/WEB-INF/jsp/falsepaswd.jsp</welcome-file>
  </welcome-file-list>

注意!路径是以web-app为根目录的,是/WEB-INF/jsp/falsepaswd.jsp,而不是WEB-INF/jsp/falsepaswd.jsp,千万不要少了前面的斜杠。

  <servlet>
    <servlet-name>spring-mvc</servlet-name>
    <servlet-class>
      org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>spring-mvc</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

初始的url配置方式如下:

 

 当url是上图中那样时,servlet会起作用,而不管上图中的url是什么,welcome-file都会先出现,显然这时两者会起冲突。

 

直接运行最终结果现实,servlet的优先级还是要高于welcome页面:

显示结果是经servlet及controller文件处理后的结果!

 

 

当然,此时删除welcome标签不会对上述结果有任何影响。

 

如果想让welcome标签起效,这是我们只需要修改初始url即可,只要不与serlvet冲突即可。

此时url无任何冲突!

 

此时成功跳转到welcome页面:

 

 我们再直接键入/hello,仍能进入相关页面:

 

 

 再删除,也能成功返回,看来该url已经与welcome页面相绑定

 

 

 关于<welcome-file-list>标签的问题

 

posted @ 2019-10-12 17:12  LeftBody  阅读(4263)  评论(0编辑  收藏  举报