制作一个servlet计算阶层n! ,客户在表单中输入要计算的数字,servlet计算后向客户显示结果
时间: 2024-03-07 13:46:41 浏览: 80
好的,这里是基本的 Servlet 计算阶乘 n! 的代码。你可以在其中添加更多的界面设计和交互逻辑。
```java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class FactorialServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 设置响应内容类型
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>阶乘计算结果</title></head>");
out.println("<body>");
String input = request.getParameter("number");
int n = Integer.parseInt(input);
int result = factorial(n);
out.println("<h1>" + n + " 的阶乘是 " + result + "</h1>");
out.println("</body></html>");
}
public int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
}
```
需要在 web.xml 文件中添加 servlet 的映射:
```xml
<servlet>
<servlet-name>FactorialServlet</servlet-name>
<servlet-class>FactorialServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FactorialServlet</servlet-name>
<url-pattern>/factorial</url-pattern>
</servlet-mapping>
```
在 HTML 表单中,需要设置表单的 method 为 GET,action 为对应的 servlet 映射路径:
```html
<form method="GET" action="/factorial">
<label for="number">请输入要计算的数字:</label>
<input type="text" id="number" name="number">
<button type="submit">计算</button>
</form>
```
当用户提交表单时,servlet 会计算输入数字的阶乘并返回结果,网页会显示计算结果。
阅读全文