学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架构的更多相关文章

  1. 一张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别

    一张图看懂开源许可协议,开源许可证GPL.BSD.MIT.Mozilla.Apache和LGPL的区别 首先借用有心人士的一张相当直观清晰的图来划分各种协议:开源许可证GPL.BSD.MIT.Mozi ...

  2. 一张图看懂css的position里的relative和absolute的区别

    position有以下属性:static.inherit.fixed.absolute.relative前三个好理解好区分:static:是默认状态,没有定位,元素出现在正常的流中(忽略 top, b ...

  3. 一张图看懂ANSYS17.0 流体 新功能与改进

    一张图看懂ANSYS17.0 流体 新功能与改进   提交 我的留言 加载中 已留言   一张图看懂ANSYS17.0 流体 新功能与改进 原创2016-02-03ANSYS模拟在线模拟在线 模拟在线 ...

  4. FUNMVP:几张图看懂区块链技术到底是什么?(转载)

    几张图看懂区块链技术到底是什么? 本文转载自:http://www.cnblogs.com/behindman/p/8873191.html “区块链”的概念可以说是异常火爆,好像互联网金融峰会上没人 ...

  5. 4张图看懂delphi 10生成ipa和在iPhone虚拟器上调试(教程)

    4张图看懂delphi 10生成ipa和在iPhone虚拟器上调试(教程) (2016-02-01 03:21:06) 转载▼ 标签: delphi ios delphi10 教程 编程 分类: 编程 ...

  6. [转帖]两张图看懂GDT、GDTR、LDT、LDTR的关系

    两张图看懂GDT.GDTR.LDT.LDTR的关系 2018-06-09 18:13:53 Six_666A 阅读数 2044更多 分类专栏: 深入理解linux内核   转自:http://ju.o ...

  7. 一张图看懂Function和Object的关系及简述instanceof运算符

    我在写一篇图解prototype和__proto__的区别时,搜资料搜到了一个有意思的现象,下面这两个运算返回的结果是一样的: Function instanceof Object;//true Ob ...

  8. Nodejs学习笔记(三)——一张图看懂Nodejs建站

    前言:一条线,竖着放,如果做不到精进至深,那就旋转90°,至少也图个幅度宽广. 通俗解释上面的胡言乱语:还没学会爬,就学起走了?! 继上篇<Nodejs学习笔记(二)——Eclipse中运行调试 ...

  9. 一张图看Goodle Clean设计架构

    之前用一张图分析了Google给出的MVP架构,但是在Google给出的所有案例里面除了基本的MVP架构还有其它几种架构,今天就来分析其中的Clean架构.同样的,网上介绍Clean架构的文章很多,我 ...

随机推荐

  1. 寒假挑战PythonTip(一人一python)总结——算法是程序的灵魂,程序员的心法

        2014年2月中旬,我上升到挑战python英雄榜第3名.这是我寒假修炼算法的成果之一.来一下总结吧! Linux的创始人Linus Torvalds在一次演讲中有一段涉及“什么才是优秀程序员 ...

  2. js 支持的原始数据类型

    原始数据类型: 数值型: 1.十进制数 <script> var a =12; a = -12 a = 12.4 a =.23e2 //=>23 a = 2e3 //=>200 ...

  3. CSS lib

    Yahoo的轻型CSS框架Pure来加速web开发 http://purecss.io/buttons/#

  4. PHP要注意的14个问题

    1.页面之间无法传递变量 get,post,session 在最新的php版本中自动全局变量是关闭的,所以要从上一页面取得提交过来得变量要使 用$_GET['foo'],$_POST['foo'],$ ...

  5. Mvc controller单元测试 Mock Url对象

    被测试Action 包含有Url对象的代码: data = new data { title = ds.Name, icon = "folder", attr = new { id ...

  6. 转:SQL Case when 的使用方法

      Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' EN ...

  7. 原 IOS之NSValue整理

    原 IOS之NSValue整理 发表于2年前(2013-02-28 23:02)   阅读(1974) | 评论(0) 5人收藏此文章, 我要收藏 赞3 IOS NSValue 值对象(value o ...

  8. [转]Aggregate tasks i Sharepoint 2013

    from http://sharepoint247.com/mysite/aggregate-tasks-i-sharepoint-2013/ Aggregate tasks i Sharepoint ...

  9. Git各种错误汇总

    1.github上版本和本地上版本冲突的方法,即提交时会提示如下错误: 解决方法,提交时采用如下代码: git push -u origin master -f 参考链接: http://blog.c ...

  10. centos qt5,PyQt5 installation

    一.SIP http://www.riverbankcomputing.com/software/sip/download   二.Centos6.5 qt 安装 1,centos linux系统必须 ...