小技巧,Tomcat 下 Servlet3.0 应用无 web.xml 指定欢迎页引出的路径消除

血红的双手。 提交于 2019-11-28 15:09:02
本文在 CSDN 发表路径为: http://blog.csdn.net/shanelooli/article/details/7690464
在 ITeye 发表路径为: http://surmounting.iteye.com/admin/blogs/1567614

一般来说,访问网络应用程序需要:
协议 + 域名/IP + 端口 + 应用根路径 + 服务路径 + 参数

大家都知道对于 http 协议,浏览器能够自动在路径前补充协议;端口可以通过指定为 80 端口来省略。这里咱们来看看如何省略应用根路径和服务路径。

Tomcat 7.x 全面支持 Servlet3.0 标准。这意味着网络应用程序可以甩开 web.xml 而直接在程序中通过类标注(Annotation)指定谁是 Servlet 。这种方便的编程方式一经使用,就要求应用不能再有 web.xml ,否则类标注不会被 Tomcat 识别。但这引发了一个问题。我们之前都是通过
<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.xml 没有了,服务路径怎么省略不写而继续正常访问呢?

Tomcat 目录中有 conf 目录,里边提供了一个 web.xml 。其存在并不会影响具体一个应用中类标注的识别。于是我们可以在这里指定欢迎页,虽然会让每一个应用程序都具有相同的自动指向,但是却能因此省略掉服务路径。

至于应用根路径,之前提到过。我们常在 Tomcat 目录中,用 conf/Catalina/localhost/appxxxx.xml 来引入外源应用程序。这里可以转为制作 ROOT.xml 文件代替具体的某一个 appxxxx.xml 。文件内容可以完全一样,不过要求 path 的值必须为空字符串。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!