Java技术学习笔记:C/S 与B/S 区别

C/S 是Client/Server 的缩写,是客户机与服务器结构的应用程序,服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix 或SQL Server。客户端需要安装专用的客户端软件。

B/S是Brower/Server 的缩写,是浏览器和服务器结构的应用程序,即Web 应用程序,客户机上只要 安装一个浏览器(Browser),如Netscape Navigator 或InternetExplorer,服务器安装Oracle、Sybase、Informix 或SQL Server 等数据库。在这种结构下,用户界面完全通过WWW 浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器通过Web Server 同数据库进行数据交互。

 

其主要区别如下:

1)硬件环境不同:

C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务;B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租用设备. 信息自己管理. 有比C/S 更强的适应范围, 一般只要有操作系统和浏览器就行;

2)对安全要求不同:

C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强. 一般高度机密的信息系统采用C/S 结构适宜. 可以通过B/S 发布部分可公开信息;B/S 建立在广域网之上, 对安全的控制能力相对弱, 可能面向不可知的用户;

3)对程序架构不同:

C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可以较少考虑;B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上.比C/S 有更高的要求B/S 结构的程序架构是发展的趋势, 从MS 的.Net 系列的BizTalk 2000 Exchange 2000 等, 全面支持网络的构件搭建的系统. SUN 和IBM 推的JavaBean 构件技术等,使B/S 更加成熟;

4)软件重用不同:

C/S 程序可以不可避免的整体性考虑, 构件的重用性不如在B/S 要求下的构件的重用性好;B/S 对的多重结构,要求构件相对独立的功能. 能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子;

5)系统维护不同:

C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统;B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级;

6)处理问题不同:

C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统;B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S 无法作到的. 与操作系统平台关系最小;

7)用户接口不同:

C/S 多是建立的Window 平台上,表现方法有限,对程序员普遍要求较高;B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本;

8)信息流不同:

C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低;B/S 信息流向可变化, B-B B-C B-G 等信息、流向的变化, 更像交易中心。

为了让学习变得轻松、高效,今天给大家免费分享一套Java入门教学资源。帮助大家在成为Java架构师的道路上披荆斩棘。需要资料的欢迎加入学习交流群:9285,05736

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

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

相关文章

学习Java编程equals()和hashCode()方法

equals()和hashCode()区别? equals():反映的是对象或变量具体的值,即两个对象里面包含的值--可能是对象的引用,也可能是值类型的值。 hashCode():计算出对象实例的哈希码,并返回哈希码,又称为…

Java技术依然备受追捧,主要学习内容有哪些?

Java技术依然备受追捧,主要学习内容有哪些?Java 语言是一门随时代快速发展的计算机语言程序,其深刻展示了程序编写的精髓,加上其简明严谨的结构及简洁的语法编写为其将来的发展及维护提供了保障。 在众多的主流编程语言中&#x…

六本JAVA架构书,构建科学得架构知识体系

今天把我看过的 6 本架构方面的书都推荐给大家,总有一本满足你的需要。 1. 《大型网站技术架构:核心原理与案例分析》 这是比较早,比较系统介绍大型网站技术架构的书,通俗易懂又充满智慧,即便你之前完全没接触过网站开…

最难学的十大编程语言,Java排第二,它竟是第一名!

开发者经济分析公司 SlashData 曾发布了《 2018 年第 2 季度各国开发者状况》调查报告,共有 167 个国家的 20500 多名开发者参与其中。 报告面向全球所有类型的程序员,对使用每种主要编程语言的活跃开发者数量进行了最新的估计。其中,JavaSc…

java编程中的持有对方引用是什么意思?有什么作用?

持有对方引用比如 A类有: h、j、 k, 3种方法,B类有 h 1种方法,但我B类必须要用到 A 类的 k方法怎么办呢?那么下面就要引入引用了!我在 B 类中创建个A类的引用,例如 如果在同一包下就不用导包了 …

Java学习之数据库中的范式和反范式

范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。数据库的设计范式是数据库设计所需要满足的规范。只有理解数据库的设计范式,才能设计出高效率、优雅的数据库,否则可能会设计出错误的数据库。 反范式&…

Java开发中如何用JDBC连接起数据库?

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口&…

Java程序员最值得学习的10大技术

程序员们是最具有挑战性的工作,我们最大的挑战就是保持自己了解新的技术。技术变化很快,你大概每两年就会看到一个新版本的编程语言和框架。 就拿2017年来说,AR、VR、区块链、人工智能等等已经扑面而来了。除了这些离我们较远的,说几个离我们…

Java开发环境搭建详细步骤

安装JDK 首先下载jdk进官网下载jdk 选择相应的系统。 一键安装即可。 安装后会有两个jre,一个jdk内部的,和jdk外部的 关于两套jre的解释 一个jre文件在JDK的外部,一个jre文件在JDK内部,这就是所谓的专用JRE和公用JRE 专用 J…

这样学习JAVA 基础才能又快又稳!

微服务架构 企业和服务提供商正在寻找更好的方法将应用程序部署在云环境中,微服务被认为是未 来的方向。通过将应用和服务分解成更小的、松散耦合的组件,它们可以更加容易升级和扩展。 目前, 越来越流行的微服务技术是需要大家重视的。Spri…

Java设计模式之外观模式

外观模式是为了解决类与类之家的依赖关系的,像spring一样,可以将类和类之间的关系配置到配置文件中,而外观模式就是将他们的关系放在一个Facade类中,降低了类类之间的耦合度。 外观模式提供了一个统一的接口,用来访问…

Java编程初学者看什么书籍比较合适?

每次看到网上有很多想学习Java技术的小伙伴都在寻找一些书籍和视频,作为一个初学者,Java编程初学者 看什么样的书籍比较适合较适合呢?或者说,如何才能轻松入门又能深入学习呢?当然了这不是一本书就能解决的事。小编分享一下《Java核心技术》…

java开发,年薪15W的和年薪50W的差距

在这个IT系统动辄就是上亿流量的时代,Java作为大数据时代应用最广泛的语言,诞生了一批又一批的新技术,包括HBase、Hadoop、MQ、Netty、SpringCloud等等 。 一些独角兽公司以及腾讯、阿里、百度、网易等知名大厂对Java人才的需求量连年升级&a…

主流java框架理解

小编说一下分布式管理事务 简单的来说呢,分布式事务其实就是一次大的操作分成了好的小的操作,这些小的操作分别部署在不同的服务器上,而且属于不同的应用,分布式的事务其实就是保证这些小的事务要么都成功,要么都失败…

java中的多线程的示例

在讨论多线程之前,让我们先讨论线程。线程是进程中轻量级的最小部分,可以与同一进程的其他部分(其他线程)并发运行。线程是独立的,因为它们都有独立的执行路径,这就是为什么如果一个线程中发生异常,它不会影响其他线程…

几个改变世界的java工具

Java的开源生态系统强大而健康,这是我们创建OSCON Java的主要原因之一。在过去的十年中,有几个项目已经超越了简单的采用,并在Java世界中发挥了主导作用,进入了软件开发的一般领域,有些甚至深入到用户的日常生活中。 …

java网络篇-tcp的握手和挥手!

package com.wql.test; public class Test6 { public static void main(String[] args) { test1(ErrorType.ERROR_2); } public static void test1(ErrorType type){ switch(type){ case ERROR_1: System.out.println("参数type"type",value"type.…

java enum枚举使用例子

package com.wql.test; public class Test6 { public static void main(String[] args) { test1(ErrorType.ERROR_2); } public static void test1(ErrorType type){ switch(type){ case ERROR_1: System.out.println("参数type"type",value"type.…

经典Java编程面试题分析

求职者参加企业面试是进入职场的一个必经阶段,企业的面试官一般都用哪些问题来考求职者呢?不少求职人员认为,面试官提题出的问都是随机的,没有一定的规律。其实面试官基于想多方面了解面试者的情况下,会通过特定的提问…

Java高级架构师需要掌握什么?

没有谁能够随随便便的就成功,也没有谁能够随随便便就成为一名高级Java架构师。在Java行业中,如果按照排序,Java架构师一定是排在最顶端的,所以成为高级Java架构师,也是得有高超的Java技能,并且还得有着一定…