[Servlet]Servlet的继承链

通过创建Servlet的Java文件中的代码内容,可以发现创建的Servlet是继承于HttpServlet类,查看JavaEE帮助文档中的HttpServlet内容。

Method Summary
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
protected void service(HttpServletRequest req, HttpServletResponse resp)
void service(ServletRequest req, ServletResponse res)

通过帮助文档提供的内容,我们可以知道创建Servlet中的doGet和doPost方法是继承于HttpServlet提供的,但还有init和destroy方法没有找到。我们发现HttpServlet是继承于GenericServlet,查看JavaEE帮助文档中的GenericServlet内容。

Method Summary
void destroy()
void init()
abstract void service(ServletRequest req, ServletResponse res)

通过帮助文档提供的内容,我们可以知道init和destroy方法是源于GenericServlet。但是其实GenericServlet都实现了Servlet接口。

Method Summary
void destroy()
ServletConfig getServletConfig()
String getServletInfo()
void init(ServletConfig config)
void service(ServletRequest req, ServletResponse res)

所以,init和destroy方法是Servlet接口提供的方法。通过上述的查找,我们已经很清晰的知道了Servlet的继承关系,具体如下图:

这里写图片描述


转载说明:请注明作者及原文链接,谢谢!

原文地址:https://www.cnblogs.com/longestory/p/4566974.html