2010-02-22 1 views
64

web.xml Deployment Descriptor Elements в Oracle BEA WebLogic Server 8.1. Документация в значительной степени суммирует каждый элемент в файле web.xml. Но мне также интересно узнать о следующих пунктах:Что такое файл web.xml и что я могу сделать с ним?

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

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

ответ

89

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

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

Обратите внимание, что упоминаемая вами ссылка довольно старая (Java EE 1.4), в Java EE 5 и даже еще в Java EE 6 было few changes (что делает web.xml «опциональным» и вводит Web Fragments).

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

No.

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

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

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

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

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

    объявления правда

6

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

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

+0

быть немного осторожным хотя потому, что я нашел одно место, где тире было заменено знаком подчеркивания (это заняло много времени для отладки). – sixtyfootersdude

+1

Почему бы не добавить комментарий к вашему ответу? – Bozho

25

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

САМЫЙ самый важный параметр конфигурации JSP ALL TIME находится в вашем 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>  
3

При использовании 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/> 

0

файл описания развертывания "web.xml": через про для использования файла дескриптора развертывания , web.xml, вы можете управлять многими аспектами поведения веб-приложений, начиная с предварительной загрузки сервлетов, до ограничения доступа к ресурсам , чтобы контролировать тайм-ауты сеанса.

web.xml: используется для управления многими аспектами веб-приложения. Используя web.xml, вы можете назначить настраиваемые URL-адреса для вызова сервлетов, указать параметры инициализации для всего приложения, а также для определенных сервлетов, контролировать тайм-ауты сеанса, объявлять фильтры, объявлять роли безопасности, ограничивать доступ к веб-ресурсам на основе объявленные роли безопасности и т. д.

0

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd» версия = "3,0">

<servlet> 
    <servlet-name>mvc-dispatcher</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>mvc-dispatcher</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value> 
</context-param> 

<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 

<welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
</welcome-file-list> 

0
<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> 
    <servlet> 
    <servlet-name>mvc-dispatcher</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet> 
    <description></description> 
    <display-name>pdfServlet</display-name> 
    <servlet-name>pdfServlet</servlet-name> 
    <servlet-class>com.sapta.smartcam.servlet.pdfServlet</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>mvc-dispatcher</servlet-name> 
    <url-pattern>/</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
    <servlet-name>pdfServlet</servlet-name> 
    <url-pattern>/pdfServlet</url-pattern> 
    </servlet-mapping> 
    <context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value> 
    </context-param> 
    <listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener> 
    <welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 
</web-app>