Подтвердить что ты не робот

Что такое conf/web.xml, используемое в Tomcat, как показано на веб-сайте WEB-INF?

В моем развертывании Tomcat есть файл web.xml в папке conf. Что такое conf/web.xml, используемый в Tomcat, а не в WEB-INF? Мне это нужно?

4b9b3361

Ответ 1

Да, это определенно нужно! Он содержит, среди прочего, объявления сервлета по умолчанию и JSP-сервлет. Без него все запросы, которые не отображаются на каком-либо из ваших сервлетов (например, CSS/JS/images), перестанут работать, и все запросы JSP возвратятся как простой несанкционированный исходный код.

Далее он также содержит большое сопоставление типа mime, так что правильный тип контента будет установлен на основе расширения файла. Без него весь контент будет доставлен как application/octet-stream, и браузер может не интерпретировать контент.

Do не удалить Tomcat web.xml. Он содержит минимальный набор настроек, необходимых для правильной работы ваших веб-страниц. Вы можете изменить параметры инициализации сервлета по умолчанию и сервлета JSP там, например, включить/отключить списки каталогов и включить/отключить прокрутку пробелов и другие незначительные параметры производительности. Вы также можете добавить дополнительные сопоставления типа mime, но вы также можете просто сделать это на своем веб-сайте 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.   -->

Ответ 2

web.xml в WEB-INF - дескриптор развертывания, который применяется только к текущему веб-приложению и как таковой контролирует запуск только этого веб-приложения. Он позволяет определять ваши сервлеты, отображение сервлетов в URL-адресах, параметры контекста (запуска) и т.д. web.xml в каталоге Tomcat conf определяет параметры по умолчанию для ВСЕХ приложений в экземпляре Tomcat. Теоретически это может отсутствовать, но тогда все развернутое веб-приложение должно будет определить все настройки в нем - так, чтобы страницы .jsp обрабатывались JspServlet (который будет скомпилировать их и загрузить созданный сервлет и т.д.), все сопоставления mime и списки файлов по умолчанию (для тех приложений, которые не указывают его). Подумайте об этом как о наборе значений по умолчанию, которые вы можете всегда переопределить, однако они там для вашего удобства, поэтому вы не должны определять их для каждого приложения.