更新:2019-11-28入門JSPJava/JSP記事の紹介この記事ではサーブレットクラスの実行方法に対して扱います。サーブレットの基礎サーブレットクラスのURLサーブレットクラスを実行するには、ブラウザでサーブレットクラスのURLを指定してリクエストします。ここまではHTMLファイルの実行方法と似てますが、指定するURLが異なります。サーブレットクラスのURLは、次の形式で指定できます。http://<サーバ名>/<アプリケーション名>/<URLパターン>サーブレットクラスはファイル名ではなくURLパターンというものをURL中に指定します。URLパターンは、サーブレットクラスをリクエストするときに使用する名前で、開発者が設定する事ができます。「HellowServlet」というクラス名のサーブレットクラスに「MyWorld」というURLパターンを設定した場合、そのクラスをリクエストするときのURLは、http://<サーバ名>/<アプリケーション名>/helloになります。言い換えれば、サーブレットクラスはサーブレットクラスはURLパターンを設定しないとリクエストして実行することが出来ません。したがって、URLパターンの設定方法を理解することが凄く大事です。URLパターンの設定サーブレットクラスのURLパターンは「@WebServletアノテーション」で設定します。アノテーションはJava5から追加された機能で、クラスやメソッドなどに関連情報を付加することが出来ます。アノテーションで付加された情報は、外部ツールに読み込ませる事も可能です。サーブレットクラスに@WebServletアノテーションを追加すると、アプリケーションサーバがそれを読み取り、URLパターンの設定を行います。アノテーション@WebServlet(“/URLパターン”)*URLパターンは「/」から始める。*Tomcatのバージョンが7以上である必要があります。*javax.servlet.annotation.WebServletをインポートする必要があります。URLパターンには文字列を設定することができます。下記のコードでは、サーブレットクラスHelloServletに「hello」というURLパターンを設定している例です。「/servlet/hello」と設定したURLの階層を増やしたり、「hello.html」と設定してHTMLファイルのように見せることもできます。クラス名と同じ名前で設定しても問題ありません。Eclipseでサーブレットクラスを作成した場合、URLパターンはクラス名と同じものが自動的に設定されます(この場合は’http://localhost:8080/Study(アプリ名)/HelloServlet(クラス名)’となります。{//...}//...サーブレットの実行サーブレットクラスにURLパターンを設定したら、ブラウザからリクエストして実行できるようになります。ブラウザからリクエストする方法はHTMLファイルからりくえすとするのと同じく、次の二つの方法があります。ブラウザを起動してURLを入力ブラウザを起動した後、サーブレットクラスのURLを入力してリクエストします。(アプリケーションサーバが起動されてなければありません。Eclipseの実行機能を利用するリクエストするサーブレットクラスを選択し、右クリックから「実行」➞「サーバで実行」を選択します。次のような方法もあります。サーブレットクラスへのるんをクリックします。次のように記述したリンクをクリックして、サーブレットクラスをリクエストします。href=”/Study/HelloServlet/”>サーブレットに移動</a>このようなリクエスト型はよく、ウェブページを作る特に使われます。多くの場合は、Webアプリケーションに最初にリクエストする時に方法1や2によって実行されます。このリクエストに対するレスポンスのHTMLにはリンクが含まれる事が多く、ユーザは以降のページを利用する時は、方法3を利用してページを移動します。リクエストメソッドと実行メソッドURLの入力、またはリンクのクリックでサーブレットクラスをリクエストすると、doGet()メソッドが実行されます。サーブレットクラスを常にdoGet()メソッドを実行するわけではありません。サーブレットクラスが実行するメソッドは、リクエストメソッド(webを支える通信の仕組みリクエストとリスポンスを参考)によって決まります。詳細的には、GETリクエストされたらdoGet()メソッドを、POSTリクエストされたらdoPost()メソッドを実行します。リクエストしたとき、ブラウザは自動的にGETリクエストを行うため、doget()メソッドが実行されます。読み込み中...관련コメントを投稿するにはログインが必要です。site!%d人のブロガーが「いいね」をつけました。