黑马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架构(概述)的总结,只是帮助大家从最浅的层面弄懂这几个概念和基本流程,下一篇笔记做深入讲解。

相关推荐
述清-架构师之路1 天前
【亲测可用】idea设置mvn默认版本路径,setting路径,仓库路径
java·ide·intellij-idea
深蓝海拓1 天前
PySide6从0开始学习的笔记(四)QMainWindow
笔记·python·学习·pyqt
sheeta19981 天前
LeetCode 每日一题笔记 日期:2025.12.15 题目:2110.股票平滑下跌阶段的数目
笔记·算法·leetcode
泡泡以安1 天前
【Android逆向工程】第3章:Java 字节码与 Smali 语法基础
android·java·安卓逆向
周杰伦_Jay1 天前
【Spring Cloud Alibaba】微服务组件详解:电商场景落地实践
微服务·云原生·架构
毕设源码-朱学姐1 天前
【开题答辩全过程】以 工厂能耗分析平台的设计与实现为例,包含答辩的问题和答案
java·vue.js
智者知已应修善业1 天前
【求中位数】2024-1-23
c语言·c++·经验分享·笔记·算法
张人玉1 天前
百度 AI 图像识别 WinForms 应用代码分析笔记
人工智能·笔记·百度
老前端的功夫1 天前
Vue 3 性能深度解析:从架构革新到运行时的全面优化
javascript·vue.js·架构
Spring AI学习1 天前
Spring AI深度解析(9/50):可观测性与监控体系实战
java·人工智能·spring