) computer. jsp页面获取input. jsp提交的数据.计算出相应的结果显示给用户。如果computer. jsp页面没有获取到数据.就将用户重新定向到input页面。
时间: 2024-12-17 19:26:43 浏览: 5
在`computer.jsp`页面中,你需要完成以下几个步骤来获取`input.jsp`提交的数据并显示计算结果,如果没有接收到数据则重定向回`input.jsp`页面:
1. **连接到数据源**:
- 使用Java的`HttpSession`或者`HttpServletRequest`对象来获取从`input.jsp`提交过来的参数,例如数字和运算符。假设你已经设置了请求属性`num1`, `num2`, 和 `operator`。
```java
String num1 = request.getParameter("num1");
String num2 = request.getParameter("num2");
String operator = request.getParameter("operator");
```
2. **处理数据并计算**:
- 根据获取到的运算符进行相应的计算。注意处理异常情况,比如除数为零。
```java
try {
double result;
switch (operator) {
case "+":
result = Double.parseDouble(num1) + Double.parseDouble(num2);
break;
case "-":
result = Double.parseDouble(num1) - Double.parseDouble(num2);
break;
case "*":
result = Double.parseDouble(num1) * Double.parseDouble(num2);
break;
case "/":
if (!Double.isNaN(Double.parseDouble(num2))) { // 检查除数非零
result = Double.parseDouble(num1) / Double.parseDouble(num2);
} else {
// 重定向,防止除零错误
response.sendRedirect(request.getContextPath() + "/input.jsp?error=divideByZero");
return;
}
break;
default:
// 错误操作,同样重定向
response.sendRedirect(request.getContextPath() + "/input.jsp?error=invalidOperator");
return;
}
// 显示计算结果
out.println("Result: " + result);
} catch (NumberFormatException e) {
// 数据格式错误,重定向
response.sendRedirect(request.getContextPath() + "/input.jsp?error=inputFormatError");
}
```
3. **重定向**:
- 如果在处理过程中遇到任何错误,使用`response.sendRedirect`函数将用户导向`input.jsp`页面,并附带错误信息作为查询字符串参数。
记得在`computer.jsp`页面的顶部导入必要的Servlet API包,并确保在HTML部分添加适当的错误消息显示。
阅读全文