目录
Servlet简介
动态资源和静态资源
静态资源
无需在程序运行时通过代码运行生成的资源,在程序运行之前就写好的资源,例如:html css js img,音频文件和视频文件
动态资源
- 需要在程序运行时通过代码运行生成的资源,在程序运行之前无法确定的数据,运行时动态生成,例如Servlet,Thymeleaf ...
- 动态资源指的不是视图上的动画效果或者是简单的人机交互效果
生活举例
去蛋糕店买蛋糕
直接买柜台上已经做好的:静态资源
和柜员说要求后现场制作:动态资源
动态资源和静态资源在程序上的差别
动态资源和静态资源落实在程序上,在运行时的差别如下:
访问静态资源:

tomcat将Java代码生成的数据转换成响应报文

Servlet简介
Servlet是运行在服务端的Java小程序,是sun公司提供一套定义动态资源规范,从代码层面上来讲Servlet就是一个接口
- 不是所有的Java类都能用于处理客户端请求,能处理客户端请求并做出响应的一套技术标准就是Servlet
- Servlet是运行在服务端的,所以Servlet必须在WEB项目中开发且在Tomcat这样的服务容器中运行
- 用来接收、处理客户端请求、响应给浏览器的动态资源,在整个Web应用中,Servlet主要负责接收处理请求,协同调度功能以及响应数据,我们可以把Servlet称为Web应用中的控制器
Servlet运行流程
- Tomcat接收到请求后,会将请求报文的信息转换成一个HttpServletRequest对象,该对象中包含了请求中的所有信息 :请求行 请求头 请求体
- Tomcat同时创建了一个HttpServletResponse对象,该对象用于承装要响应给客户端的信息,后面,该对象会被转换成响应的报文:响应行 响应头 响应体
- Tomcat根据请求中的资源路径找到对应的Servlet,将Servlet实例化,调用service方法,同时将HttpServletRequest和HttpServletResponse对象传入

- 从request对象中获取请求的所有信息(参数)
- 根据参数生成要响应给客户端的数据
- 将响应的数据放入response对象