用servlet 判断一个数是不是质数 写完整代码 另外写输入 输出页面
时间: 2024-09-13 08:08:35 浏览: 44
在Servlet中判断一个数是否为质数需要结合前端页面来交互,这里是一个简单的示例,包括Servlet(服务器端处理)和JSP(客户端展示)的部分。首先,创建一个名为`PrimeCheckServlet`的Servlet:
```java
// PrimeCheckServlet.java
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
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 = isPrime(number);
response.setContentType("text/html");
PrintWriter out = response.getWriter();
if (isPrime) {
out.println("<html><body>Number " + number + " is prime.</body></html>");
} else {
out.println("<html><body>Number " + number + " is not prime.</body></html>");
}
out.close();
}
private boolean isPrime(int num) {
if (num <= 1) return false;
for (int i = 2; i * i <= num; i++) { // 只需检查到根号即可
if (num % i == 0) return false;
}
return true;
}
}
```
接下来,创建一个HTML表单作为输入页面(input.jsp),用户可以在其中输入数字并提交请求:
```jsp
<!-- input.jsp -->
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Prime Number Checker</title>
</head>
<body>
<form action="<%=request.getContextPath()%>/PrimeCheckServlet" method="post">
<label for="number">Enter a number:</label>
<input type="number" id="number" name="number">
<br>
<input type="submit" value="Check">
</form>
</body>
</html>
```
现在,当你访问这个页面并输入一个数字,点击“Check”按钮,Servlet会验证该数字是否为质数,并显示相应的结果。
阅读全文