最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

当前关注:学习笔记——Servlet底层源码分析;Servlet接口;ServletConfig接口;

来源:博客园

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

关键词: 版权信息 生命周期 初始化参数