用servlet判断一个数是不是质数 跳转新页面用jsp 输出结果
时间: 2024-09-14 19:12:55 浏览: 47
在Servlet中,你可以编写一个方法来检查一个数字是否为质数,然后通过设置响应转发到一个新的JSP页面来显示结果。以下是一个简单的步骤描述:
1. 创建一个Servlet(例如PrimeCheckServlet.java):
```java
@WebServlet("/check_prime")
public class PrimeCheckServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String input = request.getParameter("number"); // 获取用户提交的数字
boolean isPrime = checkIfPrime(Integer.parseInt(input));
if (isPrime) {
request.setAttribute("result", "是质数");
} else {
request.setAttribute("result", "不是质数");
}
// 将请求转发到新的JSP页面
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/prime_result.jsp");
dispatcher.forward(request, response);
}
private boolean checkIfPrime(int number) {
if (number <= 1) return false;
for (int i = 2; i <= Math.sqrt(number); i++) {
if (number % i == 0) return false;
}
return true;
}
}
```
2. 创建一个名为prime_result.jsp的JSP页面,接收并显示结果:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>检查质数结果</title>
</head>
<body>
<% String result = (String)request.getAttribute("result"); %>
<h1><%= result %> <%= request.getParameter("number") %> 是质数吗?</h1>
</body>
</html>
```
当用户访问 `/check_prime` URL 并传递一个数字作为查询参数时,Servlet会检测这个数字是否为质数,并将其结果显示在`prime_result.jsp`页面上。
阅读全文