编写一个表单请求Servlet获取客户端表单数据,实现两个数字的相加
时间: 2024-10-14 11:15:04 浏览: 31
Servlet 表单数据
当你需要编写一个Servlet来处理HTML表单提交,并从客户端获取两个数字相加的数据,你可以按照以下步骤操作:
首先,在web.xml文件中配置Servlet,例如创建一个名为AddNumbersServlet的Servlet:
```xml
< servlet >
< servlet-name > AddNumbersServlet </ servlet-name >
< servlet-class > com.example.AddNumbersServlet </ servlet-class >
</ servlet >
```
接着,创建`AddNumbersServlet.java`文件,这是一个典型的Java Servlet:
```java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class AddNumbersServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取请求参数,假设名字为num1和num2
String num1 = request.getParameter("num1");
String num2 = request.getParameter("num2");
// 验证输入是否为数字
try {
int firstNum = Integer.parseInt(num1);
int secondNum = Integer.parseInt(num2);
// 相加并响应结果
int sum = firstNum + secondNum;
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>Add Numbers Result</title></head>");
out.println("<body>");
out.println("<h1>The sum of " + firstNum + " and " + secondNum + " is: " + sum + "</h1>");
out.println("</body>");
out.println("</html>");
} catch (NumberFormatException e) {
// 如果不是数字,则给出提示
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>Error</title></head>");
out.println("<body>");
out.println("<h1>Invalid input! Please enter numbers only.</h1>");
out.println("</body>");
out.println("</html>");
}
}
}
```
在这个例子中,用户通过浏览器发送POST请求到`/AddNumbersServlet`,表单字段`num1`和`num2`的值会被作为参数传递给Servlet。Servlet解析这些参数,将它们转换成整数并相加,最后返回一个包含结果的HTML页面。
阅读全文