用servlet判断一个数是不是质数跳转新页面用jsp 输出结果用简单方式
时间: 2024-09-14 15:09:27 浏览: 34
在Servlet中判断一个数是否为质数并根据结果跳转到新的JSP页面,可以按照以下步骤操作:
1. 创建一个Servlet(例如`PrimeNumberServlet.java`):
```java
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class PrimeNumberServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String numberStr = request.getParameter("number"); // 获取输入的数字
int number = Integer.parseInt(numberStr);
boolean isPrime = checkIfPrime(number);
if (isPrime) {
response.sendRedirect("/prime.jsp?result=prime"); // 跳转到显示结果的JSP页面,如果质数则传递"prime"
} else {
response.sendRedirect("/prime.jsp?result=composite"); // 否则传递"composite"
}
}
private boolean checkIfPrime(int num) {
if (num <= 1) return false; // 0和1不是质数
for (int i = 2; i <= Math.sqrt(num); i++) { // 只需检查到数的平方根即可
if (num % i == 0) return false;
}
return true;
}
}
```
2. 创建一个JSP页面(例如`prime.jsp`),用于接收结果并输出:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>判断质数</title>
</head>
<body>
<% String result = request.getParameter("result"); %>
<% if ("prime".equals(result)) { %>
<h1><%= number %> 是一个质数。</h1>
<% } else { %>
<h1><%= number %> 不是一个质数。</h1>
<% } %>
</body>
</html>
```
在这个例子中,用户通过POST请求向Servlet提交一个数字,然后Servlet判断它是否为质数,并根据结果跳转到`prime.jsp`页面,该页面会根据查询字符串的结果("prime"或"composite")显示相应的提示。
阅读全文