HttpServlet的
时间:2020-01-09 10:36:22 来源:igfitidea点击:
" javax.servlet.http.HttpServlet"类比"简单Servlet"示例中显示的" GenericServlet"稍微高级一些。
HttpServlet类读取HTTP请求,并确定该请求是否为HTTP GET,POST,PUT,DELETE,HEAD等,并调用相应的方法。
回应仅HTTP GET请求,我们将扩展HttpServlet类,并仅覆盖doGet()方法。这是一个例子:
public class SimpleHttpServlet extends HttpServlet {
protected void doGet( HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.getWriter().write("<html><body>GET response</body></html>");
}
}
HttpServlet类具有我们可以为每个HTTP方法(GET,POST等)覆盖的方法。以下是我们可以覆盖的方法的列表:
- doGet()
- doPost()
- doHead()
- doPut()
- doDelete()
- doOptions()
- doTrace()
大多数情况下,我们只想响应HTTP GET或者POST请求,因此我们只需覆盖这两种方法。
如果要处理来自给定Servlet的GET和POST请求,则可以覆盖这两种方法,而一个调用另一个。方法如下:
public class SimpleHttpServlet extends HttpServlet {
protected void doGet( HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
protected void doPost( HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.getWriter().write("GET/POST response");
}
}
我建议我们尽可能使用HttpServlet而不是GenericServlet。与GenericServlet相比,HttpServlet更加易于使用,并且具有更多的便捷方法。

