步骤:

  1. 创建一个动态Web项目,命名为Calculator。
  2. 在项目中创建一个名为index.jsp的JSP页面,用于展示计算器页面和处理计算逻辑。
  3. 在index.jsp页面中添加HTML和JSP代码,包括输入框、按钮和对应的JSP代码处理逻辑。
  4. 创建一个JavaBean,用于存储计算器的数据和处理计算逻辑。
  5. 在index.jsp页面中引入JavaBean,并与输入框和按钮进行绑定。
  6. 启动Tomcat服务器,运行Calculator项目,访问index.jsp页面,测试计算器应用。

代码:

index.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="com.example.calculator.CalculatorBean" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>动态网页计算器</title>
</head>
<body>
<h1>动态网页计算器</h1>
<%
// 创建一个CalculatorBean对象
CalculatorBean calculator = new CalculatorBean();
// 获取输入框中的值
String num1 = request.getParameter("num1");
String num2 = request.getParameter("num2");
// 判断输入值是否为空,如果为空则设置默认值为0
if (num1 == null || num1.isEmpty()) {
num1 = "0";
}
if (num2 == null || num2.isEmpty()) {
num2 = "0";
}
// 获取计算类型
String op = request.getParameter("op");
// 根据计算类型,调用CalculatorBean的对应方法进行计算
if ("add".equals(op)) {
calculator.add(num1, num2);
} else if ("subtract".equals(op)) {
calculator.subtract(num1, num2);
} else if ("multiply".equals(op)) {
calculator.multiply(num1, num2);
} else if ("divide".equals(op)) {
calculator.divide(num1, num2);
} else if ("modulus".equals(op)) {
calculator.modulus(num1, num2);
}
%>
<form action="" method="get">
<input type="text" name="num1" value="<%=num1%>"> 
<select name="op">
<option value="add">+</option>
<option value="subtract">-</option>
<option value="multiply">*</option>
<option value="divide">/</option>
<option value="modulus">%</option>
</select> 
<input type="text" name="num2" value="<%=num2%>"> 
<input type="submit" value="=">
<input type="text" value="<%=calculator.getResult()%>" readonly>
</form>
</body>
</html>

CalculatorBean.java:

package com.example.calculator;

public class CalculatorBean {
private double result;

public void add(String num1, String num2) {
result = Double.parseDouble(num1) + Double.parseDouble(num2);
}

public void subtract(String num1, String num2) {
result = Double.parseDouble(num1) - Double.parseDouble(num2);
}

public void multiply(String num1, String num2) {
result = Double.parseDouble(num1) * Double.parseDouble(num2);
}

public void divide(String num1, String num2) {
result = Double.parseDouble(num1) / Double.parseDouble(num2);
}

public void modulus(String num1, String num2) {
result = Double.parseDouble(num1) % Double.parseDouble(num2);
}

public double getResult() {
return result;
}

public void setResult(double result) {
this.result = result;
}
}
``

原文地址: https://www.cveoy.top/t/topic/gRBJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录