カテゴリ: Servlet 更新日: 2025/11/30
PR
独学でJavaを学んでいる方向け
「実務レベルに到達できるか不安」「1人だと詰まることが多い」場合は、 実践重視で学べる環境を一度確認しておくのも一つの手です。
EBAエデュケーション |学習内容・サポートを見る

サーブレットのURLマッピングとは?web.xmlと@WebServletの使い方を初心者向けに解説!

サーブレットの URL マッピングとは?web.xml と @WebServlet の使い方
サーブレットの URL マッピングとは?web.xml と @WebServlet の使い方

先生と生徒の会話形式で理解しよう

生徒

「Javaのサーブレットって、URLにどうやってつながってるんですか?URLマッピングって何か特別な設定が必要なんですか?」

先生

「URLマッピングは、特定のURLにアクセスされたときに、どのサーブレットを動かすかを決める設定だよ。Javaではweb.xmlという設定ファイルや、@WebServletというアノテーションを使って指定できるんだ。」

生徒

「なるほど!プログラムの中でURLとサーブレットをひもづけてるんですね。両方の方法があるってことですか?」

先生

「そのとおり。どちらの方法も知っておくと、柔軟にWebアプリケーションを作れるようになるよ。」

1. サーブレットのURLマッピングとは?

1. サーブレットのURLマッピングとは?
1. サーブレットのURLマッピングとは?

サーブレットのURLマッピングとは、「どのURLにアクセスされたら、どのサーブレットを動かすのか」を決めるとても大事な仕組みです。たとえば、Webブラウザで「/hello」と入力されたときに、HelloServletというクラスを実行する、といった対応づけを行います。これによって、ユーザーの操作に応じた処理を切り替えることができ、動きのあるWebアプリケーションが作れるようになります。

もう少しイメージしやすいように、簡単な例を見てみましょう。下の例では、「/sample」というURLにアクセスされたら画面に文字を表示するイメージを示しています。


// ※ ここではマッピングのイメージだけを示す簡単な疑似例
// "/sample" にアクセスすると実行されると考えてみましょう。
public class SampleServlet {
    public void service() {
        System.out.println("サーブレットが動きました!");
    }
}

このように、URLマッピングは「URL」→「実行するクラス」という流れをつなぐ“住所録”のような役割を持っています。Javaでは、設定ファイルで指定する方法(web.xml)と、Javaコード上で直接指定する方法(@WebServlet)の2つが用意されており、どちらも覚えておくと開発がとてもスムーズになります。

2. web.xmlを使ったURLマッピングの方法

2. web.xmlを使ったURLマッピングの方法
2. web.xmlを使ったURLマッピングの方法

古くから使われているURLマッピングの方法として、「web.xml」というデプロイメントディスクリプタを使う方法があります。web.xmlファイルは、JavaのWebアプリケーションの設定を記述するXML形式のファイルで、サーブレットとURLの対応関係を明示的に記述します。


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

このように記述すると、ブラウザから「http://localhost:8080/hello」にアクセスされたときに、HelloServletクラスが呼び出されるようになります。複数のサーブレットを登録したい場合も、同様に<servlet><servlet-mapping>のセットを追加します。

PR

将来を見据えて、+αのスキルを身につけたい方へ

JavaやLinuxを学んでいても、「このままで市場価値は上がるのか」 「キャリアの選択肢を広げたい」と感じる方は少なくありません。

AIを学ぶならアイデミープレミアム

3. @WebServletアノテーションを使ったマッピング

3. @WebServletアノテーションを使ったマッピング
3. @WebServletアノテーションを使ったマッピング

Java EE6以降では、web.xmlファイルを使わなくても、@WebServletというアノテーションを使って直接Javaクラス内でURLを指定できるようになりました。これにより、設定ファイルを開かなくてもサーブレットのURLマッピングが可能になります。


@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.getWriter().println("Hello from @WebServlet");
    }
}

この方法では、URLとクラスがコード上で完結するため、管理がしやすくなるというメリットがあります。ただし、プロジェクトによってはweb.xmlで統一している場合もあるので、両方の方法を覚えておくと便利です。

4. 複数URLに対応する方法

4. 複数URLに対応する方法
4. 複数URLに対応する方法

1つのサーブレットに複数のURLパターンを割り当てることも可能です。@WebServletを使う場合は、複数のURLを配列で指定できます。


@WebServlet({"/hello", "/greeting"})
public class HelloServlet extends HttpServlet {
    // 処理内容
}

このように記述することで、ユーザーが「/hello」でも「/greeting」でも同じサーブレットにアクセスできます。web.xmlの場合でも、<url-pattern>を複数定義することで対応可能です。

5. URLパターンの指定ルール

5. URLパターンの指定ルール
5. URLパターンの指定ルール

サーブレットのURLマッピングには、特定のルールがあります。代表的なパターンは以下の通りです:

  • /example:特定のURLに対応
  • *.do:拡張子に対応
  • /admin/*:パス全体に対応

これにより、アプリケーションのURL設計を柔軟に行うことができます。例えば、管理画面すべてを「/admin/*」でカバーしたり、すべてのフォーム処理を「*.do」で統一したりする設計が可能になります。

6. URLマッピングで注意すべきポイント

6. URLマッピングで注意すべきポイント
6. URLマッピングで注意すべきポイント

URLマッピングでよくあるミスとして、「URLの指定が重複している」「記述ミスでアクセスできない」「マッピングが反映されていない」などがあります。特にweb.xmlでの記述ミスはサーブレットが動かない原因になります。

また、@WebServletを使った場合は、アノテーションが正しく読み込まれているか、クラスが正しいパッケージにあるかも確認しましょう。開発環境によっては、再ビルドや再起動が必要な場合もあります。

7. URLマッピングを理解するメリット

7. URLマッピングを理解するメリット
7. URLマッピングを理解するメリット

JavaサーブレットのURLマッピングを理解することで、Webアプリケーションの構成を論理的に設計できるようになります。たとえば、ログイン画面、ユーザー一覧、商品詳細など、それぞれの機能に対応するURLを整理して開発できます。

また、保守性の向上にもつながります。URL構造をルール化しておけば、新しい機能を追加する際も迷わず開発でき、チーム開発でも混乱を避けることができます。

8.まとめ

8.まとめ
8.まとめ

今回の記事では、JavaサーブレットにおけるURLマッピングについて、初心者の方にも理解しやすいように解説しました。Webアプリケーション開発において、URLと処理クラス(サーブレット)を正しく対応付けることは非常に重要であり、Javaでは主に「web.xml」を使った設定方法と「@WebServlet」アノテーションを使う方法の2つが存在します。どちらの方法でも、ユーザーからのHTTPリクエストに応じて適切な処理を実行できるように設計することができます。

web.xmlを使ったURLマッピングでは、XML形式でサーブレット名やクラス、URLパターンを指定します。設定が明示的であるため、複数人でのチーム開発やレガシーなJava EE環境でもよく使用されます。一方、@WebServletアノテーションを使うと、Javaコード上でマッピングを完結できるため、設定の簡略化や保守性の向上が期待できます。特に近年ではアノテーション方式が主流になりつつあり、学んでおくべき基本知識といえるでしょう。

また、1つのサーブレットに複数のURLを割り当てたり、ワイルドカードや拡張子マッピング(*.do)などの柔軟なURLパターンを指定することで、より効率的にWebアプリケーションの構成を設計できます。これにより、ログイン機能や管理画面、データ検索処理など、複数の機能をきれいに分割し、それぞれの役割に応じたURL設計が可能になります。

下記は、アノテーションとweb.xmlの両方でURLマッピングを行う例です。開発現場によって使い分けが必要になる場面が多いため、両方を理解しておくことがWebエンジニアとしてのスキルアップに直結します。


@WebServlet("/info")
public class InfoServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.getWriter().println("サーブレット情報ページ");
    }
}

<servlet>
  <servlet-name>UserServlet</servlet-name>
  <servlet-class>com.example.UserServlet</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>UserServlet</servlet-name>
  <url-pattern>/user</url-pattern>
</servlet-mapping>

さらに、開発中はURLマッピングに関するトラブルも発生しがちです。たとえば「404エラーが出る」「意図しないサーブレットが呼ばれる」といったケースです。これらの原因としては、web.xmlの記述ミスやURLのスペルミス、アノテーションのパッケージ誤りなどが多いため、マッピング内容は一つ一つ丁寧にチェックする習慣を身につけましょう。

URLマッピングの理解が深まると、Webアプリケーションの可読性、拡張性、保守性が飛躍的に向上します。たとえば、REST設計の導入にも役立ちますし、MVCモデルでの開発においても役割分担が明確になります。今後、Spring Bootなどのフレームワークを使った開発を学んでいく際にも、こうした基本概念はしっかり身につけておくと応用が利きます。

SEOを意識した観点でも、URLは人間にも検索エンジンにも分かりやすく設計することが重要です。「/login」「/products」「/user/profile」など、意味のあるパス設計とURLマッピングを組み合わせることで、検索エンジンからの評価も高まりやすくなります。

今後は「Java サーブレット URLマッピングとは」「web.xml servlet mapping の書き方」「@WebServlet 使い方」「Java サーブレット URL 設定方法」「アノテーション URLマッピング servlet」「サーブレット 404 エラー 原因」といったキーワードで、さらに情報を深掘りしていくのがおすすめです。

先生と生徒の振り返り会話

生徒

「URLマッピングって、Webアプリの中でサーブレットとつなげるための大事な仕組みだったんですね!」

先生

「そうだね。どのURLでどのサーブレットを動かすかを決めるから、Webアプリの構造そのものに関わってくるんだ。」

生徒

「@WebServletで簡単に書けるのも便利だし、web.xmlを使ってきちんと管理するのも良さそうですね!」

先生

「その通り!現場によって使い分けることもあるから、両方のやり方を覚えておこう。特にURLの指定ミスや記述ミスはトラブルの元になるから注意が必要だよ。」

生徒

「はい!URLの設計も含めて、アプリ全体を意識して作れるように頑張ります!」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

JavaのサーブレットでURLマッピングとは何ですか?初心者にもわかるように説明してください。

URLマッピングとは、ブラウザから指定されたURLに対して、どのJavaサーブレットクラスを実行するかを決める仕組みのことです。たとえば「/login」というURLでログイン画面を表示するように、サーブレットとURLを関連付けて制御します。

web.xmlを使ったサーブレットのURLマッピング方法がよくわかりません。

web.xmlでは、タグとタグを使って、サーブレット名・クラスとURLパターンを指定します。これにより、URLにアクセスしたときに対応するサーブレットが動作します。

@WebServletアノテーションはweb.xmlの代わりに使えるんですか?

@WebServletアノテーションはJava EE6以降で導入された方法で、Javaクラスに直接URLマッピングを記述できる機能です。web.xmlを使わずにURLとサーブレットを関連付けることができ、設定が簡単になります。

同じサーブレットで複数のURLに対応するにはどうすればいいですか?

@WebServletでは、URLを配列で指定することで、1つのサーブレットで複数のURLに対応可能です。web.xmlでも、複数のを設定することで同様のことが実現できます。

URLマッピングで使えるパターン指定のルールはありますか?

はい、代表的なURLパターンには「/path」「*.do」「/admin/*」などがあります。これにより特定のパスや拡張子、ディレクトリ配下すべてを対象にするマッピングが可能です。

URLマッピングが反映されない原因は何がありますか?

原因として多いのは、web.xmlの記述ミスやURLパターンの誤記、アノテーションの読み込み不備です。また、サーバーの再起動やビルド忘れによる反映漏れもあります。

サーブレットのURLを「*.do」にしたいのですが、どう設定すればいいですか?

「*.do」のような拡張子マッピングはweb.xmlでも@WebServletでも設定可能です。web.xmlでは*.doと記述します。@WebServletでも同様に「*.do」を指定できます。

URLとサーブレットの関係を整理して開発するとどんなメリットがありますか?

URLとサーブレットの関係を整理することで、機能ごとに処理が分かりやすくなり、保守性や拡張性が高まります。また、SEO対策としても意味のあるURL設計が重要です。

@WebServletとweb.xml、どちらを使うのが良いですか?

近年では@WebServletが主流で、コードの中で完結するため管理が簡単です。ただし、企業やプロジェクトによってはweb.xmlを使う方針もあるので、両方の知識を持っておくと安心です。

URLマッピングが間違っていると、どんなエラーが出ますか?

URLマッピングが正しくないと「HTTPステータス404(Not Found)」が表示されます。これは、指定されたURLに対応するサーブレットが見つからなかったことを意味します。

JavaサーブレットのURL設計でSEO対策になるポイントはありますか?

はい、URLに意味のある単語を使うことで検索エンジンの評価が高まります。たとえば「/product/list」や「/user/login」など、内容が想像できるURLにすることがSEO対策になります。
カテゴリの一覧へ
新着記事
PR

JavaやLinuxの検証環境に
低コストで使えるVPS

Spring Data JPAのJpaRepositoryインターフェースの使い方を完全ガイド!初心者でも安心
JSPの実行の流れをフローで理解!サーブレットとの関係性と処理順序を理解しよう
JavaのLocalDateTimeクラスとisAfterメソッドを完全ガイド!初心者でもわかる日時比較
JSPの基本タグ一覧と使い方まとめ!実務で使えるタグを紹介
PR 未経験からITエンジニアを目指す方へ

Javaを学んでいるけど、「このまま未経験で就職できるか不安」という20代向け。 学歴不問・無料サポートの就職支援という選択肢があります。

Tamesy |無料で面談予約
人気記事
No.1
Java&Spring記事人気No1
JavaのIntegerクラスの使い方を完全ガイド!初心者でもわかる整数操作
No.2
Java&Spring記事人気No2
Javaのラムダ式で配列を扱う!Arrays.streamの基本と注意点を初心者向けに解説
No.3
Java&Spring記事人気No3
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.4
Java&Spring記事人気No4
JavaのRuntimeExceptionを完全解説!初心者でもわかるjava.langパッケージの基礎
No.5
Java&Spring記事人気No5
Spring BootのJakarta移行ガイド!初心者向けjavax→jakarta変更ポイント徹底解説
No.6
Java&Spring記事人気No6
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.7
Java&Spring記事人気No7
JavaのHttpSessionを徹底解説!初心者でもわかるセッション管理の基本
No.8
Java&Spring記事人気No8
Thymeleaf(タイムリーフ)入門!初心者でもわかるSpring Bootとテンプレートエンジンの使い方
PR

ローカルPCに依存しない開発環境という選択肢

Java・Linuxの検証や学習環境を、クラウド上ですぐに用意できます。

Java入門

Javaの基礎を体系的に学びたい場合は、文法だけでなく 「なぜそう書くのか」まで丁寧に解説されているため、 初心者でも理解しやすい定番の1冊です。

スッキリわかるJava入門 第4版

※ 紙の書籍・電子書籍どちらでも購入できます

Java実践

ジェネリクス、enum、シールクラスなどの型設計から、 関数型プログラミング(ラムダ式・Stream API)、 JVM制御やリフレクション、外部ライブラリの活用までを扱っており、 「Javaを使えるレベル」へ進むための内容が網羅されています。

スッキリわかるJava入門 実践編 第4版

※ 紙の書籍・電子書籍どちらでも購入できます

Spring入門

Spring Frameworkの全体像から、 Webアプリ開発で必要となる主要機能までを 体系的に解説している定番の入門書です。

Spring徹底入門 第2版 Spring FrameworkによるJavaアプリケーション開発

※ 紙の書籍・電子書籍どちらでも購入できます

PR 実務経験のあるエンジニア向け

Javaなどの実務経験があり、次のキャリアを検討している方向け。 IT・ゲーム業界に特化した転職支援サービスという選択肢もあります。

転職ボックス |IT・ゲーム業界専門