サーブレットを作って分かるJava Webアプリの基本的な仕組み:初心者のためのサーブレット/JSP入門(3)(3/3 ページ)
初めてJavaのWebアプリを作ってみたいという人に向けて、サーブレットを作ってみることで、その基本的な仕組みを理解してもらう。
サーブレットクラスを作成する
サーブレットの実体は、Javaのクラスです。Webサーバーに格納されたサーブレットクラスは、アクセスがあると、Webサーバーと連携したアプリケーションサーバーによって実行され、実行結果をHTMLで出力します。出力されたHTMLは、クライアントへレスポンスとして送信されます。
サーブレットクラスをプロジェクトに追加する
1. [プロジェクト]タブでプロジェクト名を右クリックして[新規]→[サーブレット]を選択します。
2. [クラス名]に「Servlet01」、[パッケージ]に「com.example」と入力します。
3. [次>]ボタンをクリックします。
4. [サーブレット名]に「Servlet01」と入力します。サーブレットクラスの正式名は「com.example.Servlet01」ですが、アプリケーション内部では「Servlet01」で認識できるようにします。[URLパターン]は、サーブレットにアクセスするためのURLです。デフォルトで「/Servlet01」となっていますが、この場合、「http://localhost:8080/ServletApp01/Servlet01」でアクセスできるようになります。特に変更する必要はないので、デフォルトのままにしておきましょう。
5. [終了]ボタンをクリックすると、サーブレットクラスが作成されます。
「手順どおりに操作すると、プロジェクトの『ソース・パッケージ』フォルダーに『com.example』パッケージが作成され、内部に『Servlet01.java』というソースファイルが作成されます」
Onepoint
サーブレットを作成すると、サーブレットのソースファイルが保存され、コンパイルとデプロイが自動的に行われます。
Memo パッケージ名
パッケージは、内部に含まれるクラスに付けられるグループ名(名前空間名)です。例え同じ名前のクラスが複数存在しても、パッケージ名で別のクラスとして識別できるようにするために付けます。
パッケージ名には、基本的に、変数やメソッドと同様に小文字を使います。外部に公開する場合は、使用しているドメイン名を逆順に並べた「com.example」(注:example.comは実在するドメインではなくテスト等に使用する架空のドメインです)のような文字列に、パッケージの内容がわかるような文字列を組み合わせた名前にします。
ドメイン名を逆順にした文字列 + パッケージの内容がわかる文字列
com.example.game com.example.access
ただし、外部に公開するのでなければ特にドメイン名を使用する必要はないので、任意の名前を付けておけばOKです。
Memo コンテキストパスとURLパターン
プロジェクトに存在するHTMLファイルやサーブレットは、アプリケーションサーバーにデプロイされることで外部に対して公開されます。この場合、ブラウザーからは対象のページのURLを指定してアクセスします。プロジェクトの「Webページ」フォルダーに配置したindex.htmlやindex.jspといったファイルはトップページとなるので、アクセスする際のURLは次のようになります。
http://サーバー名/アプリケーション名/
サーバー名は、サーバーを特定するためのインターネットドメイン「example.com」や、サーバー名にドメイン名を加えた「www.example.com」のようになり、ローカル環境でサーバーを稼働させている場合のサーバー名は「localhost」です。ただし、GlassFishはWebサーバーへのアクセスに用いられる80番ポートではなく、8080番ポートを使用しますので、「www.examp le.com:8080」や「localhost:8080」のように8080番ポートを指定します。
アプリケーション名とは、すなわちプロジェクト名のことです。
●サーブレットへのアクセス
サーブレットを作成する際に「URLパターン」というものを設定しました。これはサーブレットをリクエストするための名前で、作成時に任意の名前を付けることができます。サーブレットのソースファイルの名前とはまったく関係がなく、あくまでリクエスト用の名前です。
「Servlet01.java」ファイルで定義したサーブレットクラス「Servlet01」に対して「servlet」というURLパターンを設定した場合は、次のURLでリクエストします。
http://サーバー名/アプリケーション名/servlet
書籍紹介
Javaサーバサイドプログラミング パーフェクトマスター
金城俊哉著
秀和システム 3,780円
Javaははじめてですか? でも、しり込みしなくたっていいんです。いきなりサーバサイドからはじめましょう!
本書は、Webエンジニアを目指す人のために対話形式でJava
EEを基礎からストア構築まで動かしながら学べる解説書です。Javaサーブレットを学び、Java
EEを極めていく一方、初心者のためにコラム形式でJavaの基本も説明します。実行環境の構築、ロジックの作成、データベース連携まで動かしながら覚えられます!
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Strutsを使い続けることの問題点&現在有力なJava EE、Spring、Play Frameworkの基礎知識とアーキテクチャ
新規のエンタープライズJava開発において現在有力視される3つのフレームの違いについて解説する連載。初回は、Strutsを使い続けることの問題点と3つの概要、アーキテクチャ、使い分けについて。 - Eclipse 3.4で超簡単Javaプログラミング基礎入門
これからプログラミングを学習したい方、Javaは難しそうでとっつきづらいという方のためのJavaプログラミング超入門連載です。最新のEclipse 3.4とJava 6を使い大幅に情報量を増やした、連載「Eclipseではじめるプログラミング」の改訂版となります - Struts後時代のJava EE/Javaモダン開発はどうあるべきか〜JJUG CCC 2014 Springまとめリポート(前編)
Java EEにおいてJava 8はどこまで利用できるのか、Java開発でGit、CI、継続的デリバリは、どこまで有効なのか、Struts後時代のJava EE開発における有効なフレームワークなどをお伝えする。