servlet解说

链接:https://www.nowcoder.com/questionTerminal/3f368578e43d48b1968d79b935d00972

来源:牛客网

**

![在这里插入图片描述](https://img-blog.csdnimg.cn/20190802171831750.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI3MDU4MDkz,size_16,color_FFFFFF,t_70)

## 其中一种解说:

**

注意以下几点:

  1.service方法是在servlet生命周期中的服务期,默认在HttpServlet类中实现,根据HTTP请求方法(GET、POST等),将请求分发到doGet、doPost等方法实现。

  2.GenericServlet

  抽象类给出了设计servlet的一些骨架,定义了servlet生命周期还有一些得到名字、配置、初始化参数的方法,其设计的是和应用层协议无关的。doget/dopost与Http协议有关,是在

  javax.servlet.http.HttpServlet 中实现的。

  3.doGet和doPost方法在HttpServlet类中实现,GenericServlet中实现了service()

  4.常说所有的请求都先由service方法处理,而javax.servlet.GenericServlet接口实现了javax.servlet.Servle接口,且javax.servlet.http.HttpServlet

  是 javax.servlet.GenericServlet 的子类。只有最先定义好了的service方法才可以处理所有的请求。

**

## 另一种解说:

**

链接:https://www.nowcoder.com/questionTerminal/3f368578e43d48b1968d79b935d00972

来源:牛客网

service()是在javax.servlet.Servlet接口中定义的, 在

    javax.servlet.GenericServlet 中实现了这个接口。

  而 doGet/doPost 则是在 javax.servlet.http.HttpServlet 中实现的,

    javax.servlet.http.HttpServlet 是 javax.servlet.GenericServlet 的子类。

  所有可以这样理解, 其实所有的请求均首先由 service() 进行处理, 而在

    javax.servlet.http.HttpServlet 的 service() 方法中, 主要做的事情就是判断请求类型是 Get

    还是 Post, 然后调用对应的 doGet/doPost 执行。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容