目录
什么是Servlet?
-
是一个可以运行在服务器中的java程序;可以接收和响应客户端的请求,通过HTTP协议;
-
可以通过①实现Servlet接口、②继承GenericServlet、③继承HttpServlet来达到Servlet功能;
-
Servlet接口中定义了一些和Servlet生命周期相关的一些方法
-
init : Servlet初始化
-
service : 浏览器发起请求就调用
-
destroyed : Servlet销毁
-
Servlet执行流程
-
①浏览器发起请求(http://localhost:8080/day03/demo01)
-
②tomcat服务器解析URL
-
③根据URL找到对应的项目(/day03)
-
④解析web.xml
-
⑤根据URI(/demo01)找到对应的资源(com.atguigu.servlet.Demo01Servlet)
-
⑥由Demo01Servlet处理请求,发出响应
Servlet生命周期
生命周期
-
创建
-
构造器,第一次请求时
-
-
初始化
-
init,第一次请求时
-
-
存活
-
service(doGet、doPost),一次请求就执行一次。
-
-
销毁
-
destroy,服务器关闭
-
Servlet初始化时机
-
概述
-
默认情况下,Servlet是在第一次请求时才会初始化。
-
要求Servlet随着服务器的启动而初始化,这就需要配置load-on-startup
-
-
适用场景
-
大多数的Servlet是不需要随着服务器的启动而初始化的,比如:SpringMVC中的DispatcherServlet(耗时5秒)
-
<!--声明Demo03Servlet-->
<servlet>
<servlet-name>Demo05Servlet</servlet-name>
<servlet-class>com.atguigu.servlet.Demo05Servlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>