Что такое файл web.xml и каковы все вещи, я могу сделать с ним?

Элементы Дескриптора развертывания web.xml в сервере BEA WebLogic Oracle 8.1 Документации в значительной степени подводят итог каждого элемента в файле web.xml. Но мне также любопытно на предмет точек ниже:

  1. Есть ли какой-либо параметр конфигурации, которого нужно избежать как эпидемия?
  2. Какие-либо параметры связаны с производительностью или использованием памяти?
  3. Связанный с безопасностью риск из-за общей неверной конфигурации?

Что еще я должен знать о web.xml кроме имен элементов и их использования?

72
задан Sensei 22 September 2017 в 16:10
поделиться

5 ответов

Что такое файл web.xml и что я могу с ним делать?

Файл /WEB-INF/web.xml является дескриптором развертывания веб-приложения вашего приложения. Этот файл представляет собой XML документ, определяющий все о вашем приложении, что необходимо знать серверу (кроме контекстного пути, который назначается Application Deployer and Administrator при развертывании приложения): сервлеты и другие компоненты, такие как фильтры или слушатели, параметры инициализации, управляемые контейнером ограничения безопасности, ресурсы, страницы приветствия и т.д.

Обратите внимание, что упомянутая вами ссылка довольно старая (Java EE 1.4), было несколько изменений в Java EE 5 и еще больше в Java EE 6 (которая делает web.xml "необязательным" и вводит Web Fragments).

Есть ли какой-нибудь параметр конфигурации, которого следует избегать как чумы?

Нет.

Какие-нибудь параметры, связанные с производительностью или использованием памяти?

Нет, такие вещи настраиваются не на уровне приложения, а на уровне контейнера.

Риски, связанные с безопасностью, из-за общей неправильной конфигурации?

Ну, если вы хотите использовать управляемые контейнером ограничения безопасности и не сможете правильно их настроить, ресурсы, очевидно, не будут защищены должным образом. Помимо этого, самые большие риски безопасности исходят от кода, который вы будете развертывать, IMO.

100
ответ дан 24 November 2019 в 12:39
поделиться
  1. Нет, ничего, чего следует избегать
  2. Параметры, относящиеся к производительности, не находятся в web.xml они находятся в файлах конфигурации контейнера сервлетов ( server.xml на tomcat)
  3. Нет. Но сервлет по умолчанию (отображенный в web.xml в общем месте в вашем контейнере сервлетов) должен предпочтительно отключать списки файлов (чтобы пользователи не видели содержимое ваших веб-папок):

    списки true

8
ответ дан 24 November 2019 в 12:39
поделиться

Я тоже пытаюсь понять, как это работает. Этот сайт может быть вам полезен. В нем есть все возможные теги для web.xml, а также примеры и описания каждого тега.

http://wiki.metawerx.net/wiki/Web.xml

6
ответ дан 24 November 2019 в 12:39
поделиться

Что я должен знать о web.xml , кроме имени элемента и их использования?

ЕДИНЫЙ Самый важный параметр конфигурации JSP из ВСЕ ВРЕМЕНИ находится в вашем web.xml. Дамы и господа, предлагаю вам ... вариант TRIM-DIRECTIVE-WHITESPACES !

<jsp-config>
    <jsp-property-group>
        <url-pattern>*.jsp</url-pattern>
        <trim-directive-whitespaces>true</trim-directive-whitespaces>
    </jsp-property-group>
</jsp-config>

Это удаляет все сотни или тысячи строк пробелов, которые вы получите в сгенерированном HTML, если вы используете какие-либо библиотеки тегов (циклы особенно уродливы и расточительны).

Другая большая - это веб-страница по умолчанию (страница, на которую вы автоматически отправляетесь, если не вводите веб-страницу в URL-адрес):

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>    
27
ответ дан 24 November 2019 в 12:39
поделиться

При использовании Struts мы отключаем прямой доступ к файлам JSP с помощью этого тега в web.xml

 <security-constraint>
<web-resource-collection>
  <web-resource-name>no_access</web-resource-name>
  <url-pattern>*.jsp</url-pattern>
</web-resource-collection>
<auth-constraint/>

3
ответ дан 24 November 2019 в 12:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: