制作一个servlet阶乘n!,客户在表单中输入要计算的数字,servlet计算后向客户展示结果
时间: 2023-12-20 10:03:27 浏览: 31
好的,下面是一个简单的实现:
1. 创建一个名为FactorialServlet的Java类,继承HttpServlet类。
2. 覆盖doGet或doPost方法,获取客户端传递的参数,计算阶乘并将结果返回给客户端。
代码如下:
```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 {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
int num = Integer.parseInt(request.getParameter("num"));
int result = factorial(num);
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("The factorial of " + num + " is " + result);
out.println("</body></html>");
}
private int factorial(int num) {
if (num == 0) {
return 1;
} else {
return num * factorial(num - 1);
}
}
}
```
3. 在web.xml文件中声明Servlet:
```xml
<servlet>
<servlet-name>factorial</servlet-name>
<servlet-class>FactorialServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>factorial</servlet-name>
<url-pattern>/factorial</url-pattern>
</servlet-mapping>
```
4. 创建一个HTML表单,让用户输入数字并提交:
```html
<html>
<body>
<form action="factorial" method="get">
Enter a number: <input type="text" name="num"/><br/>
<input type="submit" value="Calculate"/>
</form>
</body>
</html>
```
这样,当用户提交表单时,Servlet将计算输入数字的阶乘,并将结果返回给客户端展示。