web-dev-qa-db-ja.com

web.xmlファイルとは何ですか?それを使ってできることは何ですか?

OracleのBEA WebLogic Server 8.1ドキュメントの web.xmlデプロイメント記述子要素 は、web.xmlファイルの各要素をかなり要約しています。しかし、私は以下の点にも興味があります:

  1. ペストのように避けるべき設定パラメータはありますか?
  2. パフォーマンスまたはメモリ使用量に関連するパラメーターはありますか?
  3. 一般的な設定ミスによるセキュリティ関連のリスク?

要素名とその使用法以外に、web.xmlについて他に知っておくべきことはありますか?

71
Ravi Gupta

Web.xmlファイルとは何ですか?それを使って何ができますか?

/WEB-INF/web.xmlファイルは、アプリケーションのWebアプリケーションデプロイメント記述子です。このファイルは、サーバーが知る必要のあるアプリケーションに関するすべてを定義するXMLドキュメントです(コンテキストパスは、アプリケーションのデプロイ時にApplication DeployerおよびAdministratorによって割り当てられます) ):サーブレットおよびフィルターやリスナー、初期化パラメーター、コンテナー管理のセキュリティ制約、リソース、ウェルカムページなどのその他のコンポーネント.

あなたが言及したリファレンスはかなり古いものであることに注意してください(Java EE 1.4)、 わずかな変更 in Java EE 5およびさらに多くのJava EE 6(これにより、web.xml「オプション」および Webフラグメント )を導入します。

ペストのように避けるべき設定パラメータはありますか?

番号。

パフォーマンスまたはメモリ使用量に関連するパラメーターはありますか?

いいえ、そのようなものはアプリケーションレベルではなく、コンテナレベルで設定されます。

一般的な設定ミスによるセキュリティ関連のリスク?

さて、コンテナ管理のセキュリティ制約を使用し、それらを適切に構成できない場合、リソースは明らかに適切に保護されません。それとは別に、最大のセキュリティリスクは、IMOを展開するコードに由来します。

98
Pascal Thivent

要素名とその使用法以外にweb.xmlについて知っておくべきことは何ですか?

ALL TIMEの最も重要な単一の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に含まれる数百行または数千行の空白がすべて削除されます(ループは特にく無駄です)。

もう1つは、デフォルトのWebページ(URLにWebページを入力しない場合に自動的に送信されるページ)です。

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>    
27
  1. いいえ、避けるべきものはありません
  2. パフォーマンスに関連するパラメーターは、web.xmlにはありません。サーブレットコンテナー構成ファイル(Tomcatではserver.xml)にあります。
  3. いいえ。ただし、デフォルトのサーブレット(サーブレットコンテナの共通の場所にあるweb.xmlにマッピングされる)は、ファイルリストを無効にすることが望ましいです(ユーザーがWebフォルダのコンテンツを表示できないようにするため)。

    リスティング真

8
Bozho

これがどのように機能するかを正確に把握しようとしています。このサイトは役に立つかもしれません。 web.xmlで使用可能なすべてのタグと、各タグの例と説明があります。

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

6

Strutsを使用する場合、web.xmlでこのタグを使用してJSPファイルへの直接アクセスを無効にします

 <security-constraint>
<web-resource-collection>
  <web-resource-name>no_access</web-resource-name>
  <url-pattern>*.jsp</url-pattern>
</web-resource-collection>
<auth-constraint/>
3
JoseK
<?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":デプロイメント記述子ファイルweb.xmlを適切に使用することにより、サーブレットのプリロードからリソースアクセスの制限まで、Webアプリケーションの動作の多くの側面を制御できます。セッションタイムアウトの制御。

web.xml:Webアプリケーションの多くのファセットを制御するために使用されます。 web.xmlを使用して、サーブレットの呼び出しにカスタムURLを割り当て、アプリケーション全体および特定のサーブレットの初期化パラメーターを指定し、セッションタイムアウトを制御し、フィルターを宣言し、セキュリティロールを宣言し、宣言されたセキュリティロールに基づいてWebリソースへのアクセスを制限し、等々。

0
A_BOSS

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