黑马JavaWeb开发笔记15——用JAVA进行Web开发时候的请求、响应流程,B\S架构、C\S架构(概述)

文章目录


前言

本篇文章是2023年最新黑马JavaWeb开发笔记15:用JAVA进行Web开发时候的请求、响应流程,B\S架构、C\S架构(概述)的总结,只是帮助大家从最浅的层面弄懂这几个概念和基本流程,下一篇笔记做深入讲解。

  1. 总体流程分析
  2. 如何处理请求
  3. 如何设置响应数据
  4. B/S架构
  5. C/S架构

总体流程分析

  • 在上一次的笔记中,我们开发了springbootweb的入门程序。 具体的需求是:基于SpringBoot的方式开发一个web应用,浏览器发起请求 /hello 后 ,给浏览器返回字符串 "Hello World ~"。
  • 真实的过程是,我们在浏览器发起请求请求后端web服务器(也就是内置的Tomcat)
  • 而我们在开发web程序的时候,定义了一个控制器类Controller ,请求会被部署在Tomcat中的Controller接收,然后Controller再给浏览器一个响应,响应一个字符串 "Hello World"
  • 在请求响应的过程中是遵循HTTP协议的
  • 但是,其实在Tomcat这类Web服务器 中,不能识别我们自己定义的Controller
  • 前面讲到过Tomcat是一个Servlet容器,支持Serlvet规范,所以tomcat,可以识别 Servlet程序

如何处理请求

  • 在SpringBoot进行web程序开发时,它内置了一个核心的Servlet程序DispatcherServlet ,称之为 核心控制器
    • DispatcherServlet 负责接收页面发送的请求 ,然后根据执行的规则,将请求再转发给后面的请求处理器Controller
    • 请求处理器处理完请求之后 ,最终再由DispatcherServlet给浏览器响应数据
  • 这样,我们所编写的XxxController 就可以处理请求
  • 作为后端来讲,我们需要重点关注的是Controller里面的内容

如何设置响应数据

  • 浏览器发送请求,会携带请求数据,包括:请求行、请求头
  • 请求到达tomcat之后,tomcat会负责解析这些请求数据 ,然后将解析后的请求数据传递给Servlet程序的HttpServletRequest对象
  • 意味着 HttpServletRequest 对象就可以获取到请求数据
  • 而Tomcat还给Servlet程序传递了一个参数 HttpServletResponse ,通过这个对象,我们就可以给浏览器设置响应数据

B/S架构

  • 上面描述的这种浏览器/服务器的架构模式 称为:BS架构

  • BS架构:客户端 只需要浏览器应用程序的逻辑和数据 都存储在服务端

  • 维护很方便,但是速度较慢,会受到网络带宽的影响

  • 后面我们用JAVA语言再去开发web程序的时候,基本是使用B/C架构

  • 以下的一些电商网站 或者官网都是B/S架构

C/S架构

  • Client/Server客户端/服务器架构模式
  • 这种都需要自己单独安装客户端
  • 很多操作可以在客户端实现,速度快

总结

本篇文章是2023年最新黑马JavaWeb开发笔记15:用JAVA进行Web开发时候的请求、响应流程,B\S架构、C\S架构(概述)的总结,只是帮助大家从最浅的层面弄懂这几个概念和基本流程,下一篇笔记做深入讲解。

相关推荐
阿华hhh2 分钟前
day2(IMX6ULL)<led(c语言版)>
java·c语言·jvm
技术摆渡人2 分钟前
专题三:【Android 架构】全栈性能优化与架构演进全书
android·性能优化·架构
乌恩大侠3 分钟前
【AI-RAN 调研】软银株式会社的 “AITRAS” 基于 Arm 架构的 NVIDIA 平台 实现 集中式与分布式 AI-RAN 架构
人工智能·分布式·fpga开发·架构·usrp·mimo
计算机毕设指导65 分钟前
基于微信小程序的奶茶店点餐系统【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij-idea
zhangrelay5 分钟前
ROS Noetic 与 Ubuntu 24.04
笔记·学习
bloglin999996 分钟前
hub.docker.com和docker.com
java·docker·eureka
若鱼19197 分钟前
SpringBoot4.0新特性-声明式HTTP远程调用客户端
java·spring
信创天地7 分钟前
信创环境下数据库与中间件监控实战:指标采集、工具应用与告警体系构建
java·运维·数据库·安全·elk·华为·中间件
无籽西瓜a9 分钟前
详解Stream流特性与常用操作
java
H Corey10 分钟前
Java抽象类与接口实战指南
java·开发语言·学习·intellij-idea