深圳幻海软件技术有限公司 欢迎您!

学习笔记——Servlet底层源码分析;Servlet接口;ServletConfig接口;

2023-03-13

2023-01-17 一、Servlet底层源码分析1、Servlet结构图   说明:HttpServlet继承了GenericServlet类,GenericServlet实现了“ServletConfig”和“Servlet”两个接口,因此所以要实现一个

2023-01-17

 一、Servlet底层源码分析

1、Servlet结构图

 

 

 说明:HttpServlet继承了GenericServlet类,GenericServlet实现了“ServletConfig”和“Servlet”两个接口,因此所以要实现一个Servlet直接就可以继承HttpServlet。

2、Servlet接口

内部方法解释

(1)负责初始化Servlet对象。容器一旦创建好Servlet对象后,就调用此方法来初始化Servlet对象

void init(ServletConfig var1) throws ServletException;

(2)getServletConfig()返回一个ServletConfig对象,该对象包含了Servlet初始化参数信息

 ServletConfig getServletConfig();

(3)负责处理客户的请求并返回响应。当容器接收到客户端要求访问特定的Servlet请求时,就会调用Servlet的Service方法

void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException;

(4)getServletInfo()返回一个字符串,在该字符串中包含servlet的创建者,版本和版权信息

String getServletInfo();

(5)destroy()方法负责释放Servlet对象占用的资源,当servlet对象结束生命周期时,servlet容器调用此方法来销毁servlet对象

void destroy();

3、ServletConfig接口

内部方法解释

(1)用于获取Servlet名,web.xml中定义的servlet-name

String getServletName();

(2)获取Servlet上下文对象

ServletContext getServletContext();

(3)获取init-param中的配置参数

String getInitParameter(String var1);

(4)获取配置的所有init-param名字集合

Enumeration getInitParameterNames();

4、GenericServlet抽象类

5、基于协议的HttpServlet