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

相关推荐
EllinY3 分钟前
CF 231 E Cactus 题解(仙人掌图上找环)
c++·笔记·算法·深度优先·图论
probably1217 分钟前
软件测试中的白盒测试方法,包括其定义、主要技术、应用场景及优缺点。
笔记·学习
小米里的大麦27 分钟前
【C++】深入理解作用域和命名空间:从基础到进阶详解
c++·笔记·作用域·命名空间
码农探知34 分钟前
黑马程序员Java笔记整理(day01)
java
Flying_Fish_roe43 分钟前
Spring Boot-Swagger相关问题
java·spring boot·后端
hac13221 小时前
HashMap线程不安全|Hashtable|ConcurrentHashMap
java·开发语言·安全
weixin_439357201 小时前
分布式本地缓存 ehcache 缓存同步复制
java·spring boot·分布式·缓存
烟雨国度1 小时前
Spring Boot 执行流程已经 负载均衡执行流程图
spring boot·负载均衡·流程图
一 乐2 小时前
学习平台|基于java的移动学习平台系统小程序(源码+数据库+文档)
java·数据库·学习·小程序·论文·apache