記事の紹介この記事ではサーブレットの作成方法と基礎に対して扱います。サーブレットの基礎サーブレットとはサーブレットはJavaを使ってサーバサイドプログラムを作るための技術です。私たちはサーブレットの文法に従い、サーブレットクラスというくらすを開発し、アプリケーションサーバ上で実行することが出来るようになります。サーブレットクラスはブラウザからのリクエストによって実行され、その実行結果をHTMLで出力できます。出力されたHTMLは、アプリケーションサーバによってブラウザにレスポンスされます。サーブレットクラスは、通常のクラスと同様にクラス定義を行って作成します。サーブレットクラスの作成まず、「ファイル」-「新規」-「サーブレット」を選択します。サーブレットクラスの名前を決めて完了を押せば自動的にサーブレットが生成されます。最後にStudy/srcにサーブレットが生成されたことが確認できます。サーブレットクラスの作成ルールまず、サーブレットクラスを定義ために、守るべきのルールを説明します。サーブレットクラスは、通常のクラスと同様にクラス定義を行って作成します。サーブレットクラスを定義するには、いくつか守らなければならないルールがあります。どのようにクラス定義をするか、基本的なサーブレットクラスの例をみせながら説明しましょ。").append(request.getContextPath());}}サーブレットえは以下の三つのルールに従ってクラスを定義します。ちなみに、Eclipseを使えば、これらの「ルール」はEclipseから「自動的」に書いてくれますので、細かく覚える必要はありません。javax.servlet.http.HttpServletクラスを継承するHttpServletクラスはサーブレットクラスの「もと」となるクラスです。このクラスを継承することで、サーブレットクラスという特別なクラスを簡単に作ることができます。ルール2(9~12行目)doGet()メソッドをオーバーライドする。doGet()メソッドは、サーブレットクラスがリクエストされると実行されるメソッドです。サーブレッドクラスのメインメソッドといえるものです。ルール3(1~5行目)サーブレット関係のクラスをインポートするサーブレット関係のクラスは、主に「javax.servlet」と「javax.servlet.http」の両パッケージに入ってます。上記のコードでインポートしているクラスは、サーブレットクラスを作成するために最低限インポートする必要があります。HttpServletRequestとHttpServletResponseブラウザからリクエストが届くと、アプリケーションサーバはサーブレットクラスのdoGet()を呼び出します。このとき引数として渡されるHttpServletRequestはブラウザから届いた「リクエスト」、HttpServletResponseはサーバから送り出す「レスポンス」に関係する情報と機能を持つインスタンスです。サーブレットクラスでは、基本的にHttpServletRequestインスタンスに格納されているリクエストの詳細情報を処理して、結果画面のHTML情報をHttpServletResponseインスタンスを用いて送り返します。アプリケーションサーバHttpServletResponseとHttpServletRequestインスタンスアプリケーションサーバHTMLを出力doGet()メソッド内には、HttpServletRequestによる処理を記述します。どのような処理を要求されるかはアプリケーションそれぞれですが、常に必要となるのがHTMLを出力する処理です。HTMLの出力はHttpServletResponseインスタンスを使用して、以下のように記述します。src="www.dripcoke.com"></iframe>");out.println("</html>");}Content-Typeヘッダの設定(3行目)HttpServletResponseのsetContentType()メソッドを使用して、レスポンスのContent-Typeヘッダ(リクエストとレスポンス参照)を指定します。charset=HTMLの文字コード”」とします。上記のソースの場合の文字コードはUTF-8となります。HTMLの出力(5~8行目)実行結果のHTMLを出力する処理です。この処理はContent-Typeヘッダの設定後に行わなければなりません。レスポンスされたgetWriter()メソッドで取得できるjava.io.PrintWriterインスタンのprintln()メソッドを行います。作成したサーブレットクラスを実行するには、通常のクラスみたいにコンパイルとインスタンス化が必要です。コンパイルは、Eclipseを使用している場合「上書き保存」時に自動的にほぞんされます。サーブレットクラスをリクエストするとアプリケーションサーバが自動的にインスタンスを行いますので、いずれも開発者が手動で行う必要はありません。読み込み中...관련コメントを投稿するにはログインが必要です。site!%d人のブロガーが「いいね」をつけました。