Servletの設定・実行
Servletの作成
最後にEclipseでのサーブレット(Servlet)の開発手順を見てみましょう。jspプロジェクトを右クリックし、新規→その他を選ぶと以下のダイアログが出力されるます。(図4-1.)ここで、Web→サーブレットを選んで、次へをクリックしてください。
すると、以下のパッケージおよびクラス名を入力するダイアログが出力されます。(図4-2.)ここでは仮にJavaパッケージをsample、クラス名はSample としましょう。入力したら、次へをクリックします。
すると、画面が以下のように変化しますので(図4-3.)、ここでURLマッピングを変更します。URLマッピングとは、見かけ上このページをどこに配置するかを決めるもので、どのようなアドレスでアクセスさせるかを決めるものです。
URLマッピングで表示されているSampleをクリックすると、右側の編集ボタンがクリックできるようになるのでクリックします。
次に、URLマッピング編集ダイアログが出力しますので/sample/Sampleに変更してOKボタンを押します。(図4-4.)
これで、http://localhost:8080/jsp/sample/Sampleのアドレスでアクセスできるようになります。最後に以下のダイアログ(図4-5.)が出力されますが、これはそのまま何もせずに完了をクリックしてください。
ここまでいくとjsp→Java Resources→src→sample→Sample.javaができ、ファイルのフォーマットが表示されます。(図4-6.)
あとはこのコードを変更してプログラムを完成させます。試しに以下のにSample.javaを入力してみてください。
Sample.javapackage 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-8.)
結果のURLを見ると、http://localhost:8080/jsp/sample/Sampleとなっており、設定どおりのURLになっていることがわかります。
web.xml
通常、Servlet3.0より前のバージョンでは、web.xmlというファイルにURLマッピングを行っていました。現在でもweb.xmlファイル自体はなくなっておらず、格納場所は、¥WebContent¥WEB-INF¥web.xmlです。
Servlet3.0以降は、javaファイルでアノテーションで対応できるようになっています。