黑马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 小时前
FastAPI + PostgreSQL 实战:从入门到不踩坑,一次讲透
python·sql·postgresql·fastapi·web·postgres·db·asyncpg
架构师沉默6 小时前
别又牛逼了!AI 写 Java 代码真的行吗?
java·后端·架构
桦说编程7 小时前
Harness Engineering — AI 时代的工程最佳实践
人工智能·架构·代码规范
毛骗导演7 小时前
万字解析 OpenClaw 源码架构-安全与权限
前端·架构
非优秀程序员7 小时前
推荐五个OPENclaw 可以应用的场景,让你明白他能干怎么
人工智能·架构·浏览器
小飞Coding8 小时前
Spring Boot 中关于 Bean 加载、实例化、初始化全生命周期的扩展点
spring boot
小飞Coding9 小时前
彻底搞懂 Spring 容器导入配置类:@EnableXXX 与 spring.factories 核心原理
spring boot
ray_liang10 小时前
一小时手搓轻量级可代替 Qdrant 的向量数据库
后端·架构
后端AI实验室10 小时前
我把一个生产Bug的排查过程,交给AI处理——20分钟后我关掉了它
java·ai
凉年技术12 小时前
Java 实现企业微信扫码登录
java·企业微信