用servlet判断一个数是不是质数跳转新页面用jsp 输出结果
时间: 2024-09-14 18:09:12 浏览: 42
在Servlet中判断一个数是否为质数并根据结果跳转到新的JSP页面,可以按照以下步骤操作:
1. 创建一个Servlet,例如`PrimeCheckServlet.java`:
```java
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class PrimeCheckServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String numStr = request.getParameter("number");
int number = Integer.parseInt(numStr);
// 判断是否为质数
boolean isPrime = checkPrime(number);
if (isPrime) {
response.sendRedirect("/prime.jsp"); // 跳转到"prime.jsp"页面,显示结果
} else {
response.sendRedirect("/not_prime.jsp"); // 跳转到"not_prime.jsp"页面,显示结果
}
}
private boolean checkPrime(int n) {
if (n <= 1) return false;
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) return false;
}
return true;
}
}
```
2. 在HTML表单(通常放在一个JSP页面中,如`index.jsp`)中,用户输入数字并提交到Servlet:
```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">
<input type="submit" value="检查">
</form>
</body>
</html>
```
3. 创建两个JSP页面分别用于展示结果:
- `prime.jsp`:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<head>
<title>结果 - 质数</title>
</head>
<body>
<%@ include file="header.jsp" %>
<h1><%= num %> 是一个质数。</h1>
<!-- 其他内容 -->
</body>
</html>
```
- `not_prime.jsp`:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<head>
<title>结果 - 非质数</title>
</head>
<body>
<%@ include file="header.jsp" %>
<h1><%= num %> 不是一个质数。</h1>
<!-- 其他内容 -->
</body>
</html>
```
4. 最后,需要在`web.xml`文件中配置Servlet映射。
阅读全文