一、Servlet的生命周期
1.生命周期介绍:就是一个对象从创建到销毁的过程
2.实现步骤:
①创建一个servlet
②重写init,service,destory方法
③测试运行
配置文件web.xml方式配置启动时创建
运行效果
总结:servlet是由服务器创建的,默认在用户第一次访问servlet的时候服务器创建的servlet对象,只创建了一次,全局唯一
优点;全局唯一,为内存节省资源
二、servlet的体系结构
1.如下图所示,在idea中获取HttpServlet的父类们
关系如下:
通过查看Servlet\、GenericServlet、HttpServlet的源码可以发现,子类重写了父类的service方法,HttpServlet类继承GenericServlet接口,重写service方法,判断是什么请求类型,如果是get请求走子类的doGet方法,如果是post请求走子类doPost方法。
三、servlet的运行原理
1.运行原理(时序图)
一servlet2.5为例(servlet 3.0可通过注解扫描@webServlet),见下图
服务器根据url找到类全名,通过反射Class.forName(servlet类全名)创建了servlet对象,服务器将所有请求数据封装到request对象中,所有响应数据封装到response中,将request和response传入service方法,是使用反射调用service方法。(tomcat是使用反射根据类全名来创建servlet的对象)