CalculateByServlet.java
package com; import java.io.IOException; import java.util.Random; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import com.sun.net.httpserver.HttpsServer; @WebServlet("/CalculateByServlet") public class CalculateByServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); //设置请求内容的编码 response.setContentType("text/html;charset=UTF-8"); //设置输出的文档类型和字符编码 //java.io.PrintWriter out = response.getWriter(); //获取输出句柄 String msg = ""; String answer = request.getParameter("answer"); //获取输入的值 for (int f = 0; f < 1; f++) { HttpSession session = request.getSession(); //获取或创建session Integer number1 = (Integer) session.getAttribute("number1"); //从session获取值 Integer number2 = (Integer) session.getAttribute("number2"); if (number1 == null || number2 == null || answer == null) { //未生成随机数或无输入 randomNumberToSession(request); //****生成2个随机数并存入session break; } Integer answerInt = 0; try { answerInt = Integer.parseInt(answer); }catch(Exception e) { msg = "请输入一个整数!"; break; } //将answer转换为整数对象answerInt if (number1 + number2 != answerInt) { msg = "遗憾,计算错了,你上一次的输入是:" + number1 + "+" + number2 + "=" + answer; break; } msg = "恭喜,计算正确!请进行新一轮的计算。"; randomNumberToSession(request); //*******生成2个随机数并存入session } request.setAttribute("msg", msg); //在request中给消息msg赋值 request.getRequestDispatcher("calculateByServlet.jsp").forward(request, response); //转发给网页calculateByServlet.jsp return; } //----------生成2个随机数并存入session public void randomNumberToSession(HttpServletRequest request) { HttpSession session = request.getSession(); //获取或创建session Random random = new Random(); //创建随机对象 int number1 = random.nextInt(51); //生成0~50的随机数字1 int number2 = random.nextInt(51); //生成0~50的随机数字2 session.setAttribute("number1", number1); //在session中给number1赋值 session.setAttribute("number2", number2); //在session中给number2赋值 } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
calculateByServlet.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <title>加法口算 - ByServlet</title> </head> <body> <div style="width:600px; margin:20px auto; line-height:40px;"> <h3>   加法口算 - ByServlet</h3> <form action="CalculateByServlet" method="post"> ${ number1 } + ${ number2 } = <input type="text" name="answer" maxlength="4" style="width:50px; text-align:center;"> <input type="submit" value="提交">   <span id="msg" style="color:red; font-size:small;">${ msg }</span> </form>     <a href="index.jsp">首页</a> </div> </body> </html>
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交