商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > jsp+servlet实现猜数字游戏

jsp+servlet实现猜数字游戏

  发布于2026-07-22 阅读(0)

扫一扫,手机访问

JSP + Servlet 实现猜数字游戏,核心思路其实很简单:利用 Session 保存服务端生成的随机数,通过 Servlet 处理用户提交的猜测,再根据比较结果跳转回输入页面并给出提示。整个过程涉及 Session、HttpServletResponse 的 sendRedirect() 方法,以及前后端的数据交互。

先看第一步:用户首次访问或刷新 getNumber.jsp 页面时,系统会随机生成一个 1 到 100 之间的整数,并存放到 Session 中。注意,这个页面还负责设置一个提示消息(比如“请您猜数”),同时提供一个链接跳转到输入页面。下面是 getNumber.jsp 的完整代码:

<%@ page language="ja va" import="ja va.util.*" pageEncoding="utf-8" contentType="text/html;Charset=utf-8"%>
    
<% session.setAttribute("message", "请您猜数"); // HttpSession session =request.getSession(true);
int randomNumber=(int)(Math.random()*100)+1;//获取一个随机数
session.setAttribute("sa veNumber",new Integer(randomNumber)); %>

访问或刷新该页面可以随机跌倒一个1,到100之间的数字
单击下面链接可以访问去猜数字 去猜数字

第二步,用户通过超链接进入 inputNumber.jsp 页面。这个页面展示一个输入框和一个提交按钮,用户输入自己猜测的数字后提交给 Servlet。同时,页面底部还有一个“重新得到新的随机数”按钮,点击后可以重新调用 getNumber.jsp 生成新数字。inputNumber.jsp 的代码如下:

<%@ page language="ja va" import="ja va.util.*" contentType="text/html;charset=utf-8"%>
     
<% String message=(String)session.getAttribute("message"); %>
<%=message %>

第三步,核心的 Servlet 类 HandleGuess 登场。它接收用户提交的猜测数字,从 Session 中取出之前保存的随机数,进行比较。如果猜大了,就往 Session 中写入“您猜大了”并重定向回 inputNumber.jsp;猜小了则写入“您猜小了”;猜对了则写入“您猜对了”。注意,这里使用了 response.sendRedirect() 实现页面跳转,同时通过 Session 传递消息。Servlet 的完整实现如下:

import ja va.io.IOException;
import ja va.io.PrintWriter;
import ja vax.servlet.ServletException;
import ja vax.servlet.http.HttpServlet;
import ja vax.servlet.http.HttpServletRequest;
import ja vax.servlet.http.HttpServletResponse;
import ja vax.servlet.http.HttpSession;

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();

    //获取客户猜测提交的数
    int guessNumber=Integer.parseInt(request.getParameter("guessnumber"));
    //获取客户的会话对象
    HttpSession session=request.getSession();
    Integer integer=(Integer)session.getAttribute("sa veNumber");
    int realNumber=integer.intValue();

    System.out.println(realNumber);
    System.out.println(guessNumber);

    if(guessNumber>realNumber){
      session.setAttribute("message", "您猜大了");
      System.out.println("您猜大了---no");
      response.sendRedirect("inputNumber.jsp");
    }
    else if(guessNumber

第四步,别忘了在 web.xml 中配置 Servlet 的映射路径,这里省略具体的配置细节,相信大家都能轻松搞定。

整个流程环环相扣,没有复杂的技术栈,却把 Session 和重定向的核心用法演示得清清楚楚。有兴趣的读者可以自己动手跑一遍,体验一下从猜数到反馈的完整交互过程。

本文转载于:https://www.jb51.net/article/164155.htm 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注