jsp编写实现功能: 用户输入两个数字,系统返回这两个数字的和。 要求:求和计算功能必须使用Servlet技术实现。
时间: 2024-03-12 15:47:12 浏览: 19
实现这个功能,可以按照以下步骤进行:
1. 创建一个 JSP 页面,包含一个表单,让用户输入两个数字。
2. 在表单的 action 属性中指定一个 Servlet 的 URL,用于处理表单提交。
3. 创建一个 Servlet 类,实现 doPost 方法,用于处理表单提交的数据。
4. 在 doPost 方法中,获取用户输入的两个数字,并将它们相加。
5. 将计算结果设置为 request 属性,并将请求转发回原来的 JSP 页面。
6. 在 JSP 页面中,使用 EL 表达式获取计算结果,并将它显示给用户。
下面是一个简单的实现示例:
index.jsp:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>求和计算</title>
</head>
<body>
<form action="calc" method="post">
<input type="text" name="num1"> +
<input type="text" name="num2">
<input type="submit" value="计算">
</form>
</body>
</html>
```
CalcServlet.java:
```java
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CalcServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 获取用户输入的两个数字
int num1 = Integer.parseInt(request.getParameter("num1"));
int num2 = Integer.parseInt(request.getParameter("num2"));
// 计算结果
int result = num1 + num2;
// 将计算结果设置为 request 属性
request.setAttribute("result", result);
// 将请求转发回原来的 JSP 页面
request.getRequestDispatcher("index.jsp").forward(request, response);
}
}
```
index.jsp (更新后):
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>求和计算</title>
</head>
<body>
<form action="calc" method="post">
<input type="text" name="num1"> +
<input type="text" name="num2">
<input type="submit" value="计算">
</form>
<c:if test="${not empty result}">
<p>计算结果:${result}</p>
</c:if>
</body>
</html>
```
需要注意的是,使用 EL 表达式显示计算结果时,要先判断 result 是否为空,否则可能会出现异常。这里使用了 JSTL 的 c:if 标签来判断。在 JSP 页面头部需要添加以下标签库引用:
```html
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
```