検索

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></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
    <param-value>test</param-value>
    <description>It is a test parameter.</description></param-name></context-param>

8. 主に以下のサブ要素を持ちます。 サーブレットの名前を指定します

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

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,表示不支持 语法 

    • :设定 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 までご連絡ください。
    RSSの理解:XMLの視点RSSの理解:XMLの視点Apr 25, 2025 am 12:14 AM

    RSSは、頻繁に更新されるコンテンツを公開するために使用されるXMLベースの形式です。 1。RSSFeedは、タイトル、リンク、説明などを含むXML構造を通じて情報を整理します。2。rssfeedの作成には、言語やリリース日などのメタデータを追加するXML構造での書き込みが必要です。 3.高度な使用法には、マルチメディアファイルと分類された情報を含めることができます。 4.デバッグ中にXML検証ツールを使用して、必要な要素が存在し、正しくエンコードされていることを確認します。 5. RSSFeedの最適化は、構造をシンプルに保つことで、ページング、キャッシュ、および保持することで実現できます。この知識を理解して適用することにより、コンテンツを効果的に管理および配布できます。

    XMLのRSS:タグ、属性、および構造のデコードXMLのRSS:タグ、属性、および構造のデコードApr 24, 2025 am 12:09 AM

    RSSは、コンテンツを公開および購読するために使用されるXMLベースの形式です。 RSSファイルのXML構造には、ルート要素、要素、および複数の要素が含まれ、それぞれがコンテンツエントリを表します。 XMLパーサーを介してRSSファイルを読み取り、解析すると、ユーザーは最新のコンテンツを購読して取得できます。

    RSSにおけるXMLの利点:技術的なディープダイビングRSSにおけるXMLの利点:技術的なディープダイビングApr 23, 2025 am 12:02 AM

    XMLには、RSSの構造化データ、スケーラビリティ、クロスプラットフォームの互換性、解析検証の利点があります。 1)構造化されたデータにより、コンテンツの一貫性と信頼性が保証されます。 2)スケーラビリティにより、コンテンツのニーズに合わせてカスタムタグを追加できます。 3)クロスプラットフォームの互換性により、さまざまなデバイスでシームレスに動作します。 4)分析および検証ツールは、フィードの品質と完全性を確保します。

    XMLのRSS:コンテンツシンジケーションのコアを発表しますXMLのRSS:コンテンツシンジケーションのコアを発表しますApr 22, 2025 am 12:08 AM

    XMLでのRSSの実装は、構造化されたXML形式を使用してコンテンツを整理することです。 1)RSSは、チャネル情報やプロジェクトリストなどの要素を含むデータ交換形式としてXMLを使用します。 2)RSSファイルを生成する場合、コンテンツは仕様に従って整理し、サブスクリプションのためにサーバーに公開する必要があります。 3)RSSファイルは、読者またはプラグインを介してサブスクライブして、コンテンツを自動的に更新できます。

    基本を超えて:高度なRSSドキュメント機能基本を超えて:高度なRSSドキュメント機能Apr 21, 2025 am 12:03 AM

    RSSの高度な機能には、コンテンツネームスペース、拡張モジュール、条件付きサブスクリプションが含まれます。 1)コンテンツネームスペースはRSS機能を拡張します。2)dublincoreやiTunesなどの拡張モジュールを拡張してメタデータを追加します。これらの関数は、情報収集の効率を改善するためにXML要素と属性を追加することにより実装されます。

    XMLバックボーン:RSSフィードが構造化される方法XMLバックボーン:RSSフィードが構造化される方法Apr 20, 2025 am 12:02 AM

    rssfeedsusexmltoStructurecontentupdates.1)xmlprovidesahierararchStructurefordata.2)theelementDefinesthefeed'sidentityandContainesements.3)letentionEntentividualContentPieces.4)

    RSS&XML:Webコンテンツのダイナミックデュオを理解するRSS&XML:Webコンテンツのダイナミックデュオを理解するApr 19, 2025 am 12:03 AM

    RSSとXMLは、Webコンテンツ管理のためのツールです。 RSSはコンテンツの公開と購読に使用され、XMLはデータの保存と転送に使用されます。コンテンツの公開、サブスクリプション、および更新プッシュで動作します。使用法の例には、RSS公開ブログ投稿やXML保存本情報が含まれます。

    RSSドキュメント:Webシンジケーションの基礎RSSドキュメント:Webシンジケーションの基礎Apr 18, 2025 am 12:04 AM

    RSSドキュメントは、頻繁に更新されるコンテンツを公開および購読するために使用されるXMLベースの構造化されたファイルです。その主な機能には、1)自動化されたコンテンツの更新、2)コンテンツの集約、3)ブラウジング効率の改善。 RSSFeedを通じて、ユーザーはタイムリーにさまざまなソースから最新情報を購読および取得できます。

    See all articles

    ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

    ホットツール

    SecLists

    SecLists

    SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

    mPDF

    mPDF

    mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

    SublimeText3 Linux 新バージョン

    SublimeText3 Linux 新バージョン

    SublimeText3 Linux 最新バージョン

    メモ帳++7.3.1

    メモ帳++7.3.1

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

    DVWA

    DVWA

    Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、