jsp 加法口算 - ByServlet

 

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>&emsp;&emsp; 加法口算 - 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="提交">
			&emsp;
	    	<span id="msg" style="color:red; font-size:small;">${ msg }</span>
		</form>
		&emsp;&emsp;&emsp;&emsp;<a href="index.jsp">首页</a>
	</div>
  </body>
</html>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,让我来为您解答。 首先,我们需要创建一个 JSP 页面来实现超简单网页计算器的功能。在 JSP 页面中,我们需要使用表单来收集用户的输入,并将其传递给后端的 JavaBean 进行计算。计算完成后,JavaBean 将结果返回给 JSP 页面进行展示。 以下是实现超简单网页计算器的详细步骤: 1. 创建一个 JSP 页面,命名为 calculator.jsp,并在页面中添加一个表单,包含两个文本框和一个下拉列表框,用于选择要进行的计算操作。代码如下: ``` <html> <head> <title>超简单网页计算器</title> </head> <body> <h1>超简单网页计算器</h1> <form action="CalculatorBean.jsp" method="post"> <input type="text" name="num1" size="5"> <select name="operator"> <option value="add">+</option> <option value="subtract">-</option> <option value="multiply">*</option> <option value="divide">/</option> </select> <input type="text" name="num2" size="5"> <input type="submit" value="计算"> </form> </body> </html> ``` 2. 创建一个 JavaBean,命名为 CalculatorBean,用于进行计算操作。代码如下: ``` public class CalculatorBean { private int num1; private int num2; private String operator; private int result; public int getNum1() { return num1; } public void setNum1(int num1) { this.num1 = num1; } public int getNum2() { return num2; } public void setNum2(int num2) { this.num2 = num2; } public String getOperator() { return operator; } public void setOperator(String operator) { this.operator = operator; } public int getResult() { if(operator.equals("add")) { result = num1 + num2; } else if(operator.equals("subtract")) { result = num1 - num2; } else if(operator.equals("multiply")) { result = num1 * num2; } else if(operator.equals("divide")) { result = num1 / num2; } return result; } } ``` 3. 在 CalculatorBean.jsp 页面中,获取表单中的输入值,并将其传递给 CalculatorBean 进行计算,最后将结果展示在页面上。代码如下: ``` <jsp:useBean id="calculator" class="CalculatorBean" scope="page"/> <jsp:setProperty name="calculator" property="num1" param="num1"/> <jsp:setProperty name="calculator" property="num2" param="num2"/> <jsp:setProperty name="calculator" property="operator" param="operator"/> <html> <head> <title>超简单网页计算器</title> </head> <body> <h1>超简单网页计算器</h1> <form action="CalculatorBean.jsp" method="post"> <input type="text" name="num1" size="5"> <select name="operator"> <option value="add">+</option> <option value="subtract">-</option> <option value="multiply">*</option> <option value="divide">/</option> </select> <input type="text" name="num2" size="5"> <input type="submit" value="计算"> </form> <p>计算结果:${calculator.result}</p> </body> </html> ``` 现在,您就可以在浏览器中访问 calculator.jsp 页面,进行超简单的网页计算了!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值