Настройка и описание web.xml в приложении с Spring и JSF

Java веб-приложения используют файл дескриптора развертывания для определения какие URL будут передаваться определенному сервлету, какие URL требуют аутентификации и др. Этот дескриптор развертывания называется web.xml и находится в WAR приложения в  WEB-INF/ директории. Web.xml — часть стандарта сервлета для веб-приложений.

О дескрипторе развертывания

Дескриптор развертывания веб-приложений описывает классы, ресурсы и конфигурацию приложения, а так же как сервер будет использовать их для выполнения веб-запросов. Когда сервер получает запрос для приложения, он использует дескриптор развертывания для отображения URL запроса к коду, который должен этот запрос обработать.

Вот пример простого web.xml отображающего все пути URL (т.е. /*) к классу сервлета mysite.server.ComingSoonServlet:

<web-app xmlns=»http://java.sun.com/xml/ns/javaee» version=»2.5″> <servlet> <servlet-name>comingsoon</servlet-name> <servlet-class>mysite. server.ComingSoonServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>comingsoon</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app>

1

2

3

4

5

6

7

8

9

10

<web-app xmlns=»http://java.sun.com/xml/ns/javaee» version=»2.5″>

    <servlet>

        <servlet-name>comingsoon</servlet-name>

        <servlet-class>mysite.server.ComingSoonServlet</servlet-class>

    </servlet>

    <servlet-mapping>

        <servlet-name>comingsoon</servlet-name>

        <url-pattern>/*</url-pattern>

    </servlet-mapping>

</web-app>

Сервлеты и пути URL

web.

xml определяет соответствие между путями URL и сервлетами, которые эти URL будут обрабатывать. Веб-сервер использует эту конфигурацию, чтоб определить сервлет для обработки данного запроса и вызвать метод класса, который соответствует методу запроса (например метод doGet() для HTTP.GET запросов).

Для привязки («маппинг») URL к сервлету, необходимо определить элементы  <servlet> и <servlet-mapping>.

<servlet> <servlet-name>redteam</servlet-name> <servlet-class>mysite.server.TeamServlet</servlet-class> <init-param> <param-name>teamColor</param-name> <param-value>red</param-value> </init-param> <init-param> <param-name>bgColor</param-name> <param-value>#CC0000</param-value> </init-param> </servlet> <servlet> <servlet-name>blueteam</servlet-name> <servlet-class>mysite.

server.TeamServlet</servlet-class> <init-param> <param-name>teamColor</param-name> <param-value>blue</param-value> </init-param> <init-param> <param-name>bgColor</param-name> <param-value>#0000CC</param-value> </init-param> </servlet>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

    <servlet>

        <servlet-name>redteam</servlet-name>

        <servlet-class>mysite.server.TeamServlet</servlet-class>

        <init-param>

            <param-name>teamColor</param-name>

            <param-value>red</param-value>

        </init-param>

        <init-param>

            <param-name>bgColor</param-name>

            <param-value>#CC0000</param-value>

        </init-param>

    </servlet>

 

    <servlet>

        <servlet-name>blueteam</servlet-name>

        <servlet-class>mysite. server.TeamServlet</servlet-class>

        <init-param>

            <param-name>teamColor</param-name>

            <param-value>blue</param-value>

        </init-param>

        <init-param>

            <param-name>bgColor</param-name>

            <param-value>#0000CC</param-value>

        </init-param>

    </servlet>

Элемент <servlet-mapping> определяет шаблон URL и имя сервлета, который будет обрабатывать запросы, соответствующие шаблону. Шаблон должен содержать полный путь URL, включая (/), следующий за именем домена.

<servlet-mapping> <servlet-name>redteam</servlet-name> <url-pattern>/red/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>blueteam</servlet-name> <url-pattern>/blue/*</url-pattern> </servlet-mapping>

1

2

3

4

5

6

7

8

9

<servlet-mapping>

        <servlet-name>redteam</servlet-name>

        <url-pattern>/red/*</url-pattern>

</servlet-mapping>

 

<servlet-mapping>

        <servlet-name>blueteam</servlet-name>

        <url-pattern>/blue/*</url-pattern>

</servlet-mapping>

В этом примере запрос с URL http://www. example.com/blue/teamProfile будет перехвачен классом сервлета TeamServlet с параметром teamColor=blue и bgColor=#0000CC.  

Пример с множеством сервлетов

<servlet> <servlet-name>watermelon</servlet-name> <servlet-class>myservlets.watermelon</servlet-class> </servlet> <servlet> <servlet-name>garden</servlet-name> <servlet-class>myservlets.garden</servlet-class> </servlet> <servlet> <servlet-name>list</servlet-name> <servlet-class>myservlets.list</servlet-class> </servlet> <servlet> <servlet-name>kiwi</servlet-name> <servlet-class>myservlets.kiwi</servlet-class> </servlet> <servlet-mapping> <servlet-name>watermelon</servlet-name> <url-pattern>/fruit/summer/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>garden</servlet-name> <url-pattern>/seeds/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>list</servlet-name> <url-pattern>/seedlist</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>kiwi</servlet-name> <url-pattern>*.

abc</url-pattern> </servlet-mapping>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

<servlet>

  <servlet-name>watermelon</servlet-name>

  <servlet-class>myservlets.watermelon</servlet-class>

</servlet>

 

<servlet>

  <servlet-name>garden</servlet-name>

  <servlet-class>myservlets.garden</servlet-class>

</servlet>

 

<servlet>

  <servlet-name>list</servlet-name>

  <servlet-class>myservlets.list</servlet-class>

</servlet>

 

<servlet>

  <servlet-name>kiwi</servlet-name>

  <servlet-class>myservlets. kiwi</servlet-class>

</servlet>

 

<servlet-mapping>

  <servlet-name>watermelon</servlet-name>

  <url-pattern>/fruit/summer/*</url-pattern>

</servlet-mapping>

 

<servlet-mapping>

  <servlet-name>garden</servlet-name>

  <url-pattern>/seeds/*</url-pattern>

</servlet-mapping>

 

<servlet-mapping>

  <servlet-name>list</servlet-name>

  <url-pattern>/seedlist</url-pattern>

</servlet-mapping>

 

<servlet-mapping>

  <servlet-name>kiwi</servlet-name>

  <url-pattern>*.abc</url-pattern>

</servlet-mapping>

URL

Servlet
Invoked

http://host:port/mywebapp/fruit/summer/index. html

watermelon

http://host:port/mywebapp/fruit/summer/index.abc

watermelon

http://host:port/mywebapp/seedlist

list

http://host:port/mywebapp/seedlist/index.html

Сервлет по умолчанию (если сконфигурирован), или HTTP 404 File Not Found error message.

Если маппинг сервлета list соответствует /seedlist*, то будет вызван сервлет list

http://host:port/mywebapp/seedlist/pear. abc

kiwi

Если маппинг сервлета list соответствует /seedlist*, то будет вызван сервлет list

http://host:port/mywebapp/seeds

garden

http://host:port/mywebapp/seeds/index.html

garden

http://host:port/mywebapp/index.abc

kiwi

Настройка атрибута <welcome-file-list> в web.
xml

Когда URL сайта представляет путь для статичных файлов в вашем WAR, то часто хорошей идеей будет настройка атрибута <welcome-file-list> (например для начальной страницы авторизации). Пользователь находящийся на странице /help/accounts/password.xhtml может попытаться перейти на /help/accounts/ для доступа к закрытой информации. Дескриптор развертывания может задать список имен, которые должен перепробовать сервер, когда пользователь обращается к пути из подкаталога WAR (который неявно обрабатывается сервлетом), прежде чем выдать ошибку URL не найден.

К примеру, если пользователь попытается перейти по пути  /help/accounts/, то следующие настройки <welcome-file-list> заставят сервер проверить  /help/accounts/index.xhtml и  /help/accounts/index.html, прежде чем вывести 404 ошибку:

<welcome-file-list> <welcome-file>index.xhtml</welcome-file> <welcome-file>index.html</welcome-file> </welcome-file-list>

<welcome-file-list>

        <welcome-file>index. xhtml</welcome-file>

        <welcome-file>index.html</welcome-file>

    </welcome-file-list>

Настройка начальной страницы c помощью <welcome-file-list>

При запуске приложения можно задать начальную страницу, на которую перейдет браузер. Частая проблема, что при загрузке сервера приложений мы получаем 404 ошибку — страница не найдена. Давайте разберемся как нужно настраивать файл web.xml веб-приложения.

В первую очередь нужно учесть, что папка WEB-INF/ используется для внутренних файлов (те же настройки и т.п.) и НЕ доступна извне. Т.е. начальную страницу можно хранить только вне этой папки. Например в webapp/folder/index.xhtml — можно, а в webapp/WEB-INF/folder/index.xhtml — нельзя.

<span>WebContent |— META-INF |— WEB-INF | `— web.xml `— index.xhtml</span>

<span>WebContent

|— META-INF

|— WEB-INF

|    `— web. xml

`— index.xhtml</span>

Теперь собственно к настройкам.

Например у нас есть сервлет с полным именем com.examplecompany.MyCMS. Он будет доступен при перехвате ссылок, соответствующих шаблону /CMS, т.е. http://yoursite.com/CMS.

<!— Define the com.examplecompany.MyCMS servlet class, giving it the name MyCMS —> <servlet> <servlet-name>MyCMS</servlet-name> <servlet-class>com.examplecompany.MyCMS</servlet-class> </servlet> <!— Map the MyCMS name to the URI /CMS (main page for site) —> <servlet-mapping> <servlet-name>MyCMS</servlet-name> <url-pattern>/CMS</url-pattern> </servlet-mapping>

1

2

3

4

5

6

7

8

9

10

<!— Define the com.examplecompany.MyCMS servlet class, giving it the name MyCMS —>

<servlet>

<servlet-name>MyCMS</servlet-name>

<servlet-class>com. examplecompany.MyCMS</servlet-class>

</servlet>

<!— Map the MyCMS name to the URI /CMS (main page for site) —>

<servlet-mapping>

<servlet-name>MyCMS</servlet-name>

<url-pattern>/CMS</url-pattern>

</servlet-mapping>

Теперь определим <welcome-file-list> со списком страниц, которые должен перебрать сервер, прежде чем выдать ошибку путь не найден:

<!— The main page for the site will be the MyCMS servlet (http://website/CMS) —> <welcome-file-list> <welcome-file>CMS</welcome-file> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list>

1

2

3

4

5

6

7

<!— The main page for the site will be the MyCMS servlet (http://website/CMS) —>

<welcome-file-list>

    <welcome-file>CMS</welcome-file>

    <welcome-file>index. html</welcome-file>

    <welcome-file>index.htm</welcome-file>

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

</welcome-file-list>

Как это будет работать?

Когда кто-либо переходит на сайт, то происходит следующее

  1. http://yoursite.com превращается в http://yoursite.com/
  2. Сервер не находит ничего полезного для отображения и должен вывести ошибку, но у нас настроен welcome-file-list, значит, как описано выше сначала должен быть обработан этот атрибут.
  3. http://yoursite.com/ — это уже директория и начинается сканирование по welcome-file-list
  4. http://yoursite.com/CMS — первая в списке сканирования и это соответствует URL /CMS сервлета MyCMS, а значит он вступает в работу.

Отмечу что

http://yoursite.com/CMS — будет работать http://yoursite.com/someFolder/CMS — так не будет работать!

http://yoursite. com/CMS — будет работать

http://yoursite.com/someFolder/CMS — так не будет работать!

Важное замечание — в атрибуте <welcome-file> слеш вначале ставить не нужно, т.е. если <url-pattern> /servlet/MyServlet, то нужно писать вот так

<welcome-file>servlet/MyServlet</welcome-file>

<welcome-file>servlet/MyServlet</welcome-file>

 

Полезные ссылки

Google. The Deployment Descriptor: web.xml

Oracle. Creating and Configuring Servlets

21

22102 Total Views 2 Views Today

Views: 19 358

Платформа CUBA. Руководство по разработке приложенийПриложение A. Конфигурационные файлы

Файл web.xml является стандартным дескриптором веб-приложения Java EE, и должен быть создан для блоков Middleware, Web Client и Web Portal.

В проекте приложения файлы web.xml располагаются в каталогах web/WEB-INF соответствующих модулей.

Рассмотрим содержимое web.xml блока Middleware (модуль core проекта):

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
         http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         version="2.5">
  <!-- Application properties config files -->
  <context-param>
      <param-name>appPropertiesConfig</param-name>
      <param-value>
          classpath:cuba-app.properties
          classpath:app.properties
          file:${catalina.home}/conf/app-core/local.app.properties
      </param-value>
  </context-param>
  <listener>
      <listener-class>com.haulmont.cuba.core.sys.AppContextLoader</listener-class>
  </listener>
  <servlet>
      <servlet-name>remoting</servlet-name>
      <servlet-class>com. haulmont.cuba.core.sys.remoting.RemotingServlet</servlet-class>
      <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
      <servlet-name>remoting</servlet-name>
      <url-pattern>/remoting/*</url-pattern>
  </servlet-mapping>
  <servlet>
      <servlet-name>restapi</servlet-name>
      <servlet-class>com.haulmont.cuba.core.sys.restapi.RestApiServlet</servlet-class>
      <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
      <servlet-name>restapi</servlet-name>
      <url-pattern>/api/*</url-pattern>
  </servlet-mapping>
</web-app>

В элементах context-param задаются инициализирующие параметры объекта ServletContext данного веб-приложения. Здесь определен параметр appPropertiesConfig, значением которого является список файлов свойств приложения.

В элементе listener задается класс слушателя, реализующего интерфейс ServletContextListener. В блоке Middleware CUBA-приложения в качестве слушателя должен использоваться класс AppContextLoader, выполняющий инициализацию AppContext .

Далее следуют определения сервлетов, среди которых обязательным для Middleware является класс RemotingServlet, связанный с контейнером удаленного доступа (см. Раздел A.8, «remoting-spring.xml»). Данный сервлет отображен на URL /remoting/*.

Рассмотрим содержимое web.xml блока Web Client (модуль web проекта):

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
         http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         version="2.5">
  <context-param>
      <description>Vaadin production mode</description>
      <param-name>productionMode</param-name>
      <param-value>false</param-value>
  </context-param>
  <context-param>
      <param-name>appPropertiesConfig</param-name>
      <param-value>
          classpath:cuba-web-app. properties
          classpath:web-app.properties
          file:${catalina.home}/conf/app/local.app.properties
      </param-value>
  </context-param>
  <listener>
      <listener-class>com.haulmont.cuba.web.sys.WebAppContextLoader</listener-class>
  </listener>
  <servlet>
      <servlet-name>app_servlet</servlet-name>
      <servlet-class>com.haulmont.cuba.web.sys.CubaApplicationServlet</servlet-class>
      <init-param>
          <param-name>application</param-name>
          <param-value>com.haulmont.sales.web.App</param-value>
      </init-param>
      <init-param>
          <param-name>widgetset</param-name>
          <param-value>com.haulmont.cuba.web.toolkit.ui.WidgetSet</param-value>
      </init-param>
      <init-param>
          <param-name>UI</param-name>
          <param-value>com.haulmont.cuba.web.AppUI</param-value>
      </init-param>
      <init-param>
          <param-name>UIProvider</param-name>
          <param-value>com. haulmont.cuba.web.sys.CubaUIProvider</param-value>
      </init-param>
  </servlet>
  <servlet-mapping>
      <servlet-name>app_servlet</servlet-name>
      <url-pattern>/*</url-pattern>
  </servlet-mapping>
  <filter>
      <filter-name>cuba_filter</filter-name>
      <filter-class>com.haulmont.cuba.web.sys.CubaHttpFilter</filter-class>
  </filter>
  <filter-mapping>
      <filter-name>cuba_filter</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

В данном файле определены два параметра: appPropertiesConfig, значением которого является список файлов свойств приложения, и productionMode, отключающий режим отладки фреймворка Vaadin.

В качестве ServletContextListener в блоке Web Client используется класс WebAppContextLoader.

Далее определяется сервлет CubaApplicationServlet, входящий в состав основанной на фреймворке Vaadin реализации универсального пользовательского интерфейса. Сервлет имеет несколько параметров, в том числе:

  • application — задает специфический для проекта класс клиентского приложения, который должен быть наследником com.haulmont.cuba.web.App

  • widgetset — задает набор GWT компонентов, используемых на стороне веб-браузера

После определения сервлетов подключается фильтр CubaHttpFilter, необходимый для функционирования блока Web Client.

java — Почему мы используем web.xml?

спросил

Изменено 2 года, 9 месяцев назад

Просмотрено 118 тысяч раз

72

Новинка! Сохраняйте вопросы или ответы и организуйте свой любимый контент.
Узнать больше.

Какая польза от web.xml и почему мы используем?

 <фильтр>
        wicket.mysticpaste
        org.apache.wicket.protocol.http.WicketFilter
        <параметр инициализации>
            applicationClassName
            com.mysticcoders.WicketApplication
        
    
 <фильтр-отображение>
  wicket.mysticpaste
    /*
 
 

Что делает этот фильтр и сопоставление файлов?

  • Java
  • сервлеты
  • jakarta-ee
  • web.xml

3

Вообще говоря, это файл конфигурации веб-приложений в java. Он инструктирует контейнер сервлетов (например, tomcat), какие классы загружать, какие параметры устанавливать в контексте и как перехватывать запросы, поступающие от браузеров.

Там вы указываете:

  • какие сервлеты (и фильтры) вы хотите использовать и какие URL-адреса вы хотите сопоставить с ними
  • слушатели — классы, которые уведомляются, когда происходят некоторые события (запуск контекста, создание сеанса и т. д.)
  • параметры конфигурации (параметры контекста)
  • Страницы ошибок
  • , файлы приветствия
  • ограничения безопасности

В сервлете 3.0 многие части web.xml являются необязательными. Эти конфигурации можно выполнить с помощью аннотаций ( @WebServlet , @WebListener )

Файл web.xml представляет собой дескриптор развертывания для веб-приложения Java на основе сервлетов (каким является большинство веб-приложений Java). Среди прочего, он объявляет, какие сервлеты существуют и какие URL-адреса они обрабатывают.

Часть, которую вы цитируете, определяет фильтр сервлетов. Фильтры сервлетов могут выполнять все виды предварительной обработки запросов. Ваш конкретный пример — это фильтр, который структура Wicket использует в качестве точки входа для всех запросов, потому что фильтры в некотором роде более мощные, чем сервлеты.

Говорит, что все запросы проходят через WicketFilter


Также, если вы используете калитки WicketApplication для настроек уровня приложения. Например, шаблоны URL-адресов и вещи, которые верны на уровне приложения. сообщите контейнеру сервлетов, какие сервлеты развертывать и какие URL-адреса отображать для сервлетов. Это делается в файле web.xml вашего веб-приложения Java.

использовать web.xml в сервлете

 
    <описание>
    имя класса сервлета
    имя класса сервлета
    имя пакета сервлета/имя класса сервлета

<отображение сервлета>
    имя класса сервлета
    /имя класса сервлета

 

мужественно используйте web. xml для сопоставления сервлетов.

1

Это конфигурация по умолчанию для веб-приложения Java; это необходимо.

 Фильтр калитки
 

применяется к каждому HTTP-запросу, отправляемому в это веб-приложение.

2

Web.xml называется файлом дескриптора развертывания и представляет собой XML-файл, содержащий информацию о конфигурации веб-приложения, включая конфигурацию сервлетов.

веб-приложений. Что такое файл web.xml и что с ним можно делать?

спросил

Изменено 5 лет назад

Просмотрено 129 тысяч раз

78

Новинка! Сохраняйте вопросы или ответы и организуйте свой любимый контент.
Узнать больше.

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

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

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

  • веб-приложения
  • web.xml

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

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

Обратите внимание, что указанная вами ссылка довольно старая (Java EE 1.4), в Java EE 5 было внесено несколько изменений и даже больше в Java EE 6 (что делает web.xml «необязательным» и вводит веб-фрагменты).

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

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

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

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

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

0

Что я должен знать о web.xml кроме имени элемента и его Применение ?

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

 
    
        *.jsp
        true
    

 

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

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

 
    index.jsp

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

    списки истинный

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

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

2

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

 
<коллекция веб-ресурсов>
  <имя-веб-ресурса>нет_доступа
  *.jsp

<ограничение авторизации/>
 

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

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

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd» версия = «3.0»>

 <сервлет>
    mvc-dispatcher
    org.springframework.web.servlet.DispatcherServlet
    <загрузка при запуске>1

<отображение сервлета>
    mvc-dispatcher
    /

<параметр контекста>
    contextConfigLocation
    /WEB-INF/mvc-dispatcher-servlet. xml

<слушатель>
    org.springframework.web.context.ContextLoaderListener

<список-приветственных-файлов>
    index.jsp

 
 
<веб-приложение 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 /веб-приложение_3_0.xsd" версия="3.0">
  <сервлет>
    mvc-dispatcher
    org.springframework.web.servlet.DispatcherServlet
    <загрузка при запуске>1
  
  <сервлет>
    <описание>
    <отображаемое имя>pdfServlet
    pdfServlet
    com.sapta.smartcam.servlet.pdfServlet
  
  <отображение сервлета>
    mvc-dispatcher
    /
  
  <отображение сервлета>
    pdfServlet
    /pdfServlet
  
  <параметр контекста>
    contextConfigLocation
    /WEB-INF/mvc-dispatcher-servlet.