プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • Java
  • 【Tomcat、サーブレット開発】web.xmlの書き方
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Tomcat、サーブレット開発】web.xmlの書き方

04.14

  • miyabisan2
  • コメントを書く

この記事は5分で読めます

具体例

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

   	<servlet>
		<servlet-name>hello</servlet-name>
		<servlet-class>HelloServlet</servlet-class>
	</servlet>
  	<servlet-mapping>
    	<servlet-name>hello</servlet-name>
    	<url-pattern>/HelloServlet</url-pattern>
  	</servlet-mapping>

	<filter>
		<filter-name>SampleFilter</filter-name>
		<filter-class>filter.FilterTest</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>SampleFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

</web-app>

サーブレットの登録に使うタグ

サーブレットの登録に使うタグ

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

   	<servlet>
		<servlet-name>hello</servlet-name>
		<servlet-class>HelloServlet</servlet-class>
	</servlet>
</web-app>
タグ名 説明
<servlet> サーブレットに名前をつける。
├<servlet-class> サーブレットのクラスを指定する、パッケージは.で区切ります。(例では、app.としています。)
 └<servlet-name> 任意のサーブレット名を付ける。(複数ある場合は、一意にする必要あり。)

 サーブレットのマッピングに使うタグ

<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">
  	<servlet-mapping>
    	<servlet-name>hello</servlet-name>
    	<url-pattern>/HelloServlet</url-pattern>
  	</servlet-mapping>
</web-app>
タグ名 説明
<servlet-mapping> ブラウザからサーブレットを呼び出す際のURLを指定している。
├<servlet-name> マッピング対象のサーブレットの名前を指定する。<servlet>要素で指定した要素と同じ名前を指定する。
└<url-pattern> ブラウザから呼び出すURLのパターンを記述する。

サーブレットのフィルタに使うタグ

サーブレットフィルタとは、サーブレットの共通処理を書く機能のことで、web.xmlへの登録が必要になります。書き方は、普通のサーブレットを登録する書き方に似ています。

詳しくは下記で解説しています。

【サーブレット】共通処理を書くには?(サーブレットフィルタの利用)

サーブレットフィルタの定義に使うタグ

<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">
	<filter>
		<filter-name>SampleFilter</filter-name>
		<filter-class>filter.FilterTest</filter-class>
	</filter>
</web-app>
タグ名 説明
<filter>
├<filter-name> フィルタの名前を設定する。
└<filter-class> フィルタのクラスを設定する。

サーブレットのフィルタのマッピングに使うタグ

<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">
	<filter-mapping>
		<filter-name>SampleFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

</web-app>
タグ名 説明
<filter-mapping>
├<filter-name>  フィルタの名前を設定する。
└<url-pattern> フィルタの適用範囲を指定する。

なお、複数のフィルタを書いた場合は、「記述した順」にフィルタが適用されます。

JSPページの一括設定に使うタグ

例

<webapp>
	<jsp-config>
		<jsp-property-group>
			<url-pattern>*.jsp</url-pattern>
			<page-encoding>UTF-8</page-encoding>
			<include-prelude>/common/header.jsp</include-prelude>
			<include-coda>/common/footer.jsp</include-coda>
		</jsp-property-group>
	</jsp-config>
</webapp>

各項目の説明

要素名 説明
<jsp-config> JSP関連の設定を行う。
├<url-pattern> 設定を適用するURLのパターンです。
├<page-encoding> JSPページのエンコーディング(pageディレクティブのengcodingと同等です。)
├<scripting-invalid> スクリプト(スクリプトレット、式等)を無効にするかどうか。
├<is-xml> このページがXML形式であるかどうか。
├<include-prelude> 共通ヘッダ(includeディレクティブに相当します)
├<include-coda> 共通フッタ(includeディレクティブに相当します)
├<deferred-syntax-allowed-as-literal> #[~]という文字列リテラルを許可するか。
└<trim-directive-whitespaces> ディレクティブの空白をJSP出力から除去する。

適用タイミング

URLで、JSPにアクセスしたタイミングに本設定が読み込まれます。

スポンサーリンク
  • 2018 04.14
  • miyabisan2
  • コメントを書く
  • Java
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2018 04.15

    【サーブレット】スコープについて

  2. 2018 04.07

    【Javaサーブレット】doGet、doPostの使い分け

  3. 2018 05.03

    【Java】Javaプログラマーなら知らないと今後が危うい!?ラムダ式をわかりやすく解説(Java8以降)

  4. 2018 05.05

    【Maven】基本的なゴールについて

  5. 2018 05.13

    【GoFのデザインパターン】「Proxy(プロキシ)」ってどんなパターン?

  6. 2021 09.25

    【Java】汎用的な例外処理の対応方法、リトライの考え方など

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【JSP、サーブレット、JSTL】バージョン対応表

【JSP】基礎的なこと(暗黙オブジェクト等)

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー