玩转Web之servlet(三)---一张图看懂B/S架构
学WEB, 首先 要明确B/S架构,本文将简单说一下小编的愚见,若有不当,欢迎大家指正。
首先,什么是B/S架构?B/S是Broweser/Server的缩写,即浏览器/server模式,简单说就是client使用浏览器,服务端使用Webserver,client与服务端之间使用http协议进行通讯。
那么,为什么要使用B/S架构呢?当然是其有一定的长处:
1.传统的C/S架构 须要单独安装client,一旦client版本号发生变化,须要又一次安装,而B/S架构client使用的是浏览器。
2.开发相对简单,C/S模式须要我们在client和服务端编写通信模块和自己定义的通信协议,但B/S架构则使用http协议。
以下是我画的一张B/S架构的流程图:
须要注意的是浏览器按理说应该向Webserver发送请求,webserver再向servlet发送请求,在servlet里对数据进行处理,但也能够直接向servlet容器发送请求,由于servlet容器里也有个通信模块,能够把servlet容器当成一个简单的webserver。
首先client是一个以html为主的页面,当然也可能用到譬如easyui,liger ui的技术,流程就是按图中数字由小到大的方向走的:
1:用户操作client,即对页面进行操作。
2:client页面获取用户操作须要的信息,比方用户登录时的usernamepassword,或对页面进行了点击,须要异步载入数据,将须要发送到server进行处理的数据获取下来
3:通过http的通信模块对2中获取的信息进行打包
4,:通过ajax等技术将数据发送到服务端
5:在服务端通过http将传过来的包进行拆包
6:servlet通过request获取client发来的请求
7~8:在dao层,即业务逻辑层对获取的请求进行处理,然后与数据库进行交互
9~10:将dao层得出的处理结果返回到servlet,通过response返回client
11~12:对要返回的响应打包,通过http协议发送到client
13:将http传过来的包进行拆包
14:对响应进行解析(传过来的是json或其它东西),通过浏览器体现出来
这仅仅是简单的说一下B/S架构,真正使用的时候要做的工作还是非常多,还有就是后期会对一些东西进行封装,所以有些地方会有些出入,但整体思想还是一样的。
作为一名大二在校生,能力有限,若有不合适的地方,欢迎大家不吝赐教
玩转Web之servlet(三)---一张图看懂B/S架构的更多相关文章
- 一张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
一张图看懂开源许可协议,开源许可证GPL.BSD.MIT.Mozilla.Apache和LGPL的区别 首先借用有心人士的一张相当直观清晰的图来划分各种协议:开源许可证GPL.BSD.MIT.Mozi ...
- 一张图看懂css的position里的relative和absolute的区别
position有以下属性:static.inherit.fixed.absolute.relative前三个好理解好区分:static:是默认状态,没有定位,元素出现在正常的流中(忽略 top, b ...
- 一张图看懂ANSYS17.0 流体 新功能与改进
一张图看懂ANSYS17.0 流体 新功能与改进 提交 我的留言 加载中 已留言 一张图看懂ANSYS17.0 流体 新功能与改进 原创2016-02-03ANSYS模拟在线模拟在线 模拟在线 ...
- FUNMVP:几张图看懂区块链技术到底是什么?(转载)
几张图看懂区块链技术到底是什么? 本文转载自:http://www.cnblogs.com/behindman/p/8873191.html “区块链”的概念可以说是异常火爆,好像互联网金融峰会上没人 ...
- 4张图看懂delphi 10生成ipa和在iPhone虚拟器上调试(教程)
4张图看懂delphi 10生成ipa和在iPhone虚拟器上调试(教程) (2016-02-01 03:21:06) 转载▼ 标签: delphi ios delphi10 教程 编程 分类: 编程 ...
- [转帖]两张图看懂GDT、GDTR、LDT、LDTR的关系
两张图看懂GDT.GDTR.LDT.LDTR的关系 2018-06-09 18:13:53 Six_666A 阅读数 2044更多 分类专栏: 深入理解linux内核 转自:http://ju.o ...
- 一张图看懂Function和Object的关系及简述instanceof运算符
我在写一篇图解prototype和__proto__的区别时,搜资料搜到了一个有意思的现象,下面这两个运算返回的结果是一样的: Function instanceof Object;//true Ob ...
- Nodejs学习笔记(三)——一张图看懂Nodejs建站
前言:一条线,竖着放,如果做不到精进至深,那就旋转90°,至少也图个幅度宽广. 通俗解释上面的胡言乱语:还没学会爬,就学起走了?! 继上篇<Nodejs学习笔记(二)——Eclipse中运行调试 ...
- 一张图看Goodle Clean设计架构
之前用一张图分析了Google给出的MVP架构,但是在Google给出的所有案例里面除了基本的MVP架构还有其它几种架构,今天就来分析其中的Clean架构.同样的,网上介绍Clean架构的文章很多,我 ...
随机推荐
- 第八篇、SVN在Mac上使用
Mac自带svn软件 1.创建目录 svn-repository/source-code 2.svnadmin create /Users/liaokailin/svn-repository/sour ...
- 关于Asp.Net中避免用户连续多次点击按钮,重复提交表单的处理
Web页面中经常碰到这类问题,就是客户端多次点击一个按钮或者链接,导致程序出现不可预知的麻烦. 客户就是上帝,他们也不是有意要给你的系统造成破坏,这么做的原因很大一部分是因为网络慢,点击一个操作之后, ...
- Java学习----对象间的继承
继承:子类可以使用父类非私有的成员变量和方法 public class Father { public String name; public String bloodType; private in ...
- centos lnmp 安装笔记
[root@host]# chkconfig nginx on [root@host]# service nginx start [root@host]# service nginx stop [ro ...
- C /CLI思辨录[阅读记录]
C /CLI思辨录之拷贝构造函数(避免多个实例在相同的堆对象的错误处理) http://west263.com/info/html/chengxusheji/C-C--/20080224/9247.h ...
- 【开源】前端练手笔记,Chrome扩展应用程序(html+CSS+JS) (1)
项目名称:github-notification 项目地址:https://github.com/WQTeam/github-notification 说明:本人打算抽时间学习前端(html + cs ...
- YII 集成jquery
- 基于cx_freeze编译PyQt4程序(numpy & scipy)
当开发完成PyQt4程序后,需要提供给他人使用,这时最好的办法是将Python程序编译成exe文件. 通常我采用cx_freeze完成这个工作,即编写setup.py文件,执行python setup ...
- A Statistical View of Deep Learning (IV): Recurrent Nets and Dynamical Systems
A Statistical View of Deep Learning (IV): Recurrent Nets and Dynamical Systems Recurrent neural netw ...
- JavaScript的应用
DOM, BOM, XMLHttpRequest, Framework, Tool (Functionality) Performance (Caching, Combine, Minify, JSL ...