Servletの設定・実行

Servletの作成

最後にEclipseでのサーブレット(Servlet)の開発手順を見てみましょう。jspプロジェクトを右クリックし、新規→その他を選ぶと以下のダイアログが出力されるます。(図4-1.)ここで、Web→サーブレットを選んで、次へをクリックしてください。

図4-1.サーブレットの生成①
サーブレットの生成①

すると、以下のパッケージおよびクラス名を入力するダイアログが出力されます。(図4-2.)ここでは仮にJavaパッケージsampleクラス名Sample としましょう。入力したら、次へをクリックします。

図4-2.サーブレットの生成②
サーブレットの生成②

すると、画面が以下のように変化しますので(図4-3.)、ここでURLマッピングを変更します。URLマッピングとは、見かけ上このページをどこに配置するかを決めるもので、どのようなアドレスでアクセスさせるかを決めるものです。

URLマッピングで表示されているSampleをクリックすると、右側の編集ボタンがクリックできるようになるのでクリックします。

図4-3.サーブレットの生成②
サーブレットの生成②

次に、URLマッピング編集ダイアログが出力しますので/sample/Sampleに変更してOKボタンを押します。(図4-4.)

図4-4.URLマッピングの編集
URLマッピングの編集

これで、http://localhost:8080/jsp/sample/Sampleのアドレスでアクセスできるようになります。最後に以下のダイアログ(図4-5.)が出力されますが、これはそのまま何もせずに完了をクリックしてください。

図4-5.サーブレット生成時の最後の画面
サーブレット生成時の最後の画面

ここまでいくとjsp→Java Resources→src→sample→Sample.javaができ、ファイルのフォーマットが表示されます。(図4-6.)

図4-6.自動生成されたコード
自動生成されたコード

あとはこのコードを変更してプログラムを完成させます。試しに以下のにSample.javaを入力してみてください。

Sample.java
package sample;

import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class Sample01
 */
@WebServlet("/sample/Sample")
public class Sample extends HttpServlet{
private static final long serialVersionUID = 1L;
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Sample() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

		request.setCharacterEncoding("utf-8");
		response.setContentType("text/html; charset=utf-8");
		PrintWriter out = response.getWriter();

		out.println("<html>");
		out.println("<head>");
		out.println("<title>サーブレットのサンプル</title>");
		out.println("</head>");
		out.println("<body>");
		out.println("<h1>サーブレットのサンプル</h1>");
		out.println("</body>");
		out.println("</html>");
	}
}
		

プログラムの実行

実行方法

実行は、JSPファイルの場合と同様です。プロジェクト・エクスプローラーで、jspプロジェクトからSample01.javaで右クリックし、実行→サーバーで実行を選択(図4-7.)するか、Sample.javaを選択した状態で、実行ボタン実行ボタンを押してください。

図4-6.サーブレットの実行
サーブレットの実行

成功すれば、以下のように画面が表示されます。(図4-8.)

図4-8.サーブレットの実行結果
サーブレットの実行結果

結果のURLを見ると、http://localhost:8080/jsp/sample/Sampleとなっており、設定どおりのURLになっていることがわかります。

web.xml

通常、Servlet3.0より前のバージョンでは、web.xmlというファイルにURLマッピングを行っていました。現在でもweb.xmlファイル自体はなくなっておらず、格納場所は、¥WebContent¥WEB-INF¥web.xmlです。

図4-9.web.xmlファイルの場所
web.xmlファイルの場所

Servlet3.0以降は、javaファイルでアノテーションで対応できるようになっています。