web上でデータを受け渡し、Javaを活用してジャンケンゲームを作成していきたいと思います。
まずはタイトル通り、プロジェクトから立ち上げていきます。
初期ページの表示まで行いたいと思います。
環境はEclipsを使っています。
Tomcatのバージョンは8.5です。
Tomcat?なんじゃそりゃと言う方のために、
初期からいろいろなプラグイン が入ったパッケージ入りの「Eclipse Pleiades All in One」というのがありますので環境がない方はそちらをインストールして下さい。
※Tomcat自体の単語の説明は割愛します。
参考URL:https://itsakura.com/eclipse-all-in-one-install
プロジェクトの作成
エクリプスのメニューより「ファイル」→「新規」→「動的Webプロジェクト」を選択します。

本記事ではプロジェクト名を「Janken」とします。プロジェクト名を入力したら「完了」を押下して下さい。
Tomcat v8.5とありますが、環境によって違いますのでそれぞれの環境で進めてOKです。

こんな感じで作成されていればOKです。

次に出力先のファイルを作成します。jspファイルを作成します。
HTMLにjavaを埋め込んで使うことができます。
jspファイルの作成
Jankenプロジェクトファイルの中の「WebContent」を右クリックで「新規」→「JSPファイル」を選択します。

「JSPファイル」の選択肢がない場合は「その他」を選択して下さい。
「Web」の中に「JSPファイル」があるので選択して下さい。

次に、ファイル名を入力します本記事では「Janken.jsp」とします。
「WebContent」の直下に保存することを確認し「完了」を押下して下さい。
「WebContent」内にファイルがなく、本記事においてはうまく動作しなくなってしまいます。

こんな感じになっていればOKです。
あとでこのページ(Janken.jsp)に飛ばすように設定します。

パッケージの作成
次は「Jankn/Javaリソース/src」内にパッケージを作成します。
「src」のフォルダの上で右クリックして下さい。

「新規」→「パッケージ」を選択します。

パッケージ名を「controller」とします。
入力したら「完了」を押下します。

サーブレット (コントローラー)の作成
今作成したパッケージ「controller」の中にJavaファイルを作成します。
このファイルでWeb上からデータや値を受け取り処理します。
「controller」の上で右クリックします。
「新規」→「サーブレット 」を選択します。


クラス名を「JankenServlet」と入力して「完了」を押下します。

下記のように作成できていればOKです。

ずらずら書かれていますが大したことありません。
コードを書いているうちに慣れます。
そのまま「JankenServlet」を編集していきます。
JankenServlet.javaの編集
protected void doGet….{ }の中にデフォルトで入っている、
//TODO……
responce.getWriter…………………
を消して下さい。
ついでにprotected void doPost…..{ }側も消して下さい。
下図のようなイメージです。
ちなみにコードはprotected void doGet….{ }の中に書いていきます。

String JANKEN_PAGE = "Janken.jsp";
request.setCharacterEncoding("UTF-8");
RequestDispatcher rd = request.getRequestDispatcher(JANKEN_PAGE);
rd.forward(request, response);
Janken.jspの編集
次にJanken.jsp側の編集をしたいと思います。
イメージとしてはこんな感じになります。

取れあえず確認のために「HelloJanken」を出力してみます。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ジャンケンゲーム</title>
</head>
<body>
<p>HelloJanken</p>
</body>
</html>
実行
では、いよいよ実行してみます。
「JankenServlet.java」上で右クリックし「実行」→「サーバーで実行」を選択します。

「完了」を押下します。

完了を押したら下記にアクセスして確認します。
http://localhost:8080/Janken/JankenServlet
下記のようになっていれば成功です!!

JankenServlet.javaのコード
package controller;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class JankenServlet
*/
@WebServlet("/JankenServlet")
public class JankenServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public JankenServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String JANKEN_PAGE = "Janken.jsp";
request.setCharacterEncoding("UTF-8");
RequestDispatcher rd = request.getRequestDispatcher(JANKEN_PAGE);
rd.forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
ジャンケンですから相手を作らないといけません。
次は、PCにランダムで「手」を出してもらいます。
本記事最後までご覧いただきありがとうございました。
next記事

コメント