web.xml中标签不起作用


之前也都提到过,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>标签的问题

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM