有一个名为inputNumber.jsp的页面提供一个表单,用户可以通过表单输入两个数和运算符号提交给Servlet控制器;由名为ComputerBean.java生成的JavaBean负责存储运算数、运算符号和运算结果,由名为handleComputer的servlet控制器负责运算,将结果存储到JavaBean中,并负责请求JSP页面lookResult.jsp显示JavaBean中的数据。
时间: 2023-07-14 09:13:29 浏览: 186
input框只能输入数字和一个小数点
3星 · 编辑精心推荐
这个应用程序的实现比较简单,主要包括三个部分:前端页面、JavaBean和Servlet控制器。
1. 前端页面
在inputNumber.jsp页面中,用户可以输入两个数和运算符号,然后提交表单给Servlet控制器。页面的代码如下:
```html
<html>
<head>
<title>计算器</title>
</head>
<body>
<h1>计算器</h1>
<form action="handleComputer" method="post">
<label>第一个数:</label>
<input type="number" name="num1"><br>
<label>第二个数:</label>
<input type="number" name="num2"><br>
<label>运算符:</label>
<select name="operator">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select><br>
<input type="submit" value="计算">
</form>
</body>
</html>
```
2. JavaBean
在ComputerBean.java中,我们定义了一个JavaBean类,用于存储运算数、运算符号和运算结果。代码如下:
```java
public class ComputerBean implements Serializable {
private static final long serialVersionUID = 1L;
private double num1;
private double num2;
private String operator;
private double result;
public double getNum1() {
return num1;
}
public void setNum1(double num1) {
this.num1 = num1;
}
public double getNum2() {
return num2;
}
public void setNum2(double num2) {
this.num2 = num2;
}
public String getOperator() {
return operator;
}
public void setOperator(String operator) {
this.operator = operator;
}
public double getResult() {
return result;
}
public void setResult(double result) {
this.result = result;
}
}
```
3. Servlet控制器
在handleComputer的servlet控制器中,我们首先获取用户提交的运算数和运算符号,然后进行运算,最后将结果存储到JavaBean中,并请求JSP页面lookResult.jsp显示结果。代码如下:
```java
public class handleComputer extends HttpServlet {
private static final long serialVersionUID = 1L;
public handleComputer() {
super();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
double num1 = Double.parseDouble(request.getParameter("num1"));
double num2 = Double.parseDouble(request.getParameter("num2"));
String operator = request.getParameter("operator");
double result = 0;
switch (operator) {
case "+":
result = num1 + num2;
break;
case "-":
result = num1 - num2;
break;
case "*":
result = num1 * num2;
break;
case "/":
result = num1 / num2;
break;
}
ComputerBean bean = new ComputerBean();
bean.setNum1(num1);
bean.setNum2(num2);
bean.setOperator(operator);
bean.setResult(result);
request.setAttribute("bean", bean);
RequestDispatcher dispatcher = request.getRequestDispatcher("lookResult.jsp");
dispatcher.forward(request, response);
}
}
```
在lookResult.jsp页面中,我们可以显示JavaBean中的运算数、运算符号和运算结果。代码如下:
```html
<html>
<head>
<title>计算结果</title>
</head>
<body>
<h1>计算结果</h1>
<table border="1">
<tr>
<td>第一个数:</td>
<td>${bean.num1}</td>
</tr>
<tr>
<td>第二个数:</td>
<td>${bean.num2}</td>
</tr>
<tr>
<td>运算符:</td>
<td>${bean.operator}</td>
</tr>
<tr>
<td>结果:</td>
<td>${bean.result}</td>
</tr>
</table>
</body>
</html>
```
阅读全文