サーブレットの基本
サーブレットクラスのルール
- doGet()メソッドをオーバーライドする
- doGetメソッドは、サーブレットクラスがリクエストされると実行されるメソッドです。
- オーバーライドとは、メソッドの上書き。
- サーブレット関係のクラスをインポート
- javax.servletと javax.servlet.html
HttpServletRequestとHttpServletResponse
ブラウザからのリクエストが来ると、APサーバはdoGet()を呼び出す。
このとき引数として渡されるHttpServletRequestはブラウザからの「リクエスト」、HttpServletResponseは送り出す「レスポンス」に関する情報を持つインスタンス。
HTMLの出力
doGet()メソッドには、リクエストで実行する処理を記述するが、常に必要なのがHTMLを出力する処理
サーブレットクラスのコンパイルトインスタンス化
サーブレットクラスを実行する際は、通常のクラスと同様に子パイルとインスタンスが必要だが、eclipseを使えば自動的に行われる。
サーブレットの実行方法
サーブレットクラスのURL
HTMLの時は以下のように「ファイル名」が必要だった。
http://<サーバ名>/<アプリケーション名(プロジェクト名)>/<ルートからのパス>
サーブレットの場合は、最後がURLパターンというサーブレットクラスのあだ名をつける。
http://<サーバ名>/<アプリケーション名(プロジェクト名)>/<URLパターン>
URLパターンの設定
URLパターンは**@WebServlet("/URLパターン")**で設定する。
Eclpseでサーブレットクラスを作った場合、URLパターンは自動的にクラス名と同じものが設定される。
また、アノテーションではなく、web.xmlという設定ファイルを使用することもある。
リクエストメソッドと実行メソッド
サーブレットクラスが実行するメソッドは、次の通りで決定される
- GETリクエスト→doGet()メソッド
- POSTリクエスト→doPost()メソッド
サーブレットの注意事項
ソースコードを変更しても実行結果に反映されない場合は以下の対処法を実行する。
- サーバを再起動する
- しばらく待つ
→コンソールに「コンテキストの再ロードが完了しました」と表示されればOK