【今日書くこと】
サーブレットについてふわっと理解してきたので、その辺り
1. ざっくり概要
そもそもサーブレットとは
語源:serve(サーブする)+let(〜させる)
- 大まかには、サーバーサイドで実行されるプログラム
- Java Servlet APIの一部
- サーブレットコンテナと呼ばれるサーバー環境で実行される
→つまり、クライアントのリクエストに応答する小さなサーバー
※Java Servletについて
JSPと組み合わせて使う場合、データの入出力処理を担当する
サーブレットコンテナ(webコンテナ)の話
- サーブレットを実行するためのソフトウェア
※処理の流れ
→HTTPリクエストを受け取る
→受け取ったHTTPリクエストを解析する
→サーブレットやJSPなどのJavaコンポーネントを実行する
→生成されたHTTPリクエストをクライアントに送信する
※サーブレットコンテナを含みJSPやHTTPサーバーとしての機能も含むものはwebコンテナと呼ぶ/Apache Tomcatはwebコンテナの一つ
ついでに、JSPとは
- サーブレット技術の延長
- HTML内にJavaコードを埋め込める
- JavaEEの一部
- 一般的にサーブレットと組み合わせて使う
あと、web.xml
- Java EEのウェブアプリケーションデプロイメントディスクリプタ
- サーブレットやフィルターなどの設定やマッピングを定義
- web.xmlファイル内でサーブレットの定義、サーブレットのURLパターンとマッピング、サーブレットの初期パラメータの設定が行われる
web.xml
< web-app>
< servlet>
< servlet-name>Sample</servlet-name>
< servlet-class>com.example.Sample</servlet-class>
</servlet>
< servlet-mapping>
< servlet-name>Sample‹/servlet-name>
‹url-pattern>/sample</url-pattern>
</ servlet-mapping>
</web-app>
【解説】
web.xmlでSampleというサーブレットを定義→/sampleというURLパターンにマッピング
これによって、クライアントが/sampleパスにリクエストを送信するとSampleが呼び出される
2. 実践/具体例
前提:
- サーブレットはServletインターフェイスを実装する
- GenericServletかHttpServletクラスを継承する
- HttpServletクラスを継承する場合、doGet(), doPost(), doPut(), doDelete()メソッドに分岐させられる