サーブレットとは
サーブレットとは
1. APサーバ内にあるWebコンテナ上で動くJavaによるWebアプリの一部
→これについては「Tomcatとは?」で解説しています。
2.リクエストに応じた処理をするJavaプログラム
→1つのWebアプリの中ではURLパターンに応じてサーブレットが動くことになる。
つまり、サーブレット=URLパターンに応じて動くJavaプログラム
この2つは下記の「Tomcatとは?」で詳しく解説しています。
サーブレットの位置付け
・サーブレットはJavaのクラスとして定義される。
→HTTPServletという抽象クラスを継承している。
具体的には
doGet()メソッド と doPost()メソッド をオーバーライドして使う。
Webコンテナは、リクエストを受けるとURLパターンから該当のサーブレットを特定する。
→初回のリクエスト時にインスタンス化(doGetとDoPost)を行い、2回目からは既存のインスタンスを使用する。
また、WebコンテナがGetリクエストを受けると、doGet()メソッドを呼び出し、Postリクエストを受けると、doPost()メソッドを呼び出す。
Getリクエスト:URLを指定した場合(アドレスやリンク)
Postリクエスト or Getリクエスト:Webブラウザの画面から入力して、ボタンを押す場合
URLマッピング
URLマッピングとはURLパターンとサーブレットを結びつけること
最初に述べたようにURLパターンに応じてサーブレットが動くので、結びつけは必須。
▶︎このことをURLマッピングという
URLマッピングの方法
@Web Servletアノテーションを使う。
→ Servlet定義の直前に
@Web Servlet(”/URLパターン”)
と記述する。
これによりサーブレットとURLが結びつく。
レスポンスの生成
doGet()やdoPost()はリクエストに関する情報とレスポンスに関する情報をパラメータで受け取る。
・リクエスト情報:HTTPServletRequest
・レスポンス情報:HTTPServletResponse
このうちレスポンス情報を使って、レスポンス内容の生成を行う。
🔴レスポンスの生成
①コンテンツタイプ&エンコーディング方式を設定
response.setContentType(“text/html; charset=UTF8“)
②内容書き出しオブジェクトの取得
printWriter out = response.getWriter();
③内容書き出し
out.println(“<!DOCTYPE html> “);
out.println(“<html> “);
:
:
out.println(“<html> “);
①〜③をしておくと、Webコンテナがレスポンスをクライアントに送り出してくれる。
コメント