Элементы Дескриптора развертывания web.xml в сервере BEA WebLogic Oracle 8.1 Документации в значительной степени подводят итог каждого элемента в файле web.xml. Но мне также любопытно на предмет точек ниже:
Что еще я должен знать о web.xml кроме имен элементов и их использования?
Что такое файл 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.
web.xml
они находятся в файлах конфигурации контейнера сервлетов ( server.xml
на tomcat) Нет. Но сервлет по умолчанию (отображенный в web.xml в общем месте в вашем контейнере сервлетов) должен предпочтительно отключать списки файлов (чтобы пользователи не видели содержимое ваших веб-папок):
списки true
Я тоже пытаюсь понять, как это работает. Этот сайт может быть вам полезен. В нем есть все возможные теги для web.xml, а также примеры и описания каждого тега.
Что я должен знать о 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>
При использовании 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/>