ホームページ バックエンド開発 XML/RSS チュートリアル web.xml ファイルの内容の詳細な分析

web.xml ファイルの内容の詳細な分析

Apr 24, 2017 am 10:49 AM

web.xml ファイルの詳細な説明

はじめに: web.xml は主に一般的な Web プロジェクトで使用され、Web プロジェクトの開発を容易にします。 web.xml は主にフィルター、リスナー、サーブレットなどの設定に使用されます。ただし、web.xml は必須ではないことに注意してください。Web プロジェクトには web.xml ファイルは必要ありません。

1. ウェブを読み込むプロセス。つまり、フィルターはリスナーの前に書き込まれるため、フィルターは最初にロードされません。 WEB コンテナのロード順序は次のとおりです。 ServletContext -> context-param -> servletこれらの要素はファイル内のどこにでも設定できます。

読み込みプロセスのシーケンスは次のとおりです:

WEB プロジェクトを開始すると、WEB コンテナはその設定ファイル web.xml を読み取り、 ノードと を読み取ります。 。

  1. 至急、ServletContext (サーブレット コンテキスト) を作成してください。この Web プロジェクトのすべての部分がこのコンテキストを共有します。

  2. コンテナは をキーと値のペアに変換し、servletContext に渡します。

  3. コンテナはにクラスインスタンスを作成し、リスナーを作成します。

  4. 2. Web の詳細な説明。ルート要素 は、この web.xml で使用されるスキーマ ファイルを示す必要があります。他のすべての要素は に配置されます。

  5. <?xml version="1.0" encoding="UTF-8"?><web-app version="2.4" 
        xmlns="http://java.sun.com/xml/ns/j2ee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
            http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"></web-app>
    ログイン後にコピー

2. Web アプリケーションのアイコン Web アプリケーションを表すために IDE および GUI ツールで使用される大小のアイコンを示します。

rreee&lt; display-name&gt; description

これに関連する説明テキストを与えます

<icon>
    <small-icon>/images/app_small.gif</small-icon>
    <large-icon>/images/app_large.gif</large-icon></icon>
ログイン後にコピー

5. アプリケーション全体の初期化パラメータを宣言します。これは、キーと値のペア、つまりアプリケーション コンテキスト情報を ServletContext に提供するために使用されます。リスナー、フィルターなどは、初期化中にこれらのコンテキストの情報を使用します。サーブレットでは、getServletContext().getInitParameter("context/param") を通じて取得できます。

<display-name>Tomcat Example</display-name>
ログイン後にコピー

6. フィルタ

javaxs.servlet.Filter インターフェースを実装するクラスに名前を関連付けます。

<disciption>Tomcat Example servlets and JSP pages.</disciption>
ログイン後にコピー

7. リスナー

<context-param>
    <param-name>ContextParameter</para-name>
    <param-value>test</param-value>
    <description>It is a test parameter.</description></context-param>
ログイン後にコピー

8. 主に以下のサブ要素を持ちます。

サーブレットの名前を指定します

< ;jsp-file> Web サイト内の JSP ページの完全なパスを指定します

複数の init-params が存在する可能性があります。サーブレットクラスの getInitParamenter(String name) メソッドを通じて初期化パラメータにアクセスします

  • 指定当Web应用启动时,装载Servlet的次序。当值为正数或零时:Servlet容器先加载数值小的servlet,再依次加载其他数值大的servlet。当值为负或未定义:Servlet容器将在Web客户首次访问这个servlet时加载它。

  • 用来定义servlet所对应的URL,包含两个子元素

  • 指定servlet的名称

  • 指定servlet所对应的URL

  • <!-- 基本配置 --><servlet>
        <servlet-name>snoop</servlet-name>
        <servlet-class>SnoopServlet</servlet-class></servlet><servlet-mapping>
        <servlet-name>snoop</servlet-name>
        <url-pattern>/snoop</url-pattern></servlet-mapping><!-- 高级配置 --><servlet>
        <servlet-name>snoop</servlet-name>
        <servlet-class>SnoopServlet</servlet-class>
        <init-param>
            <param-name>foo</param-name>
            <param-value>bar</param-value>
        </init-param>
        <run-as>
            <description>Security role for anonymous access</description>
            <role-name>tomcat</role-name>
        </run-as></servlet><servlet-mapping>
        <servlet-name>snoop</servlet-name>
        <url-pattern>/snoop</url-pattern></servlet-mapping>
    ログイン後にコピー

      9、会话超时配置

      单位为分钟。

    <session-config>
        <session-timeout>120</session-timeout></session-config>
    ログイン後にコピー

      10、

    <mime-mapping>
        <extension>htm</extension>
        <mime-type>text/html</mime-type></mime-mapping>
    ログイン後にコピー

      11、欢迎文件页

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file></welcome-file-list>
    ログイン後にコピー

      12、错误页面

    <!-- 1、通过错误码来配置error-page。当系统发生×××错误时,跳转到错误处理页面。 --><error-page>
        <error-code>404</error-code>
        <location>/NotFound.jsp</location></error-page><!-- 2、通过异常的类型配置error-page。当系统发生java.lang.NullException(即空指针异常)时,跳转到错误处理页面。 --><error-page>
        <exception-type>java.lang.NullException</exception-type>
        <location>/error.jsp</location></error-page>
    ログイン後にコピー

      13、设置jsp

       包括  和  两个子元素。其中 元素在JSP 1.2 时就已经存在;而 是JSP 2.0 新增的元素。

       元素主要有八个子元素,它们分别为:

    • :设定的说明 

    • :设定名称 

    • :设定值所影响的范围,如: /CH2 或 /*.jsp

    • :若为 true,表示不支持 EL 语法 

    • :若为 true,表示不支持 <% scripting %>语法 

    • :设定 JSP 网页的编码 

    • :设置 JSP 网页的抬头,扩展名为 .jspf

    • :设置 JSP 网页的结尾,扩展名为 .jspf

    <jsp-config>
        <taglib>
            <taglib-uri>Taglib</taglib-uri>
            <taglib-location>/WEB-INF/tlds/MyTaglib.tld</taglib-location>
        </taglib>
        <jsp-property-group>
            <description>Special property group for JSP Configuration JSP example.</description>
            <display-name>JSPConfiguration</display-name>
            <url-pattern>/jsp/* </url-pattern>
            <el-ignored>true</el-ignored>
            <page-encoding>GB2312</page-encoding>
            <scripting-invalid>true</scripting-invalid>
            <include-prelude>/include/prelude.jspf</include-prelude>
            <include-coda>/include/coda.jspf</include-coda>
        </jsp-property-group></jsp-config>
    ログイン後にコピー

      对于Web 应用程式来说,Scriptlet 是个不乐意被见到的东西,因为它会使得HTML 与Java 程式码交相混杂,对于程式的维护来说相当的麻烦,必要的时候,可以在web.xml 中加上 标签,设定所有的JSP 网页都不可以使用Scriptlet。

    3、Mapping规则

      当一个请求发送到servlet容器的时候,容器先会将请求的url减去当前应用上下文的路径作为servlet的映射url,比如我访问的是http://localhost/test/aaa.html,我的应用上下文是test,容器会将http://localhost/test去掉,剩下的/aaa.html部分拿来做servlet的映射匹配。这个映射匹配过程是有顺序的,而且当有一个servlet匹配成功以后,就不会去理会剩下的servlet了。

      其匹配规则和顺序如下:

    1. 精确路径匹配。例子:比如servletA 的url-pattern为 /test,servletB的url-pattern为 /* ,这个时候,如果我访问的url为http://localhost/test ,这个时候容器就会先 进行精确路径匹配,发现/test正好被servletA精确匹配,那么就去调用servletA,也不会去理会其他的servlet了。

    2. 最長パスのマッチング。例: servletA の URL パターンは /test/*、servletB の URL パターンは /test/a/* です。 http://localhost/test/a にアクセスすると、コンテナは最も長いサーブレットを選択します。パスに一致します。ここでは servletB です。

    3. 拡張子の一致。URL の最後のセグメントに拡張子が含まれている場合、コンテナは拡張子に基づいて適切なサーブレットを選択します。例: servletA の URL パターン: *.action

    「/」で始まり「/*」で終わるものはパスマッピングに使用され、プレフィックス「*.」で始まるものはパスマッピングに使用されます。拡張子マッピング: では、「/*.action」のような一見通常の一致を定義するのはなぜ間違っているのでしょうか? この一致はパス マッピングと拡張子マッピングの両方に属するため、コンテナは判断できないからです。

    以上がweb.xml ファイルの内容の詳細な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    Video Face Swap

    Video Face Swap

    完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    SublimeText3 中国語版

    SublimeText3 中国語版

    中国語版、とても使いやすい

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

    神レベルのコード編集ソフト(SublimeText3)

    PowerPoint を使用して XML ファイルを開くことはできますか? PowerPoint を使用して XML ファイルを開くことはできますか? Feb 19, 2024 pm 09:06 PM

    XML ファイルは PPT で開くことができますか? XML、Extensible Markup Language (Extensible Markup Language) は、データ交換とデータ ストレージで広く使用されている汎用マークアップ言語です。 HTML と比較して、XML はより柔軟であり、独自のタグとデータ構造を定義できるため、データの保存と交換がより便利で統一されます。 PPT (PowerPoint) は、プレゼンテーションを作成するために Microsoft によって開発されたソフトウェアです。包括的な方法を提供します。

    Python を使用した XML データのマージと重複排除 Python を使用した XML データのマージと重複排除 Aug 07, 2023 am 11:33 AM

    Python を使用した XML データのマージと重複排除 XML (eXtensibleMarkupLanguage) は、データの保存と送信に使用されるマークアップ言語です。 XML データを処理するとき、複数の XML ファイルを 1 つにマージしたり、重複データを削除したりする必要がある場合があります。この記事では、Python を使用して XML データのマージと重複排除を実装する方法と、対応するコード例を紹介します。 1. XML データのマージ 複数の XML ファイルがある場合、それらをマージする必要があります。

    Python で XML データを CSV 形式に変換する Python で XML データを CSV 形式に変換する Aug 11, 2023 pm 07:41 PM

    Python の XML データを CSV 形式に変換する XML (ExtensibleMarkupLanguage) は、データの保存と送信に一般的に使用される拡張可能なマークアップ言語です。 CSV (CommaSeparatedValues) は、データのインポートとエクスポートに一般的に使用されるカンマ区切りのテキスト ファイル形式です。データを処理するとき、分析や処理を容易にするために、XML データを CSV 形式に変換する必要がある場合があります。 Pythonは強力です

    Python を使用した XML データのフィルタリングと並べ替え Python を使用した XML データのフィルタリングと並べ替え Aug 07, 2023 pm 04:17 PM

    Python を使用した XML データのフィルタリングと並べ替えの実装 はじめに: XML は、データをタグと属性の形式で保存する、一般的に使用されるデータ交換形式です。 XML データを処理するとき、多くの場合、データのフィルタリングと並べ替えが必要になります。 Python には、XML データを処理するための便利なツールとライブラリが多数用意されています。この記事では、Python を使用して XML データをフィルタリングおよび並べ替える方法を紹介します。 XML ファイルの読み取り 始める前に、XML ファイルを読み取る必要があります。 Python には XML 処理ライブラリが多数ありますが、

    PHP を使用して XML データをデータベースにインポートする PHP を使用して XML データをデータベースにインポートする Aug 07, 2023 am 09:58 AM

    PHP を使用した XML データのデータベースへのインポート はじめに: 開発中、さらなる処理や分析のために外部データをデータベースにインポートする必要がよくあります。一般的に使用されるデータ交換形式として、XML は構造化データの保存と送信によく使用されます。この記事では、PHP を使用して XML データをデータベースにインポートする方法を紹介します。ステップ 1: XML ファイルを解析する まず、XML ファイルを解析し、必要なデータを抽出する必要があります。 PHP には XML を解析するためのいくつかの方法が用意されており、最も一般的に使用されるのは Simple を使用する方法です。

    Python は XML と JSON 間の変換を実装します Python は XML と JSON 間の変換を実装します Aug 07, 2023 pm 07:10 PM

    Python は XML と JSON 間の変換を実装します はじめに: 日常の開発プロセスでは、異なる形式間でデータを変換する必要があることがよくあります。 XML と JSON は一般的なデータ交換形式であり、Python ではさまざまなライブラリを使用して XML と JSON の間で変換できます。この記事では、一般的に使用されるいくつかの方法をコード例とともに紹介します。 1. Python で XML を JSON に変換するには、xml.etree.ElementTree モジュールを使用できます。

    Python を使用した XML でのエラーと例外の処理 Python を使用した XML でのエラーと例外の処理 Aug 08, 2023 pm 12:25 PM

    Python を使用した XML でのエラーと例外の処理 XML は、構造化データの保存と表現に使用される一般的に使用されるデータ形式です。 Python を使用して XML を処理すると、エラーや例外が発生することがあります。この記事では、Python を使用して XML のエラーと例外を処理する方法を紹介し、参考用のサンプル コードをいくつか示します。 Try-Except ステートメントを使用して XML 解析エラーを捕捉する Python を使用して XML を解析すると、時々、次のようなエラーが発生することがあります。

    Python は XML 内の特殊文字とエスケープ シーケンスを解析します Python は XML 内の特殊文字とエスケープ シーケンスを解析します Aug 08, 2023 pm 12:46 PM

    Python は XML 内の特殊文字とエスケープ シーケンスを解析します XML (eXtensibleMarkupLanguage) は、異なるシステム間でデータを転送および保存するために一般的に使用されるデータ交換形式です。 XML ファイルを処理する場合、特殊文字やエスケープ シーケンスが含まれる状況に遭遇することが多く、これにより解析エラーやデータの誤解が生じる可能性があります。したがって、Python を使用して XML ファイルを解析する場合は、これらの特殊文字とエスケープ シーケンスの処理方法を理解する必要があります。 1. 特殊文字と

    See all articles