学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. WARN [main] conf.HiveConf (HiveConf.java:initialize(1488)) - DEPRECATED

    问题描述:hive 关于告警问题的解决:WARN  [main] conf.HiveConf (HiveConf.java:initialize(1488)) - DEPRECATED: Config ...

  2. thinkphp 总结 转

    用ThinkPHP做过几个项目后,感觉这个框架蛮不错的,很适合自己的逻辑习惯,开发起来也快捷,呵呵, 总结了一些项目中常用的东东,希望对初学TP的朋友有所帮助!  1. 模板中不能使用的标签 {$co ...

  3. python之加密

    import hashlib obj = hashlib.md5(bytes('adfasfasdfsfasf',encoding = 'utf-8')) obj.update(bytes('123' ...

  4. while if 循环判断

    temp=input("猜一下我想的那个数字吧:") guess=int(temp) while guess!=8: temp=input("诶呀错误了在输入一次吧:&q ...

  5. Python3 time()

    在<Python基础教程(第二版)>一书中, if time % 60 == 0 : print 'on the hour! '在3.3.2版本中显示错误.于是自己查了一下帮助文档,也在网 ...

  6. javascript content

    1. Chrome, Mozila, IE 2. jQuery, underscore, zepto 3. underscore 4. Backbone, AngularJS 5. RequireJS ...

  7. Tiling

    地址:http://poj.org/problem?id=2506 递推公式::f[x]=f[x-1]+f[x-2]*2 需要用到大数. #include<stdio.h> #includ ...

  8. Android NetWorkUtil

    package com.android.hcframe.netdisc.util; import java.io.BufferedReader; import java.io.InputStreamR ...

  9. 中国linux论坛

    linux在国内经过十多年的发展,已慢慢走向成熟.昔日如雨后春笋般成长的linux网站,现在已出现了明显的两极分化.一部分已成长壮大,公司化运作,一部分面临域名出售或关闭的境地.  以笔者经验,以下十 ...

  10. Linux日志文件系统(EXT4、XFS、JFS)及性能分析

    Ext4 ReiserFS Btrfs 等七种文件系统性能比拼 自上一篇<Ext2 v.s. Ext3 v.s. Ext4 性能比拼> 发布以来,社会各界纷纷来电来函,给出了“Ext4 我 ...