玩转Web之servlet(三)---一张图看懂B/S架构

2024-06-24 01:32

本文主要是介绍玩转Web之servlet(三)---一张图看懂B/S架构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

学WEB, 首先 要明白B/S架构,本文将简单说一下小编的愚见,若有不当,欢迎大家指正。

首先,什么是B/S架构?B/S是Broweser/Server的缩写,即浏览器/服务器模式简单说就是客户端使用浏览器,服务端使用Web服务器,客户端与服务端之间使用http协议进行通讯。

那么,为什么要使用B/S架构呢?当然是其有一定的优点:

          1.传统的C/S架构 需要单独安装客户端,一旦客户端版本发生变化,需要重新安装,而B/S架构客户端使用的是浏览器。

          2.开发相对简单,C/S模式需要我们在客户端和服务端编写通信模块和自定义的通信协议,但B/S架构则使用http协议。

下面是我画的一张B/S架构的流程图:


需要注意的是浏览器按理说应该向Web服务器发送请求,web服务器再向servlet发送请求,在servlet里对数据进行处理,但也可以直接向servlet容器发送请求,因为servlet容器里也有个通信模块,可以把servlet容器当成一个简单的web服务器。

首先客户端是一个以html为主的页面,当然也可能用到譬如easyui,liger ui的技术,流程就是按图中数字由小到大的方向走的:

1:用户操作客户端,即对页面进行操作。

2:客户端页面获取用户操作需要的信息,比如用户登录时的用户名密码,或对页面进行了点击,需要异步加载数据,将需要发送到服务器进行处理的数据获取下来

3:通过http的通信模块对2中获取的信息进行打包

4,:通过ajax等技术将数据发送到服务端

5:在服务端通过http将传过来的包进行拆包

6:servlet通过request获取客户端发来的请求

7~8:在dao层,即业务逻辑层对获取的请求进行处理,然后与数据库进行交互

9~10:将dao层得出的处理结果返回到servlet,通过response返回客户端

11~12:对要返回的响应打包,通过http协议发送到客户端

13:将http传过来的包进行拆包

14:对响应进行解析(传过来的是json或其他东西),通过浏览器体现出来

这只是简单的说一下B/S架构,真正使用的时候要做的工作还是很多,还有就是后期会对一些东西进行封装,所以有些地方会有些出入,但总体思想还是一样的。


作为一名大二在校生,能力有限,若有不合适的地方,欢迎大家指教






这篇关于玩转Web之servlet(三)---一张图看懂B/S架构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1088821

相关文章

MySQL快速复制一张表的四种核心方法(包括表结构和数据)

《MySQL快速复制一张表的四种核心方法(包括表结构和数据)》本文详细介绍了四种复制MySQL表(结构+数据)的方法,并对每种方法进行了对比分析,适用于不同场景和数据量的复制需求,特别是针对超大表(1... 目录一、mysql 复制表(结构+数据)的 4 种核心方法(面试结构化回答)方法 1:CREATE

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

JavaWeb 中的 Filter组件详解

《JavaWeb中的Filter组件详解》本文详细介绍了JavaWeb中的Filter组件,包括其基本概念、工作原理、核心接口和类、配置方式以及常见应用示例,Filter可以实现请求预处理、响应后... 目录JavaWeb 中的 Filter 详解1. Filter 基本概念1.1 什么是 Filter1.

Nginx概念、架构、配置与虚拟主机实战操作指南

《Nginx概念、架构、配置与虚拟主机实战操作指南》Nginx是一个高性能的HTTP服务器、反向代理服务器、负载均衡器和IMAP/POP3/SMTP代理服务器,它支持高并发连接,资源占用低,功能全面且... 目录Nginx 深度解析:概念、架构、配置与虚拟主机实战一、Nginx 的概念二、Nginx 的特点

CPython与PyPy解释器架构的性能测试结果对比

《CPython与PyPy解释器架构的性能测试结果对比》Python解释器的选择对应用程序性能有着决定性影响,CPython以其稳定性和丰富的生态系统著称;而PyPy作为基于JIT(即时编译)技术的替... 目录引言python解释器架构概述CPython架构解析PyPy架构解析架构对比可视化性能基准测试测

MySQL集群高可用架构的两种使用小结

《MySQL集群高可用架构的两种使用小结》本文介绍了MySQL的两种高可用解决方案:组复制(MGR)和MasterHighAvailability(MHA),文中通过示例代码介绍的非常详细,对大家的学... 目录一、mysql高可用之组复制(MGR)1.1 组复制核心特性与优势1.2 组复制架构原理1.3

Spring Boot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)

《SpringBoot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)》本文将以一个实际案例(用户管理系统)为例,详细解析SpringBoot中Co... 目录引言:为什么学习Spring Boot分层架构?第一部分:Spring Boot的整体架构1.1

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

Python Web框架Flask、Streamlit、FastAPI示例详解

《PythonWeb框架Flask、Streamlit、FastAPI示例详解》本文对比分析了Flask、Streamlit和FastAPI三大PythonWeb框架:Flask轻量灵活适合传统应用... 目录概述Flask详解Flask简介安装和基础配置核心概念路由和视图模板系统数据库集成实际示例Stre