Servlet 中的 doGet 方法、doPost 方法、service 方法
Servlet 需要提供对应的 doGet() 与 doPost() 方法。
doGet()
当浏览器使用 GET 方式提交数据的时候,Servlet 需要提供 doGet() 方法
form默认的提交方式- 如果通过一个超链访问某个地址
- 如果在地址栏直接输入某个地址
ajax指定使用get方式的时候
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// ...
}
}
doPost()
当浏览器使用 POST 方式提交数据的时候,Servlet 需要提供 doPost() 方法。
- 在
form上显示设置method="post" ajax指定post方式的时候
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LoginServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// ...
}
}
service()
LoginServlet 继承了 HttpServlet,同时也继承了一个方法 service(HttpServletRequest req, HttpServletResponse resp)
实际上,在执行 doGet() 或者 doPost() 之前,都会先执行 service()。由 service() 方法进行判断,调用 doGet() 还是 doPost()。
service()、doGet() 和 doPost() 三种方式的参数列表都是一样的。所以,有时候也会直接重写 service() 方法,在其中提供相应的服务,就不用区分 get 和 post。
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LoginServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// ...
}
}
本文深入解析Servlet中的doGet、doPost及service方法的作用与实现,阐述了如何根据HTTP请求方式选择对应处理方法。
2509

被折叠的 条评论
为什么被折叠?



