サーブレットとは?【Java初心者Webアプリ勉強】

プログラミング

サーブレットとは

サーブレットとは

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コンテナがレスポンスをクライアントに送り出してくれる。

コメント

タイトルとURLをコピーしました