ja ja ja zh zh ceb ja ja ja ja ja ja ja ja ja fa ja ja ja ja ja de ja ja nl en ja ja ja ja ja ja ja ja ja ja ja ja ja ja en en sv fr de de fr fr fr af en en en en ru kn kn ja ja ja ja ja en ja en zh ja ja ja ja en ja ja ja zh ja ja ja ja ja ja en en sv fr de de fr fr fr sv en fr en ja fr de fr es nb fr de en en sv de de fr he en en en nl sv en en en af en en en en en en en en ja en en kn en en kn kn ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja en ja ja en sv fr de de fr fr fr sv en fr en ja fr de fr es nb fr en en en en en en ja en en ja en en en en en en en en en ja ja ja ja ja ja ja ja ja ja nl en ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja en ja de en ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja zh zh ceb ja ja ja ja ja ja ja ja ja fa ja ja ja ja ja ja
protected void doGet(HttpServletRequest request, HttpServletResponse response)
req -クライアントが生成するサーブレットへのリクエストを含む HttpServletRequestオブジェクト
resp -サーブレットがクライアントに送る返信を含む HttpServletResponseオブジェクト
java.io.IOException - もし、サーブレットがGET リクエストを操作する時に、入力もしくは出力エラーが検出されるならば。
ServletException - もし、GETリクエストのための処理できなかったならば。
では、実際のサーブレットの作成をサンプルプログラムで見てみよう。
GETリクエストを処理するサンプルプログラム
このサンプルプログラムラムでは、GETリクエストの処理をdoGet()メソッドで実装している。サーブレットは、この時、GETリクエストなので、データベースに見立てたアクセスカウンタの表示処理を行っている。カウンタの更新処理は行わない。
サーブレットの配置とプログラムのコードは次のようになっている。
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/ServletGetRequest")//[1] public class ServletGet extends HttpServlet {//[2] static int accessCountInDatabase = 0;//[3] protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//[4] response.setContentType("text/html; charset=Shift_JIS");//[5] PrintWriter out = response.getWriter();//[6] out.println("    ");//[7] out.println(" GETリクエストを受信 ");//[8] out.println(" アクセス回数:" + loadAccessCountInDatabase() + "回 ");//[9] out.println("  ");//[10] } int loadAccessCountInDatabase() {//[20] return accessCountInDatabase;//[21] } }
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/ServletGetRequest")//[1]
public class ServletGet extends HttpServlet {//[2]
static int accessCountInDatabase = 0;//[3]
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {//[4]
response.setContentType("text/html; charset=Shift_JIS");//[5]
PrintWriter out = response.getWriter();//[6]
out.println("    ");//[7]
out.println(" GETリクエストを受信 ");//[8]
out.println(" アクセス回数:" + loadAccessCountInDatabase() + "回 ");//[9]
out.println("  ");//[10]
int loadAccessCountInDatabase() {//[20]
return accessCountInDatabase;//[21]
ブラウザにURL:http://localhost:8080/Servlet/ServletGetRequest を入力し、Enterを押す。
表示されるブラウザ画面:
サンプルプログラムの説明
それでは簡単にプログラムの解説をしてゆこう。
[1] アノテーションの宣言をする。
[2] HttpServletを継承して、ServletGetクラスを定義する。
[3] データベースにある情報に見立てた変数accessCountInDatabaseを定義する。
[4] doGet()メソッドをオーバーライドして定義する。
[5] Content Typeを設定する。
[6] HTMLを出力するためのoutオブジェクトを取得する。
[7]-[10] outオブジェクトに「GETリクエストを受信」と「アクセス回数」を表示するHTMLコードを出力する。
[20][21] 変数accessCountInDatabaseの値を戻すメソッドloadAccessCountInDatabase()を定義する。
HTML画面でリクエストを指定するサンプルプログラム
このサンプルプログラムは、前のセクションのサーブレットにHTMLで書かれた画面からGETリクエストとPOSTリクエストを選んで送信することができるようになっている。
サーブレットの配置とプログラムのコードは次のようになっている。
GETリクエストかPOSTリクエストの送信を選択するHTML画面表示のためのコードがservletget.htmlである。GETリクエストの送信は次のようなコードになっている。
また、POSTリクエストの場合は、この「method=」の部分が「"post"」となっている。全てのコードを次に示す。
GETリクエストサンプル       リクエストを送信する
GETリクエストサンプル
入力画面からGETリクエストを受け取ったサーブレットは、doGet()メソッドの中でレスポンスを返す処理を行う。
ブラウザにURL:http://localhost:8080/Servlet/servletget.htmlを入力し、Enterを押す。
表示されるブラウザ画面:
GETリクエスト送信ボタンを押す。この時は、サーブレットのdoGet()処理が実行されて、GETリクエストが正常に処理されたことをレスポンスとして表示する。
表示されるブラウザ画面:
もし、GETリクエストではなく、POSTリクエストを送信するとどうなるかというと、エラー画面が表示される。表示内容を見るとPOSTリクエストをサポートしていないことが分かる。
表示されるブラウザ画面:
クライアントからの要求に応じて様々な処理結果をブラウザ上に出力できることがわかるだろう。サンプルプログラムを使って処理結果を自分なりに変えてみるなど、色々とやってみよう。
このページの続きや関連ページは下記から一覧で確認できます。
サーブレットカテゴリーに戻る
IT講師に興味はありませんか?
・「今までIT講師をやってきたが、更に多くの講義を行いたい」
・「エンジニアとしてやってきたが講師業に魅力を感じている」
・「講師として活躍するためにベースとなる知識を知りたい」
・「様々な分野や言語の講師にチャレンジしてみたい」
という方はぜひIT講師募集のページをご覧ください。
リスキルテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。
システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。
テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。
IT講師募集のページを見る
SNSでもご購読できます。
Twitterでフォローする
Feedlyでフォローする
リカレントテクノロジー
【ITエンジニア養成スクール & IT研修専門企業のリカレントテクノロジーです。】エンジニアの入り口に立つために役立つようなコンテンツを日々ご提供していきます。講師や代表やスタッフ陣が毎日楽しく書いています。ご質問・ご指摘等はぜひコメントください。
コメントを残す コメントをキャンセル
メールアドレス(公開はされません。) *
次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。
ファイルやディレクトリをコピーするcpコマンドの使い方!【Linuxコマンド集】
ファイルなどを検索する!findコマンドの詳細まとめ【Linuxコマンド集】
grepコマンドの詳細まとめました【Linuxコマンド集】
【初心者向け】3分でわかるLinuxでできることまとめ 10選
【Windows編】フリーテキストエディタ13選!初心者にもおすすめ
lsコマンドの使い方と覚えたい15のオプション【Linuxコマンド集】
ファイル・ディレクトリを削除するrmコマンドについて詳しく!【Linuxコマンド集】
【目的別】初心者におすすめのLinuxディストリビューション7選
【初心者必見】コマンドプロンプトの使い方と覚えておきたい便利な機能
【すぐわかる!】Atomエディタのインストールと日本語化、便利な使い方
【2023年度最新】おすすめの新入社員向けC#研修 9選
【初心者向け】Pythonの特徴8選
【1分で読める】プログラミング講師になる7つのメリット
【PHP入門者向け】 PHPの文字列リテラルについて知ろう
【PHP入門者向け】 文字列の中の変数展開についてまとめました
【ざっくり理解する】 IPv6アドレスとは?
【初心者向け】システムエンジニアとは?その種類と役割は?
【Java & Tomcat】HttpServletResponseインターフェイスについて知ろう
【Java & Tomcat】Webアプリケーションの設定(web.xmlの設定)※サンプルプログラム付き
【Java & Tomcat】Webアプリケーションの設定(マッピング)※サンプルプログラム付き
【Java & Tomcat】コンテンツタイプの設定(setContentType)※サンプルプログラム付き
【Java & Tomcat】サーブレットのライフサイクル ※サンプルプログラム付き
【Java & Tomcat】文字出力用のストリームの取得(getWriter)※サンプルプログラム付き
【Java & Tomcat】リダイレクトの設定(sendRedirect)※サンプルプログラム付き
【Java & Tomcat】サーブレットからフォームデータを取得する(サンプルコード付き)
IT研修サービス(リスキルテクノロジー)
短期IT研修サービス(リスキル)
ビジネス研修(リスキル)
プログラミング講師募集
JavaScript入門
プログラミングスクール
© Copyright 2022 エンジニアの入り口. All rights reserved.
未経験からの育成制度も充実
IT講師に興味はありませんか?
リスキルテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます