1. 继承关系
javax.servlet.Servlet——Servlet体系根接口
javax.servlet.GenericServlet——Servlet抽象实现类
javax.servlet.http.HttpServlet——对HTTP协议封装的Servlet实现类
2、主要方法
-
Servlet接口:
void init(config) - 创建 Servlet 对象后立即调用该方法完成其他初始化工作
void service(request,response) - 处理客户端请求,执行业务操作,利用响应对象响应客户端请求
void destory() - 在销毁 Servlet 对象之前调用该方法,释放资源
-
GenericServlet抽象类:
将Servlet接口中其他的方法做了默认空实现,只将service()方法作为抽象。
-
HttpServlet 抽象子类:
为不同的响应方式提供相应的服务方法,doDelete(),doGet()和doPost()等。
3、HttpServlet容器响应流程
- Web客户向Servlet容器发出Http请求;
- Servlet容器解析Web客户的Http请求;
- Servlet容器创建一个HttpRequest对象,在这个对象中封装Http请求信息;
- Servlet容器创建一个HttpResponse对象;
- Servlet容器调用HttpServlet的service方法,把HttpRequest和HttpResponse对象作为service方法的参数传给HttpServlet对象;
- HttpServlet调用HttpRequest的有关方法,获取HTTP请求信息;
- HttpServlet调用HttpResponse的有关方法,生成响应数据;
- Servlet容器把HttpServlet的响应结果传给Web客户。