【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对象
相关推荐
tang7451639621 天前
Huawei Cloud EulerOS 2.0(x8664)安装 Jenkins
java·servlet·jenkins
砍材农夫2 天前
物联网 基于netty核心实战-心跳保活机制
java·后端·物联网·struts·servlet·netty
李少兄2 天前
深入理解 Web 服务器、Servlet 容器与现代 Java Web 架构
java·服务器·servlet
范什么特西10 天前
idea里面jsp找不到图片
java·开发语言·servlet
多敲代码防脱发11 天前
Spring进阶(Bean的生命周期与Bean的后处理器)
java·服务器·开发语言·spring boot·spring·servlet
甲方大人请饶命11 天前
Java-面向对象进阶之接口与内部类
java·开发语言·servlet
解决问题no解决代码问题13 天前
Quartz 1.6.5
数据库·servlet·oracle
Linux运维技术栈13 天前
Jenkins服务器更新密钥后任务构建不了?排查实录与解决方案
服务器·servlet·jenkins
小碗羊肉15 天前
【JavaWeb | 第十一篇】文件上传(本地&阿里云OSS)
java·阿里云·servlet