在myecplise制作一个servlet阶乘n!,客户在表单中输入要计算的数字,servlet计算后向客户展示结果
时间: 2023-12-20 15:03:27 浏览: 34
好的,以下是示例代码:
```java
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FactorialServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>Factorial Calculator</title></head>");
out.println("<body>");
out.println("<h2>Factorial Calculator</h2>");
String numParam = request.getParameter("num");
if (numParam == null) {
out.println("<p>Please enter a number to calculate factorial:</p>");
out.println("<form method=\"get\">");
out.println("<input type=\"text\" name=\"num\">");
out.println("<input type=\"submit\" value=\"Calculate\">");
out.println("</form>");
} else {
try {
int num = Integer.parseInt(numParam);
if (num < 0) {
out.println("<p>Please enter a non-negative number.</p>");
} else {
int factorial = 1;
for (int i = 2; i <= num; i++) {
factorial *= i;
}
out.println("<p>The factorial of " + num + " is " + factorial + ".</p>");
}
} catch (NumberFormatException e) {
out.println("<p>Please enter a valid integer.</p>");
}
}
out.println("</body>");
out.println("</html>");
}
}
```
要运行这个 servlet,需要将它打包成一个 WAR 文件并部署到一个支持 Servlet 规范的应用服务器中。具体步骤可以参考相关文档或在线教程。部署完成后,在浏览器中访问 servlet 的 URL,例如 `http://localhost:8080/FactorialServlet`,就可以看到表单界面了。输入要计算阶乘的数字后点击计算按钮,就可以看到计算结果了。