Web应用的发展.ppt_第1页
Web应用的发展.ppt_第2页
Web应用的发展.ppt_第3页
Web应用的发展.ppt_第4页
Web应用的发展.ppt_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章Web应用的发展 Web应用程序也就是基于网页的应用程序 用户无需安装任何专用程序 只用浏览器来访问服务器 通过浏览网页就可以实现业务流程 相对于原来的客户端 服务器 C S 模式 这种新的程序开发模式称为浏览器 服务器 B S 模式 它是随着Internet技术的兴起 对传统结构的一种改进 Web应用的业务逻辑完全在应用服务器端实现 客户端只需要浏览器即可进行业务处理 是一种全新的软件系统构造技术 这种结构更成为当今应用软件的首选体系结构 1 1从静态网页说起 最开始的Web只是一个一个的站点 website 还不能称作应用程序 它们由很多静态网页堆积而成 内容更新只能通过修改网页本身来实现 静态网页是指没有后台数据库 不含程序 不可交互和不会有任何改变的网页 静态网页的内容变化只能通过重新编辑网页文件来实现 绝大部分静态网页是以htm或html结尾的html文件编写的 在程序设计中一般又把html网页称为静态网页 HTML是HypertextMarkupLanguage的缩写 中文也就是超文本链接标示语言 HTML文本是由HTML命令组成的描述性文本 HTML命令可以说明文字 图形 动画 声音 表格 链接等 1 2动态网页的鼻祖CGI 随着互联网的发展越来越多的应用程序也希望转移到Web上去 真正的Web应用开始出现 查询数据库 调用程序处理 发送电子邮件等等 必须要有动态网页才能满足用户的需求 最早的动态网页是CGI程序 CGI Commongateintergace 通用网关接口的简称 它是一段部署在服务器上的程序供同客户端的页面来调用的接口 通俗的讲CGI就像是一座桥把网页和Web服务器中的执行程序连接起来 当用户在浏览器端填好表单 form 要求输入的资料 提出HTTP请求后 Web服务器端将执行一个表单所设定的可执行的CGI应用程序 CGI程序分析表单 form 中所输入的资料 存取数据库 将查询执行的结果以HTML的格式返回给浏览器 CGI可以实现处理表格 据库查询 送电子邮件等许多操作 CGI使网页变得不是静态的 是交互式的 1 3三足鼎立 虽然CGI可以实现动态网页 但它还是基于传统的编程方式 尤其是不适合网页输出 网页的输出需要用大量的print语句来实现 开发者几乎无法从程序中看出最后输出的网页的是什么样 更无法使用网页编辑工具 程序设计人员与网页开发人员无法分工协助 于是替代CGI专为开发动态网页的语言出现了 目前最热门的有3种 ASP JSP和PHP 它们占据了Web应用的绝大部分市场 而且各有优势成了三足鼎立之势 1 3 1系出名门 ASP和ASP Net ASP是微软公司开发的代替CGI脚本程序的一种应用 ASP是ActiveServerPage的缩写 意为 活动服务器网页 ASP是在服务器端运行的 可以用来创建和运行动态网页或Web应用程序 ASP网页可以包含HTML标记 普通文本 脚本命令以及COM组件等 利用ASP可以向网页中添加交互式内容 如在线表单 也可以创建使用HTML网页作为用户界面的Web应用程序 ASP在外表上看起来仍然是一个HTML文件 只是在需要变化的部分加入的了一些ASP特有的脚本 这些脚本又称为ASPBean 1 3 2草根中走出的巨人 PHP PHP是 HypertextPreprocessor 超级文本预处理语言 的缩写 PHP是一种开放源代码的脚本编程语言 与ASP和JSP一样都是一种在服务器端执行的嵌入HTML文档的脚本语言 也需要在容器中运行 语言的风格有类似于C语言 现在被很多的网站编程人员广泛的运用 PHP独特的语法混合了C Java Perl以及PHP自创新的语法 PHP具有非常强大的功能 所有的CGI或者JavaScript的功能PHP都能实现 而且支持几乎所有流行的数据库以及操作系统 从一开始PHP就开源项目的面孔出现 PHP成功的两大秘诀 第一条就是简单 为编程者提供最大的便利 第2条就是 Community 强大的社区 众多的个人参与者对PHP的发展提供了非常大的帮助 所以PHP被戏称为草根语言 以上特点使PHP也有相当多的支持者 PHP的最新版本PHP5也进入的面向对象语言的特性 在Web应用开发领域是微软ASP SUN的JSP有一个有利的竞争者 1 3 3来自Java阵营 JSP和J2EE JSP JavaServerPages 是由Sun公司倡导 许多公司参与一起建立的一种动态网页技术标准 JSP技术有点类似ASP技术 它是在传统的HTML文件中插入Java程序段 Scriptlet 和JSP标签 tag 从而形成JSP文件 文件扩展名就是 jsp JSP技术使用Java编程语言编写类 标签和Scriptlets 来封装产生动态网页的处理逻辑 网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑 JSP将网页逻辑与网页设计和显示分离 支持可重用的基于组件的设计 使基于Web的应用程序的开发变得迅速和容易 最重要的是因为JSP由Java语言编写 可以说JSP的跨平台能力是与生俱来的 JSP也需要自己的运行环境 称为JSP服务器或者JSP容器 目前流行的JSP服务器有开源项目Apache Tomcat JBoss和厂商提供产品的weblogic webshpere等等 1 3 3来自Java阵营 JSP和J2EE J2EE框架 是开放的 是一组技术规范和指南 可以由不同的厂商来实现 包含的各类组件 服务架构及技术层次 均有共通的标准及规格 让各种依循J2EE架构的不同平台之间存在良好的兼容性 组件 Servlet java平台上的CGI 在服务器端运行 Jsp 普通静态HTML和动态页面输出混合编码技术 EJB 一组可重用组件 建立分布式应用 JDBC 标准sql数据库访问接口 用标准JavaAPI来编写数据库应用程序JNDI 组件客户使用者定位各种对象 以便使用组件和资源 如EJBJTA 处理事务的标准接口 支持事务的开始 回滚 提交 Jax RPC 可以将java类或者java应用重新包装 并以webservice的形式发布 为用户包装了web服务的部署和实现 1 4模型 视图 控制器 MVC 设计模式是一套被反复使用 多数人知晓的 经过分类编目的 代码设计经验的总结 MVC正是这样的一个设计模式 它强制性的使应用程序的输入 处理和输出分开 在Web应用中MVC模式被极广泛才采用 几乎所有的设计人员都或多或少的要遵循或者参考MVC模式 1 4 1MVC简介 MVC本来是存在于桌面应用程序中 M model 是指数据模型 V View 是指用户界面 C Control 则是控制器 使用MVC的目的是将M和V的实现代码分离 从而使同一个程序可以使用不同的表现形式 后来MVC被借用到Web应用开发中去 发现更能发挥它的威力 最后被Sun公司推荐为J2EE平台的一个经典模式 模式并不局限与某种语言 MVC模式在 NET和PHP中同样有其实现方法 模型 视图与控制器的分离 使得一个模型可以具有多个显示视图 如果用户通过某个视图的控制器改变了模型的数据 所有其它依赖于这些数据的视图都应反映到这些变化 因此 无论何时发生了何种数据变化 控制器都会将变化通知所有的视图 导致显示的更新 这实际上是一种模型的变化 传播机制 模型 视图 控制器3者之间的关系和各自的主要功能 1 4 2MVC的组成部分 视图 View 代表用户交互界面 对于Web应用来说就是HTML界面 随着应用的复杂性和规模性 界面的处理也变得具有挑战性 一个应用可能有很多不同的视图 MVC设计模式对于视图的处理仅限于视图上数据的采集和处理 以及用户的请求 而不包括在视图上的业务流程的处理 业务流程的处理交予模型 Model 处理 比如一个订单的视图只接受来自模型的数据并显示给用户 以及将用户界面的输入数据和请求传递给控制和模型 模型 Model 就是业务流程 状态的处理以及业务规则的制定 控制 Controller 可以理解为一个分发器 他来决定选择什么样的模型 选择什么样的视图 可以完成什么样的用户请求 控制层并不做任何的数据处理 1 4 3MVC带来的好处 既然所有的模式是经典代码的总结 是经过反复验证的经验 那么MVC模式也一定有很多优势 下面分析MVC到底带来了哪些好处 大部分Web应用程序是用ASP PHP或者JSP开发出来 它们将像数据库查询语句这样的程序代码和像HTML这样的表示层代码混在一起 经验比较丰富的开发者会将数据从表示层分离开来 但这通常比较困难 尤其是维护他人编写的已有代码 MVC从根本上强制性的将它们分开 最大程度上实现了程序代码与网页的分离 多个视图能共享一个模型 现在需要用越来越多的方式来访问你的应用程序 对此 其中一个解决之道是使用MVC 无论你的用户想要Flash界面或是WAP界面 用一个模型就能处理它们 由于数据和业务规则从表示层分开 所以可以最大化的重用代码 1 5Ajax的兴起 J2EE和 NET等框架使服务器端的设计和开发有了很大的发展 而用户界面的改善却一直比较滞后 总是一个网页转向另一个网页 强制用户进入提交 等待 重新显示的范例 用户的动作总是与服务器的 思考时间 同步 而Ajax的出现极大的丰富了用户体验 出现时间不长其影响却非常之大 这里不得不提到Google Google是Ajax的推广者也是实践者 他的产品中大量使用了Ajax 同时也提供了很好的Ajax的开发包 为Ajax的兴起了很大作用 1 5 1什么是Ajax Ajax不是一种新技术 实际上它由几种蓬勃发展的技术以新的强大方式组合而成 Ajax包含 1 基于XHTML和CSS标准的表示 2 使用DocumentObjectModel进行动态显示和交互 3 使用XML和XSLT进行数据交换与处理 4 使用XMLHttpRequest与服务器进行异步通信 5 使用JavaScript绑定一切 Ajax是由JesseJamesGarrett创造的 他说它是 AsynchronousJavaScript XML 异步JavaScript和XML 的简写 1 5 2Ajax的工作原理 Ajax的核心是JavaScript对象XmlHttpRequest 该对象在InternetExplorer5中首次引入 它是一种支持异步请求的技术 简而言之 XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应 而不阻塞用户 如图展示了Ajax页面与后台交互的过程与传统页面刷新模式的不同 1 5 2Ajax的工作原理 Ajax的实现分为三步 P10 1 获取XMLHttpRequest对象 2 向服务器发送请求url 3 用回调函数处理服务器返回的结果 1 5 3Ajax的优势所在 Ajax引擎读取信息 并且互动地重写网页 这使网页能无缝化更新 也就是在页面已经下载完毕后改变页面内容 这不仅仅是网页内部的互动还可以从外部获取数据 在以前只能有用户来输入数据提交并刷新网页 但现在使用XMLHTTPRequest可以不重

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论