servlet&jsp_HttpServlet相关API架构
HttpServlet相关API架构。

extends implements
(abstract)HttpServlet-------------------->GenericServlet------------------------->Servlet接口
Servlet接口:
首先看到Servlet接口,它定义了Servlet应该有的基本行为,如关于生命周期的方法,init()、destroy()、提供服务时调用的serivce()方法。
GenericServlet类:
实现Servlet接口的是GenericServlet类,它还实现了ServletConfig接口。
GenericServlet没有规范任何有关HTTP的方法,而是由它的继承者HttpServlet定义。
HttpServlet类:
Http相关服务流程定义在service方法中。
HttpServlet的service方法中的流程大致如下:
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
String methods = req.getMethod();
if(method.equals(METHOD_GET)){
...
doGet(req, resp);
}else if(method.equals(METHOD_HEAD)){
...
doHead(req, resp);
}else if(method.equals(METHOD_POST)){
doPost(req, resp);
}else if(method.equals(METHOD_PUT))
... }
当请求来到时,容器会调用Servlet的service()方法。
可以看到,HttpServlet的service()中定义的,基本上就是判断HTTP请求的方式,再分别调用doGet()、doPost()方法,所以若想针对GET、POST等方法进行处理,才会在继承HttpServlet后,对doGET和 doPost进行重写。
可以注意到包(package)的设计,与Servlet定义相关的类和接口都在javax.servlet中。与HTTP相关的类和接口都在javax.servlet.http中。
posted on 2021-08-08 12:43 XiaoXiaoli 阅读(74) 评论(0) 收藏 举报
浙公网安备 33010602011771号