【JavaWeb】Servlet_简介和运行流程

目录

Servlet简介

动态资源和静态资源

静态资源

无需在程序运行时通过代码运行生成的资源,在程序运行之前就写好的资源,例如:html css js img,音频文件和视频文件

动态资源

  • 需要在程序运行时通过代码运行生成的资源,在程序运行之前无法确定的数据,运行时动态生成,例如Servlet,Thymeleaf ...
  • 动态资源指的不是视图上的动画效果或者是简单的人机交互效果

生活举例

去蛋糕店买蛋糕

直接买柜台上已经做好的:静态资源

和柜员说要求后现场制作:动态资源

动态资源和静态资源在程序上的差别

动态资源和静态资源落实在程序上,在运行时的差别如下:

访问静态资源:

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

Servlet简介

Servlet是运行在服务端的Java小程序,是sun公司提供一套定义动态资源规范,从代码层面上来讲Servlet就是一个接口

  1. 不是所有的Java类都能用于处理客户端请求,能处理客户端请求并做出响应的一套技术标准就是Servlet
  2. Servlet是运行在服务端的,所以Servlet必须在WEB项目中开发且在Tomcat这样的服务容器中运行
  3. 用来接收、处理客户端请求、响应给浏览器的动态资源,在整个Web应用中,Servlet主要负责接收处理请求,协同调度功能以及响应数据,我们可以把Servlet称为Web应用中的控制器

Servlet运行流程

  1. Tomcat接收到请求后,会将请求报文的信息转换成一个HttpServletRequest对象,该对象中包含了请求中的所有信息 :请求行 请求头 请求体
  2. Tomcat同时创建了一个HttpServletResponse对象,该对象用于承装要响应给客户端的信息,后面,该对象会被转换成响应的报文:响应行 响应头 响应体
  3. Tomcat根据请求中的资源路径找到对应的Servlet,将Servlet实例化,调用service方法,同时将HttpServletRequest和HttpServletResponse对象传入
  1. 从request对象中获取请求的所有信息(参数)
  2. 根据参数生成要响应给客户端的数据
  3. 将响应的数据放入response对象
相关推荐
Yorlen_Zhang2 小时前
Python pytest assert 断言
python·servlet·pytest
码农幻想梦17 小时前
实验八 获取请求参数及域对象共享数据
java·开发语言·servlet
IT 行者1 天前
基于Servlet的纯原生Java Web工程之工程搭建:去除依赖的繁琐,返璞归真
java·前端·servlet
jiayong232 天前
Tomcat Servlet容器与生命周期管理面试题
java·servlet·tomcat
星谐2 天前
Bash 双模式解析 + 飞书机器人:圈复杂度报告 45 min→30 s 实战
servlet·bash·飞书
凌冰_3 天前
Thymeleaf Maven+Servlet+Mysql图书框架—3(九)
mysql·servlet·maven
就叫飞六吧4 天前
Jenkins 流水线全流程实战笔记
笔记·servlet·jenkins
程序员老徐5 天前
SpringBoot嵌入Tomcat注册Servlet、Filter流程
spring boot·servlet·tomcat
cly15 天前
Jenkins重置管理员密码
运维·servlet·jenkins
m0_748252386 天前
Servlet 数据库访问
数据库·servlet