備忘録:サーブレット①
サーブレットクラスの書き方
サーブレットクラスの基本的な書き方は下のとおり。例としてサーブレットクラス:KonchiwaServletを作成。
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class KonchiwaServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { }
サーブレットクラス作成の際には、守らないといけないルールがある。
①javax.servlet.http.HttpServletクラスを継承して作成すること
②HttpServletクラスのメソッド、doGetメソッドをオーバーライドすること
ブラウザからサーブレットクラスがリクエストされるとdoGetメソッドが実行される。doGetメソッドに引数として渡されるHttpServletRequestとHttpServletResponseはそれぞれブラウザからのリクエスト、ブラウザへのレスポンスに関係する情報と機能を持つインスタンス。
③サーブレット関係のクラスをimportする
サーブレットクラスを実行させる
ブラウザでサーブレットクラスのURLを指定してリクエストするとサーブレットクラスが実行できる。URLは以下の形式。
http://サーバ名/アプリケーション名/URLパターン
例:http: // localhost:8080/sample/SampleServlet
この時URLにはURLパターンというものを指定する必要がある。URLパターンはサーブレットクラスの中で設定する必要があり、サーブレットクラス名と同じものでもいいし、別の名前を設定もできる。
HTMLを出力させる
HTMLへの出力は、ブラウザへのレスポンスを表すHttpServletResponseインスタンスを通じて行う。
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html; charset=UTF-8"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("..."); out.println("</html>");