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

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

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

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

8 ответов


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

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

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

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

нет.

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

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

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

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


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

самый важный параметр конфигурации JSP всех времен находится в вашем интернете.XML. Дамы и господа, представляю... the TRIM-ДИРЕКТИВА-ПРОБЕЛЫ!

<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>    

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

    листинги истинный


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

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


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

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


<?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>

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

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


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>