Servlet/JSP 第4回『Servletクラスの実装と実行』

Servlet/JSP 第4回では前回まで学んだServletクラスの作成、実行を踏まえて実際にブラウザに表示する簡単な
Servletクラスを実装、実行します。
実際にコードを写して書いてみて動きを確認してみましょう。

目次

EclipseでServletクラスを作成

ここから実際にServletクラスを作成してWebページに表示してみます。
簡単なじゃんけんの手が表示されるServletを作成します。
実行の度に「グー」「チョキ」「パー」がランダムに表示されます。

package servlet;

//importは上書き保存をした際に基本的にEclipsが自動でインポートする
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

@WebServlet("/JyankenServlet") //解説1
public class JyankenServlet extends HttpServlet{
	
	protected void doGet(HttpServletRequest request,HttpServletResponse response)
		throws ServletException,IOException{
		
		String[] hand = {"グー","チョキ","パー"};
		int index = (int)(Math.random()*3);
		String jyanken=hand[index];
		
		Date date = new Date();
		SimpleDateFormat sdf = new SimpleDateFormat("MM月dd日");
		String today = sdf.format(date);
		
		//解説2
		response.setContentType("text/html; charset=UTF-8");
		PrintWriter out = response.getWriter();
		out.println("<!DOCTYPE html>");
		out.println("<html>");
		out.println("<head>");
		out.println("<meta charset=\"UTF-8\"/>");
		out.println("<title>今日のじゃんけん</title>");
		out.println("</head>");
		out.println("<body>");
		out.println("<p>" + today + "じゃんけんぽん「" + jyanken + "」</p>");
		out.println("</body>");
		out.println("</html>");
	}
	
}

解説1 URLパターン

URLパターンの設定については”Servletの基本2”で説明していますので、そちらをご覧ください。

解説2 HTML出力

コードの30行目からはHTML出力の為の記述となります。
①30行目ではHttpServletResponseのsetContentTypeメソッドで文字コードを「UTF-8」に設定しています。
②31行目では、32行目から「out.println」でHTML入力をする為の準備としてPrintWriterインスタンスを利用する。
①、②にでブラウザに出力するための準備完了です。

Servletクラスを実行

それではServletクラスを実行してみましょう!
Webアプリケーションサーバーを起動してブラウザからURLを入力して実行します。

実行画面

正常に実行できた場合、上記実行画面となります。
今日の日付、じゃんけんの手は、ブラウザを起動するごとにランダムで表示されます。
URL:http://localhost:8080/Jyanken/JyankenServlet ここからアクセス
localhost:8080 サーバー名
Jyanken プロジェクト名
JyankenServlet @WebServletアノテーションに設定したURLパターン名

Servletの基本1~実装と実行までのまとめ

Servletクラスの基本

・Servletクラスはブラウザからリクエストして実行できる
・Servletクラスの実行結果は、一般的にはHTML(webページ)である。

Servletクラスの定義

・jakarta.servlet.http.HttpServletを継承する
・doGetメソッドをオーバライドして処理を記述する。
・doGetメソッドの引数であるHttpServletRequestはリクエストに関するっ丈夫と機能を持つ。
 HttpServletResponseはレスポンスに関する情報と機能を持つ。

HTML出力

・HttpServletResponseのsetContentTypeメソッドで文字コードを設定する。
・HttpServletResponseのgetWriterメソッドで取得したPrintWriterインスタンスを使ってHTMLを出力する。

ServletクラスのURLとURLパターン

・http://サーバー名/プロジェクト名/URLパターン
・URLパターンは@WebServletアノテーションを使って設定する。

Servletクラスの実行

・GETリクエストされた場合、doGetメソッドが実行される。

(Visited 27 times, 1 visits today)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

株式会社NEUGATEは、都内で企業研修や職業訓練を運営している会社です。主に、IT系の教育事業に力を入れています。
この記事は、株式会社NEUGATEの教育事業部が執筆をしています。

企業ホームページ:https://neugate.co.jp/

コメント

コメントする

目次