Servletメモ


FrontPage

サーブレットのコンパイル

  • サーブレットのコンパイルに必要なAPIライブラリはJ2SDKには入ってない。
  • Tomcatはサーブレットのコンパイルに必要なAPIライブラリ、servlet.jarを持つ。
  • コンパイルの為に、CLASSPATHにTomcat 5.0\common\lib\servlet.jarを追加すること。
  • ただし、C:\j2sdk1.4.2_05\jre\lib;.を必ず先頭に含めること。

サーブレットでもつくってみるか。

MVCモデル

  • MVC=Model, View, Contoroller
    サーブレットはコントローラの役割を果たす。
    Webアプリケーションのその他のコンポーネントを制御し、Webアプリケーション全体の振る舞いを決定する。
     

サーブレットAPIドキュメント

サーブレットプログラミングで使用するパッケージは
javax.servletとjavax.servlet.http

  • javax.servlet
    サーブレットの基本機能を提供するサーブレットクラスや、オブジェクトのためのインターフェースを提供。
    この中には特定のプロトコルに依存しないサーブレットを定義したGenericServlet?も含む
     
  • javax.servlet.http
    主にHTTPプロトコル関連のクラスとインターフェースを提供。
    HTTPプロトコルを実装したHttpServlet?クラス
    クッキーの取り扱いをサポートするCokkieクラスなど

HttpServlet?クラス

java.lang.Object
  |
  +--javax.servlet.GenericServlet
        |
        +--javax.servlet.http.HttpServlet

Httpサーブレット作成のための雛形

import java.io.*;
import javax.servlet;
import javax.servlet.http;

public class Myservlet extends HttpServlet {
       public void doGet(HttpServletRequest hreq,
                         HttpServletResponse hres)
               throws ServletException, IOException {
        
       HttpServletRequestオブジェクトからデータを取得

       GETリクエストに必要な処理を行う
 
       HttpServletResponseオブジェクトに出力データを書き出す

       hres.setContentType("text/html;charset=iso-2022-jp");
       ProntWriter out = hres.getWriter();
      }


      public void doPost(HttpServletRequest hreq,
                         HttpServletResponse hres)
             throws ServletException, IOException {

        HttpServletRequestオブジェクトからデータを取得

        POSTリクエストに必要な処理を行う

        HttpServletResponseオブジェクトに出力データを書き出す

        hres.setContentType("text/html;charset=iso-2022-jp");
        PrintWriter out = hres.getWriter();
      }
}
  • HttpServlet?クラスを継承する
    HttpServlet?クラスはdoGet(), doPost() などいくつかのリクエストを取り扱うためのメソッドをそろえている。
    通常、doGet(), doPost()の2つをオーバーライドしてサーブレットの振る舞いを定義する。
     
  • doGet(), doPost()の引数、HttpServletRequest?はサーブレットにHTTPリクエスト情報を伝えるためのオブジェクト
     
  • doGet(), doPost()の引数、HttpServleResponse?はサーブレットがHTTPレスポンスを出力するためのオブジェクト
    出力結果はWebサーバーを通じてWebブラウザにHTTPレスポンス情報として送られる。
     
  • HttpServlet?クラスのinit()はオブジェクト生成時に初期化を行うメソッド。
     
  • HttpServlet?クラスのdestoroy()はオブジェクト消滅時に後始末をするためのメソッド

最新の20件

2012-02-17 2006-09-22 2004-09-19 2004-09-11
  • Servletメモ
2004-09-09 2004-09-08 2004-09-07 2004-09-06 2004-08-31 2004-08-27 2004-08-26 2004-08-24 2004-08-20 2004-08-19