c/s和b/s两种开发模式

CS(Client/Server):客户端----服务器结构。

C/S结构在技术上很成熟,它的主要特点是交互性强、具有安全的存取模式、网络通信量低、响应速度快、利于处理大量数据。因为客户端要负责绝大多数的业务逻辑和UI展示,又称为胖客户端。它充分利用两端硬件,将任务分配到Client 和Server两端,降低了系统的通讯开销。C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。
  C/S 架构是一种典型的两层架构,其客户端包含一个或多个在用户的电脑上运行的程序,而服务器端有两种,一种是数据库服务器端,客户端通过数据库连接访问服务器端的数据;另一种是Socket服务器端,服务器端的程序通过Socket与客户端的程序通信。
  
BS(Browser/Server):浏览器----服务器结构

它是目前应用系统的发展方向。BS是伴随着Internet技术的兴起,对C/S架构的改进,为了区别于传统的C/S 模式,特意称为B/S模式。在这种结构下,通过W3浏览器来进入工作界面,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现,形成三层(3-tier)结构。这样使得客户端电脑负荷大大简化(因此被称为瘦客户端),减轻了系统维护、升级的支出成本,降低了用户的总体成本(TCO)。
  BS的主要特点是分布性强、维护方便、开发简单且共享性强、总体拥有成本低。但数据安全性问题、对服务器要求过高、数据传输速度慢、软件的个性化特点明显降低,难以实现传统模式下的特殊功能要求。它是瘦客户端,对大量的数据输入以及报表的应答等都需要通过浏览器与服务器进行交互,通信开销大,而且对于实现复杂的应用构造有较大的困难。

CS的优缺点

(1)优点:

●能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器,所以CS客户端响应速度快。
  ●操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。
  ●C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。

●安全性能可以很容易保证,C/S一般面向相对固定的用户群,程序更加注重流程,它可以对权限进行多层次校验,提供了更安全的存取模式,对信息安全的控制能力很强。一般高度机密的信息系统采用C/S结构适宜。
(2)缺点:
  ●需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。
  ●兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。
  ●开发、维护成本较高,需要具有一定专业水准的技术人员才能完成,发生一次升级,则所有客户端的程序都需要改变。。

●用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户,所以适用面窄,通常用于局域网中。

BS的优缺点

(1)优点:
  ●分布性强,客户端零维护。只要有网络、浏览器,可以随时随地进行查询、浏览等业务处理。
  ●业务扩展简单方便,通过增加网页即可增加服务器功能。
  ●维护简单方便,只需要改变网页,即可实现所有用户的同步更新。
  ●开发简单,共享性强。
(2)缺点:
  ●个性化特点明显降低,无法实现具有个性化的功能要求。
  ●在跨浏览器上,BS架构不尽如人意。
  ●客户端服务器端的交互是请求-响应模式,通常动态刷新页面,响应速度明显降低(Ajax可以一定程度上解决这个问题)。无法实现分页显示,给数据库访问造成较大的压力。
  ●在速度和安全性上需要花费巨大的设计成本。
  ●功能弱化,难以实现传统模式下的特殊功能要求。

小结:CS响应速度快,安全性强,一般应用于局域网中,但是开发维护成本高;BS可以实现跨平台,客户端零维护,但是个性化能力低,响应速度较慢。所以有些单位日常办公应用BS,在实际生产中使用CS结构。

在学jsp,之前了解了dotnet中c/s模式,现在学习b/s的模式的开发。
文章内容转载老师发的笔记,特此记下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/421091.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端学习(1032):jquery插件-瀑布流

1网址打开 下载插件 2引入css和js和html 3修改图片

实验2 操作系统的引导

操作系统的引导 实验目的 熟悉hit-oslab实验环境;建立对操作系统引导过程的深入认识;掌握操作系统的基本开发过程;能对操作系统代码进行简单的控制,揭开操作系统的神秘面纱。 实验内容 此次实验的基本内容是: 阅读《…

从Tom说JSP原理

第一次执行: 客户端通过电脑连接服务器,因为是请求是动态的,所以所有的请求交给WEB容器来处理在容器中找到需要执行的*.jsp文件之后*.jsp文件通过转换变为*.java文件.java文件经过编译后,形成.class文件最终服务器要执行形成的*.…

初识SolrJ开发, schema.xml的配置与服务初始化.

schema.xml位于solr/collection1/conf/目录下&#xff0c;是Solr中用户定义字段类型及字段的配置文件. Solr版本: 4.6.0 第一步: Schema.xml说明 实例schema.xml结构同solr/collection1/conf/schema.xml结构一致,具体配置通过注解已注明. <?xml version"1.0" enc…

实验3 编程、编译、链接、跟踪

本章的核心知识点在4.9节&#xff0c;王爽老师讲的特别清楚明白&#xff0c;多读几遍&#xff0c;跟着多做几遍&#xff0c;增加对底层的感觉&#xff1b; 本实验的目的是明白4.9节所讲的东西&#xff0c;具体点如下&#xff1a; 1&#xff0c;command&#xff0c;debug&…

Java动态查询

CODING COMING. // 组合模糊查询 根据年龄 和 姓名 模糊查询 学生。public List<Student> findTwo(int age, String name) {List<Student> list new ArrayList<Student>();StringBuffer sql new StringBuffer("select * from student where 1 1&quo…

前端学习(1033):jquery插件-图片懒加载

1下载插件 2html css和js引入 ctrlh 快速替换 必须最后插入

对自己有用的VS调试技巧

设置下一条语句编辑然后继续符号越界后查看堆对象查看数组的值底部设置下一条语句 返回顶部 一个典型的调试情况就是通过单步跟踪分析为什么一个函数调用失败了。当你发现一个函数调用的另一个函数返回错误的时候你会怎么做&#xff1f;重启调试&#xff1f;有更好的方法。拖动…

前端学习(1034):jquery插件-全屏滚动

fullpage.js 1下载插件 js css html 4引入

实验4 [bx]和loop的使用

(1) assume cs:codesgcodesg segmentmov ax, 0mov ds, axmov bx, 200H ;ds:bx数据区mov cx, 40hmov dl, 0 s: mov ds:[bx], dl ;dl中间变量inc bxinc dlloop smov ax, 4c00h int 21hcodesg ends end实验结果&#xff1a; &#xff08;2&#xff09; 考虑&#xff08;1&#…

面试 jsp转发和重定向

转发 HttpServletRequest 用法 req.getRequestDispatcher("studentServlet").forward(req, resp);重定向 HttpServletResponse 用法 resp.sendRedirect("studentServlet");区别 转发的主导权在服务器,重定向的主导权在客户端 转发可以用request传递数据…

好的API设计

[非原创&#xff0c;原文链接] API设计书籍下载&#xff1a; 1、keynote.pdf 2、api-design.pdf 最近在重构公司的一个交互中间件&#xff0c;在重新设计API及总体架构的时候思考了许多&#xff0c; 不禁萌发了一个疑问&#xff0c;什么样的API才算是一个设计良好的API呢&…

前端学习(1035):bootstrap-js插件1

1引入css和js 2复制html 组件 3运行之后得到下拉框

面试之JSP九大内置对象和JSP四大作用域

jsp 九大内置对象和其作用详解 JSP中一共预先定义了9个这样的对象&#xff0c;分别为&#xff1a;request、response、session、application、out、pagecontext、config、page、exception 1、request对象 request 对象是 javax.servlet.httpServletRequest类型的对象。 该对象…

实验5 编写、调试具有多个段的程序

本章实验的主题主要讲代码段、数据段、栈段的使用。 &#xff08;1&#xff09; assume cs:code, ds:data, ss:stackdata segmentdw 0123h, 0456h, 0789h, 0abch, 0defh, 0fedh, 0cbah, 0987h data endsstack segmentdw 0, 0, 0, 0, 0, 0, 0, 0 stack endscode segment start:…

[物理学与PDEs]第1章第6节 电磁场的标势与矢势 6.3 例 --- 电偶极辐射

1. 偶极子: 相距为 $l$, 带电量分别为 $\pm q$ 的一对电荷组成的系统. 称 $$\bex {\bf m}q{\bf l} \eex$$ 为电偶极矩, 其中 ${\bf l}$ 为 $-q$ 到 $q$ 的向量. 2. 取 ${\bf l}$ 为 $z$ 轴, 考虑偶极子的振动: $$\bex {\bf l}(t)l_0 e^{-i\omega t} {\bf e}_3. \eex$$ 则 (1) $…

前端学习(1036):bootstrap-js插件2

1大模态框 引入html 自己定义 2说明 就可以显示 js调用 script

实验6 实践课程中的程序

本实验书中已经有源码&#xff08;158页&#xff09;&#xff0c;稍微改动一下即可。本题中值得学习的地方就是用双重循环遍历二位数组&#xff0c;这在C语言中很简单&#xff0c;但是在汇编中要注意cx的在内外层循环之间的切换情况。 assume cs:codesg, ds:datasg, ss:stacksg…

字符流读取,乱码问题

碰到问题&#xff0c;字符流读取文本文件&#xff0c;读取输出&#xff0c;强转成char出现乱码问题。 题目 用流统计文本文件的字符个数 public static int getSum() {int count 0;BufferedReader br null;try {// 字节流转换为字符流&#xff0c; 设置编码。br new Buffere…

实验7 寻址方式在结构化数据访问总的应用

做本实验时明显感觉寄存器不够用&#xff0c;所以要对bx&#xff0c;si&#xff0c;di&#xff0c;bp的使用仔细阅读&#xff0c;本题比较琐碎&#xff0c;做本题更需要的是耐心&#xff0c;耐心&#xff0c;耐心。 assume cs:codedata segment db 1975,1976,1977,1978,1979,…