什么是在Tomcat中用于WEB-INF中的conf/web.xml?

spr*_*boy 25 java tomcat web.xml

我的Tomcat部署在conf文件夹下有一个web.xml文件.什么是在Tomcat中使用的conf/web.xml而不是WEB-INF中的那个?我需要它吗?

Bal*_*usC 28

是的,你绝对需要它!它包含默认servletJSP servlet的声明.没有它,所有未映射到任何servlet上的请求(例如CSS/JS/images)将停止工作,所有JSP请求将作为普通的未解析源代码返回.

此外,它还包含一个大的mime类型映射,以便根据文件扩展名设置正确的内容类型.没有它,所有内容都将作为传递,application/octet-stream浏览器可能无法解释内容.

不要删除Tomcat的自己web.xml.它包含使您的Web应用程序正常工作所需的最少设置.您最多可以更改默认servlet和JSP servlet的初始化参数,例如启用/禁用目录列表以及启用/禁用空白修剪和其他次要性能设置.您还可以在那里添加额外的mime类型映射,但您也可以在webapp上自行添加web.xml.这也在Tomcat的第一个注释块中明确提到web.xml:

<!-- ======================== Introduction ============================== -->
<!-- This document defines default values for *all* web applications      -->
<!-- loaded into this instance of Tomcat.  As each application is         -->
<!-- deployed, this file is processed, followed by the                    -->
<!-- "/WEB-INF/web.xml" deployment descriptor from your own               -->
<!-- applications.                                                        -->
<!--                                                                      -->
<!-- WARNING:  Do not configure application-specific resources here!      -->
<!-- They should go in the "/WEB-INF/web.xml" file in your application.   -->
Run Code Online (Sandbox Code Playgroud)

  • 只需自己阅读"web.xml"以便了解默认情况下servlet容器的作用,这也是值得的. (2认同)

Liv*_*Liv 8

所述web.xmlWEB-INF是被施加到只有当前的网络的应用程序和这样的控制仅仅是网络应用程序的运行部署描述符.它允许您定义servlet,servlet映射到URL,上下文(启动)参数等.web.xml下Tomcat的conf目录定义了Tomcat实例上所有应用程序的默认参数.理论上,这可能会丢失但是所有部署的Web应用程序都必须定义其中的所有设置 - 这样.jsp页面由JspServlet处理(它将编译它们并加载生成的servlet等),所有mime映射和默认文件列表(对于那些没有指定它的应用程序).你可以把它作为默认设置,你的可以一直覆盖,然而,他们在那里为您提供方便,这样你就不会定义它们为每个应用程序.