多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## Servlet是什么 Servlet(Server Applet)是[Java](https://baike.baidu.com/item/Java/85979)Servlet的简称,称为小服务程序或服务连接器,用Java编写的[服务器](https://baike.baidu.com/item/%E6%9C%8D%E5%8A%A1%E5%99%A8/100571)端程序,具有独立于平台和[协议](https://baike.baidu.com/item/%E5%8D%8F%E8%AE%AE/13020269)的特性,主要功能在于交互式地浏览和生成数据,生成动态[Web](https://baike.baidu.com/item/Web/150564)内容。 狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于[HTTP协议](https://baike.baidu.com/item/HTTP%E5%8D%8F%E8%AE%AE/1276942)的Web服务器。 最早支持Servlet标准的是JavaSoft的Java[Web Server](https://baike.baidu.com/item/Web%20Server/9306055),此后,一些其它的基于Java的Web服务器开始支持标准的Servlet。 >[info] 可以通过百度百科深入了解:[servlet\_百度百科](https://baike.baidu.com/item/servlet/477555?fr=aladdin) > 英语好的同学可以直接通过官方了解:[Apache Tomcat 10 (10.0.20) - Documentation Index](https://tomcat.apache.org/tomcat-10.0-doc/index.html) >[success] 送大家一个有道翻译的google插件:[有道词典划词扩展2019_v3.3.2](https://www.aliyundrive.com/s/XJ1KtrB6h7Z) 所以,我们学习JavaWeb其实就是在学习Servlet的整个实现过程与方法,所以我们写的基本所有JavaWeb的类都是继承`HttpServlet`类并重写父类的方法,在Servlet的实现中,我们把Tomcat启动后的进程叫做`容器`,在容器关闭之前每一个Servlet的类都运行在里面,也就是说通过Tomcat写的Servlet类让我们能够用Java的语言去实现Http的服务,这一点是必须要明确的,因为Servlet不是一个独立的个体,它也是依赖JDK的。 <br/> :-: ![](https://img.kancloud.cn/a3/8a/a38a5bd2477659ec50e2c3b2b58e8203_533x296.png) :-: HttpServlet类的继承实现关系关系 <br/> ## **Servlet的生命周期** * Servlet 接口里面有5个方法,其中三个生命周期方法和两个普通方法 * 实例化->使用构造方法创建对象 * 初始化->执行init方法:Servlet 的生命期中,仅执行一次 init() 方法,它是在服务器装入 Servlet 时执行的,即第一次访问这个Servlet才执行 * 服务->执行service方法,service() 方法是 Servlet 的核心。每当一个客户请求一个HttpServlet 对象,该对象的service() 方法就要被调用