用jsp在页面输入一个数 用servlet判断这个数是不是质数 并将结果返回到一个新的页面上 编写新的页面
时间: 2024-09-13 11:07:11 浏览: 48
在JSP和Servlet中实现输入数字并判断质数的功能,你需要分步骤进行:
1. **创建HTML表单** (index.jsp):
```html
<!DOCTYPE html>
<html>
<head>
<title>质数检测</title>
</head>
<body>
<form action="PrimeCheckServlet" method="post">
<label for="number">请输入一个整数:</label>
<input type="text" id="number" name="number" required>
<input type="submit" value="检查质数">
</form>
</body>
</html>
```
这里创建了一个简单的表单,用户可以输入一个数字,然后提交到名为`PrimeCheckServlet`的Servlet。
2. **创建Servlet** (PrimeCheckServlet.java):
```java
import javax.servlet.*;
import java.io.*;
import java.util.Scanner;
public class PrimeCheckServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Scanner scanner = new Scanner(request.getInputStream());
String inputNumber = scanner.nextLine();
scanner.close();
if(isPrime(Integer.parseInt(inputNumber))) {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<h1>" + inputNumber + " 是质数。</h1>");
} else {
out.println("<h1>" + inputNumber + " 不是质数。</h1>");
}
}
private boolean isPrime(int number) {
if (number <= 1) return false;
for (int i = 2; i * i <= number; i++) {
if (number % i == 0) return false;
}
return true;
}
}
```
在这个Servlet中,我们从请求获取用户输入的数字,并通过`isPrime`函数判断它是否为质数。
3. **处理返回结果的新页面** (result.jsp):
```html
<!DOCTYPE html>
<html>
<head>
<title>质数检查结果</title>
</head>
<body>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
String result = (String)request.getAttribute("result");
%>
<h1><%= result %></h1>
</body>
</html>
```
这个新页面会从Servlet通过`setAttribute`方法传递质数检查的结果。
4. **部署应用并测试**:
确保这两个文件位于web应用目录下,配置好Servlet映射。访问index.jsp页面,输入数字并提交,浏览器将跳转到result.jsp页面显示结果。
阅读全文