数字当てゲームの jsp+servlet 実装
2022-01-16 08:02:50
jsp+servletによる数当てゲームの実装では、主にservletの側面であるセッション、HttpServletResponseクラスのsendRedirect()メソッドを使用しています。
step1、顧客がgetNumber.jspのページにアクセスするかリフレッシュすると、ユーザーに1から100までの数字がランダムに割り当てられ、その数字が顧客のセッションに保存されます。
<%@ page language="java" import="java.util.*"
contentType="text/html;charset=utf-8"%>
<html>
<head>
</head>
<body>
<%
String message=(String)session.getAttribute("message");
%>
<form action="HandleGuess" methods="post">
<input type="text" name="guestnumber" size=8>
<%=message %>
<input type="submit" value="submit">
</form>
<form action="getNumber.jsp" method="post">
<input type="submit" value="Retrieve new random number">
</form>
</body>
</html>
step2、次にユーザーは inputNumber.jsp ページに超安価に移動し、ユーザーは自分の推測を入力し、それを作成担当の HandleGuess クラスに送信します。
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"
contentType="text/html;Charset=utf-8"%>
<html>
<head>
</head>
<body>
<% session.setAttribute("message", "Please guess the number");
// HttpSession session = request.getSession(true);
int randomNumber=(int)(Math.random()*100)+1;// Get a random number
session.setAttribute("saveNumber",new Integer(randomNumber));
%>
<p>Visiting or refreshing the page can drop a random number between 1, and 100
<br> Click the link below to visit to guess the number
<a href="inputNumber.jsp" rel="external nofollow" >Go Guess the Number</a>
</body>
</html>
step3,サーブレットクラスは。
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http;
public class HandleGuess extends HttpServlet {
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out=response.getWriter();
//Get the number of customer guess submissions
int guessNumber=Integer.parseInt(request.getParameter("guessnumber"));
// Get the client's session object
HttpSession session=request.getSession();
Integer integer=(Integer)session.getAttribute("saveNumber");
int realNumber=integer.intValue();
System.out.println(realNumber);
System.out.println(guessNumber);
if(guessNumber>realNumber){
session.setAttribute("message", "You guessed it big");
System.out.println("You guessed big--no");
response.sendRedirect("inputNumber.jsp");
}
else if(guessNumber<realNumber){
session.setAttribute("message", "You guessed small");
System.out.println("You guessed small--no");
response.sendRedirect("inputNumber.jsp");
}
else{
session.setAttribute("message", "You guessed it");
System.out.println("You guessed it");
response.sendRedirect("inputNumber.jsp");
}
}
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
doPost(request,response);
}
}
step4、web.xmlの設定、省略。
以上が今回の記事の内容です。勉強になると思いますので、BinaryDevelopをもっと応援していただけると嬉しいです。
関連
-
jsp session.setAttribute() と session.getAttribute() の使用例について説明します。
-
jsp request.getParameter()とrequest.getAttribute()メソッドの違いについて解説しています。
-
JSP技術を使って簡単なオンラインテストシステムを実装する例 詳細へ
-
jsp学習用スクリプトレットの使用方法について解説
-
JSPはXssの脆弱性を防ぐためにフィルタを使用します。
-
JSP組み込みオブジェクト要求共通使用法詳細
-
JSP中国語文字化けコード問題解決法詳細
-
サーバーへのファイルアップロード機能を実現するJSP+サーブレット
-
サーブレット+jspでログインできないようにフィルタを実装する
-
ファイルアップロード機能のJSP実装
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン