4.编写一个类HelloServlet继承于HttpServlet, 分别重写aoGet0,doPost0方法,编写一个html 页面form.html,在该页面提供两个按钮分别按照get和post方式访问该HeloServlet,观察两种方法调用的不同。
时间: 2024-10-19 11:13:55 浏览: 25
在Java Web开发中,你可以创建一个名为`HelloServlet`的类,它继承自`javax.servlet.http.HttpServlet`,这是一个处理HTTP请求的标准基础类。为了演示GET和POST方法的行为差异,你需要:
1. 首先,定义`HelloServlet`类并重写` doGet()`和` doPost()`方法:
```java
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 这里是处理GET请求的部分
String method = "GET";
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<h1>Hello Servlet - GET</h1> Method called: " + method);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 这里是处理POST请求的部分
String method = "POST";
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<h1>Hello Servlet - POST</h1> Method called: " + method);
}
}
```
2. 创建一个HTML表单(form.html)以供用户提交请求:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Form Example</title>
</head>
<body>
<form action="/your-context-path/HelloServlet" method="get">
<input type="submit" value="Submit via GET">
</form>
<form action="/your-context-path/HelloServlet" method="post">
<input type="submit" value="Submit via POST">
</form>
</body>
</html>
```
注意:将`/your-context-path/HelloServlet`替换为实际的应用上下文路径。
当你运行这个应用并在浏览器中访问form.html,点击GET方式的提交按钮,会触发`doGet()`方法;点击POST方式的提交按钮,则会触发`doPost()`方法。这样可以直观地看到GET和POST请求对服务器操作的影响。
阅读全文