Web开发基础 :程序开发体系结构

asds随着网络技术的不断发展,单机的软件程序已难以满足网络计算的需要。为此,各种各样的网络程序开发体系结构应运而生。其中,运用最多的网络应用程序开发体系结构可以分为两种:

ddsdssdsdsdsdsd①、基于浏览器/服务器的B/S结构 ddsdsssdsd②、基于客户端/服务器的C/S结构。

asdsadadsdsdssdasdasdsadasdasdasdsadassdasdsadasdasdsadasdsadassadasdas————《JavaWeb从入门到精通》


程序开发体系结构

C/S体系结构

ssdssC/S是Cient/Server的缩写,即客户端/服务器结构。在这种结构中,服务器通常采用高性能的PC机或工作站,并采用大型数据库系统(如Oracle或SQL Server),客户端则需要安装专用的客户端软件。这种结构可以充分利用两端硬件环境的优势,将任务合理分配到客户端和服务器,从而降低了系统的通信开销。
在这里插入图片描述

B/S体系结构

ssdssB/S是Brower/Server 的缩写 ,即浏览器/服务器结构。在这种结构中,客户端不需要开发任何用户界面,通过 Web 浏览器向 Web 服务器发送请求,由 Web 服务器进行处理,并将处理结果逐级传回客户端。这种结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,从而节约了开发成本,是一种全新的软件体系结构。
在这里插入图片描述

两种体系结构的比较

ssdssC/S 结构和B/S 结构是当今世界网络程序开发体系结构的两大主流。目前,这两种结构都有自己的市场份额和客户群。但是,这两种体系结构又各有各的优点和缺点, 通过三个角度分析:

ssddss①、开发和维护成本方面:

ssddasssC/S 结构的开发和维护成本都比B/S高。 采用C/S 结构时,对千不同客户端要开发不同的程序,而且软件的安装、调试和升级均需要在所有的客户机上进行。如果将前面企业的C/S结构的软件换成B/S 结构的,这样在软件升级后,系统维护员只需要将服务器的软件升级到圾新版本,对于其他客户端,只要重新登录系统即可使用最新版本的软件。

ssddss②、客户端负载:

ssddasssC/S 结构的客户端不仪负责与用户的交互, 收集用户信息,而且还需要完成通过网络向服务器请求对数据库、电子表格或文档等信息的处理工作。由此可见,应用程序的功能越复杂,客户端程序也就越庞大,这也给软件的维护工作带来了很大的困难而B/S 结构的客户端把事务处理逻辑部分交给了服务器,由服务器进行处理,客户端只需要进行显示,这样,将使应用程序服务器的运行数据负荷较重。

ssddss③、安全性:

ssddasssC/S 结构适用用专人使用的系统, 可以通过严格的管理派发软件,达到保证系统安全的目的,这样的软件相对来说安全性比较高。而对于B/S 结构的软件,由于使用的人数较多,且不固定,相对来说安全性就会低些。

Web 应用程序的工作原理

ssdssWeb 应用程序大体上可以分为两种,即静态网站和动态网站。早期的Web 应用主要是静态页面的浏览,即静态网站。这些网站使用HTML 语言来编写,放在Web 服务器上,用户使用浏览器通过HTTP协议请求服务器上的Web 页面,服务器上的Web 服务器将接收到的用户请求处理后,再发送给客户端浏览器,显示给用户。
在这里插入图片描述

ssdss随着网络的发展,很多线下业务开始向网上发展,基于 Internet 的Web 应用也变得越来越复杂,用户所访问的资源已不能只是局限于服务器上保存的静态网页,更多的内容需要根据用户的请求动态生成页面信息,即动态网站。这些网站通常使用HTML 语言和动态脚本语言(如JSP 、ASP 或是PHP等)编写,并将编写后的程序部署到Web 服务器上,由Web 服务器对动态脚本代码进行处理,并转化为浏览器可以解析的HTML 代码,返回给客户端浏览器,显示给用户。
在这里插入图片描述
ssdss注:动态网页(不是带有动画效果的网页)是指具有交互性、内容可以自动更新,并且内容会根据访问的时间和访问者而改变。交互性是指网页可以根据用户的要求动态改变或响应。

ssdsseg:静态网站类似于10 年前研制的手机,这种手机只能使用出厂时设登的功能和铃声,用户自己并不能对其铃声进行添加和删除等;而动态网站则类似千现在研制的手机,用户在使用这些手机时,不再是只能使用机器中默认的铃声,而是可以根据自己的喜好任意设置。

Web 应用技术

ssdss在开发Web 应用程序时,通常需要应用客户端和服务器两方面的技术。其中,客户端应用的技术主要用于展现信息内容,而服务器端应用的技术,则主要用千进行业务逻辑的处理和与数据库的交互等。

ssdss客户端应用的技术:在进行Web 应用开发时,离不开客户端技术的支持。目前,比较常用的客户端技术包括 HTML 语言、CSS 、Flash 和客户端脚本技术。

ssddsss①、HTML 语言:HTML 语言是客户端技术的基础, 主要用于显示网页信息,由浏览器解释执行,它不需要编译。HTML 语言简单易用,它在文件中加入标签, 使其可以显示各种各样的字体、图形及闪烁效果,还增加了结构和标记,如头元素、文字、列表、表格、表单、框架、图像和多媒体等,井且提供了与Internet中其他文档的超链接。

ssddsdsss注:HTML语言不区分大小写,这一点与Java 不同。

ssddsss②、CSS:CSS 就是一种叫做样式表(Style Sheet) 的技术,也有人称之为层叠样式表(Cascading Style Sheet ) 。在制作网页时采用CSS 样式,可以有效地对页面的布局、字体、颜色、背景和其他效果实现更加精确的控制。只要对相应的代码做一些简单的修改,就可以改变整个页面的风格。CSS 大大提高了开发者对信息展现格式的控制能力。

ssddsdsss注:网页中使用CSS 样式不仅可以美化页面,而且可以优化网页速度.因为CSS 样式表文件只是笱单的文本格式,不需要安装额外的第三方插件。另外,由于CSS 提供了很多滤镜效果,从而避免使用大量的图片,这样将大大缩小文件的体积,提高下载速度.

ssddsss③、Flash:Flash 是一种交互式矢量动画制作技术,它可以包含动画、音频、视频以及应用程序,而且Flash文件比较小, 非常适合在Web 上应用。目前,很多Web 开发者都将Flash 技术引入到网页中,使网页更具表现力。特别是应用Flash 技术实现动态播放网站广告或新闻图片,并且加入随机的转场效果。

ssddsss④、客户端脚本技术:客户端脚本技术是指嵌入到Web 页面中的程序代码,这些程序代码是一种解释性的语言,浏览器可以对客户端脚本进行解释。通过脚本语言可以实现以编程的方式对页面元素进行控制,从而增加页面的灵活性。常用的客户端脚本语言有JavaScript 和VBScript 。目前,应用最为广泛的客户端脚本语言是JavaScript 脚本,它是Ajax 的重要组成部分。

服务器端应用的技术

ssdss在开发动态网站时,离不开服务器端技术,目前,比较常用的服务器端技术主要有CGI 、ASP 、PHP 、ASP.NET 和JSP。

ssddsssJSP:Java Server Page 简称JSP 。JSP 是以Java 为基础开发的,所以它沿用Java 强大的API 功能。JSP页面中的HTML 代码用来显示静态内容部分,嵌入到页面中的Java 代码与JSP 标记用来生成动态的内容部分。JSP 允许程序员编写自己的标签库来完成应用程序的特定要求。JSP 可以被预编译,提高了程序的运行速度。另外, JSP 开发的应用程序经过一次编译后,便可随时随地运行。所以在绝大部分系统平台中,代码无须做修改即可在支持JSP 的任何服务器中运行。

B/S体系结构

在这里插入图片描述

💖感谢各位的暴击三连~💖

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java 高级程序员需要掌握以下几个知识体系: 1. Java 语言基础:包括语法、数据类型、控制结构、面向对象编程等。 2. 集合框架:Java 的集合框架是 Java 编程中非常重要的一部分,要求高级程序员对其熟练掌握。 3. 多线程:Java 中的多线程编程对于开发高性能的程序是非常重要的,高级程序员需要掌握多线程的实现方法以及常见的线程问题。 4. IO 流:Java 中的 IO 流用于读写数据,是编写高效程序的必备技能。 5. 网络编程:Java 是一种网络编程的首选语言,高级程序员需要掌握网络编程的方法,以及如何创建客户端/服务器应用程序。 6. 数据库编程:Java 编程中,数据库编程是非常重要的一部分,高级程序员需要掌握如何使用数据库,以及如何使用 Java 进行数据库编程。 7. 设计模式:设计模式是高级程序员必备的知识,学习设计模式可以帮助编写出优秀、易维 ### 回答2: Java是一种跨平台的编程语言,在进行高级程序开发时,需要掌握一系列的知识体系。下面我将详细介绍Java高级程序员需要掌握的知识体系结构。 1. Java语言基础:学习Java语言的核心特性,包括基本语法、数据类型、运算符、流程控制、异常处理等。理解Java面向对象的特性,如封装、继承、多态等,同时熟悉Java内存管理和垃圾回收机制。 2. 数据结构与算法:掌握常见的数据结构,如数组、链表、栈、队列、树、图等,理解它们的原理和应用场景,并能够分析和解决常见的算法问题。 3. 多线程与并发:熟悉Java多线程编程,了解线程的生命周期、同步与互斥、线程安全等概念。掌握Java提供的线程相关的API和工具,能够编写高效、安全的多线程代码。 4. 网络编程:掌握Java网络编程的基本知识,包括Socket编程、TCP/IP协议、HTTP协议等。理解网络通信的原理,并能够开发基于网络的应用程序。 5. 数据库与持久化:熟悉关系型数据库的基本原理和常用操作,如SQL语句编写、事务控制、索引等。了解Java的持久化技术,如JDBC、Hibernate、MyBatis等,能够进行数据库的连接和操作。 6. 设计模式:熟悉常见的设计模式,如单例模式、工厂模式、观察者模式等,理解它们的应用场景和实现原理,能够根据需求选择和应用适当的设计模式。 7. 框架与中间件:熟悉常用的Java框架和中间件,如Spring、Spring MVC、Spring Boot、MyBatis等,能够利用这些框架快速开发高效、可维护的应用程序。 8. 性能调优与监控:掌握Java性能调优的基本方法和工具,能够定位和解决应用程序的性能瓶颈,并进行性能调优优化。了解监控工具的使用,能够进行应用程序的监控和故障排查。 总之,Java高级程序员需要具备扎实的Java语言基础,熟悉常用的开发工具和框架,同时还需要理解计算机基础知识和软件工程原理,能够设计和开发复杂的应用程序,并具备分析和解决实际问题的能力。 ### 回答3: Java高级程序需要掌握以下知识体系: 1. 面向对象编程(OOP):理解面向对象编程的基本概念、原则和思想,包括封装、继承和多态等概念。掌握类、对象、方法、属性、接口等概念和使用。 2. Java核心库:熟悉Java标准库的各个模块,如集合框架、多线程、输入输出、异常处理等。熟悉常用的类和接口,并能灵活运用它们解决问题。 3. 设计模式:掌握常见的设计模式,如单例模式、工厂模式、观察者模式等。了解它们的原理和应用场景,能够用设计模式来解决实际问题。 4. 数据库和SQL:熟悉数据库的基本概念和操作,了解SQL语言的基本语法。能够通过Java程序与数据库进行交互,实现数据的增删改查操作。 5. Web开发:掌握基本的前端开发技术,比如HTML、CSS、JavaScript等。熟悉Java Web开发的框架和技术,如Servlet、JSP、Spring MVC等。了解HTTP协议和前后端交互的原理。 6. 网络编程:理解网络编程的基本概念和原理,能够使用Java进行网络通信。了解TCP/IP协议、Socket编程等相关技术。 7. 并发编程:了解并发编程的基本概念和原理,能够正确地使用多线程和锁机制。熟悉Java中的线程池、同步工具等并发编程相关的类和接口。 8. 性能调优:了解性能调优的基本原则和方法,能够对Java程序进行性能分析和优化。熟悉Java中的性能调优工具和技术。 9. 安全性:了解Java程序安全性的相关知识,包括防止代码注入、数据加密等。理解常见的安全漏洞和攻击方式,并能够采取相应的安全措施。 10. 测试和调试:熟悉测试和调试的基本原则和方法,能够编写有效的单元测试和集成测试。熟练使用调试工具,能够快速定位和解决程序中的问题。 总结起来,Java高级程序员需要掌握面向对象编程、Java核心库、设计模式、数据库和SQL、Web开发、网络编程、并发编程、性能调优、安全性以及测试和调试等知识体系。这些知识体系构成了Java高级程序员的核心能力,能够帮助他们设计、开发和维护复杂的Java应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值