1.servlet简介
宏观讲servlet是web服务器与服务端Java程序之间连接的协议,是通信规范,这个规范是以接口的形式规范的。
浏览器通过http(超文本传输协议)向web服务器发送请求,web服务器接收到请求后通过servlet访问Java程序(action层),然后再通过jdbc(dao层)从数据库获取数据。
通常来说servlet只是宏观上servlet规范中的一个具体的接口,servlet规范包含一整套接口,servlet只是其中之一;
微观上说servlet是servlet接口实现类的一个实例对象,只是跑在服务端程序上的一段Java小程序,即server applet。servlet主功能是根据客户端提交的请求调用服务器端的Java程序代码,完成对请求的处理,运算。
2.servlet生命周期
servlet生命周期即值servlet的创建,servlet对象的初始化,servlet对象服务的执行,以及销毁。servlet整个生命周期都由web服务器来控制,程序员无法控制其执行流程。
但程序员可以获取这些节点,并指定让其做一些事情。
servlet生命周期的执行过程:
(1)当请求发送到web容器后,web容器会解析请求的url,从中截取servlet对应的url;
(2)根据分离出的url,查找web.xml中配置的servlet与url的映射,找出需要执行的servlet;
(3)若该servlet实例对象不存在,则调用该servlet的无参构造器、init方法,实例化该servlet,然后执行service方法;
(4)若该service已存在,老铁那就不需要创建了,直接用就可以了,直接执行service方法;
(5)web容器被关闭或者该应用被关闭时,则执行destoroy方法,销毁servlet实例