(5)Servlet的概念理解

(5)Servlet的概念理解

一、Servlet概念

1.概念

Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器。

狭义的Servlet是指Java语言实现的一个接口,
广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。

2.作用

Servlet的作用就是能够处理浏览器带来的HTTP请求,并且返回响应给浏览器。从而实现浏览器和服务器的交互。

二、Servlet理解

我理解Servlet是指任何实现了Servlet这个接口的类。

我们在Java EE基础(3):第一个Web项目中创建过一个Servlet,即那个继承了HttpServlet的Java类。

1.问:

  我们的Java类MyServlet也没有implements实现Servlet接口呀,只是继承了HttpServlet这个抽象类,那为什么我创建的MyServlet是一个Servlet呢?

2.答:

  我MyServlet类没有实现Servlet接口,但是我由父类呀,我父类或者父类的父类实现了Servlet不就可以了。

3.问题详解:

  确实如此,在MyServlet类我们并没有实现Servlet接口,但是他有父类HttpServlet。
  我们用离线文档来看看他的父类==HttpServlet==:
  Tomcat离线文档下载链接:Tomcat离线文档下载
在这里插入图片描述
  由上图我们可以看出HttpServlet继承了抽象类GenericServlet,只implements实现了 java.io.Serializable。

  HttpServlet并没有实现Servlet接口

  我们继续看抽象类==GenericServlet==:
在这里插入图片描述
  上面这个图中,我们看到HttpServlet的父类GenericServlet分别实现了Servlet、ServletConfig、java.io.Serializable接口。

  由此得知,为什么我创建的MyServlet是一个Servlet。


三、Servlet的实现

从上面的问题可以看出,让自己创建的普通Java类成为一个Servlet我们有三种方式。

分别是:

  • 继承HttpServlet(我们常用的就是这种方式)
  • 继承GenericServlet类
  • 实现Servlet

参考:

servlet百度百科:https://baike.baidu.com/item/servlet/477555?fr=aladdin