jsp+servlet实现计算器
时间: 2023-09-13 16:05:59 浏览: 239
好的,我可以为您提供一个简单的 JSP 和 Servlet 实现计算器的示例。
首先,我们需要创建一个 JSP 页面,用于展示计算器界面和接收用户输入。以下是一个示例 JSP 页面:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>计算器</title>
</head>
<body>
<form action="calculator" method="post">
<input type="text" name="num1">
<select name="operator">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type="text" name="num2">
<input type="submit" value="计算">
</form>
</body>
</html>
```
在这个 JSP 页面中,我们创建了一个表单,包含两个输入框和一个下拉菜单,用户可以输入两个数字和选择一个运算符。当用户点击“计算”按钮时,表单将被提交到名为“calculator”的 Servlet。
接下来,我们需要创建一个 Servlet,用于接收表单数据并计算结果。以下是一个示例 Servlet:
```java
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/calculator")
public class CalculatorServlet 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"));
String operator = request.getParameter("operator");
int result = 0;
switch(operator) {
case "+":
result = num1 + num2;
break;
case "-":
result = num1 - num2;
break;
case "*":
result = num1 * num2;
break;
case "/":
result = num1 / num2;
break;
}
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>计算结果</title></head>");
out.println("<body>");
out.println(num1 + " " + operator + " " + num2 + " = " + result);
out.println("</body>");
out.println("</html>");
}
}
```
在这个 Servlet 中,我们首先从请求参数中获取用户输入的两个数字和运算符。然后,根据运算符计算结果,并将结果输出到响应中。
最后,我们需要将 JSP 页面和 Servlet 配置到 web.xml 文件中。以下是一个示例 web.xml 文件:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>Calculator</display-name>
<welcome-file-list>
<welcome-file>calculator.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>CalculatorServlet</servlet-name>
<servlet-class>com.example.CalculatorServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CalculatorServlet</servlet-name>
<url-pattern>/calculator</url-pattern>
</servlet-mapping>
</web-app>
```
在这个 web.xml 文件中,我们首先指定了默认的欢迎页面为 calculator.jsp。然后,我们配置了一个名为“CalculatorServlet”的 Servlet,并将它映射到了路径“/calculator”。
现在,当用户访问我们的应用程序时,将会看到一个计算器界面。当用户输入两个数字和选择一个运算符后,点击“计算”按钮将会调用我们的 Servlet,计算结果并将它显示在页面上。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://img-home.csdnimg.cn/images/20250102104920.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)