jsp与js的区别(新手必读)_第1页
jsp与js的区别(新手必读)_第2页
免费预览已结束,剩余3页可下载查看

下载本文档

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

文档简介

个人收集整理-ZQjsp与js的区别(新手必读)技术 是一种简单易用、完全面向对象、具有平台无关性且安全可靠的主要面向 的开发工具。自从 年正式问世以来, 的快速发展已经让整个 世界发生了翻天覆地的变化。随着 的推出, 在电子商务方面开始崭露头角,最新的 技术的推出,更是让 成为基于 的应用程序的首选开发工具。要学习 技术中的 , 基础是必不可少的,本书将在第章为没有 基础的读者简单讲解 的基础语法和 等,它们是在学习 之前必须掌握的 知识。这里,先回顾一下 的发展历程,然后讲解几个后面将要用到的重要概念。 什么是 ? 就是 的可重用组件技术。 通过 来扩充复杂的功能,如文件上载、发送 以及将业务处理或复杂计算分离出来成为独立可重复利用的模块。 通过 实现了同样的功能扩充。 对于在 应用中集成 组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为 应用带来了更多的可伸缩性。 组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。在实际的 开发过程中,读者将会发现,和传统的 或 页面相比, 页面将会是非常简洁的,由于 开发起来简单,又可以利用 语言的强大功能,许多动态页面处理过程实际上被封装到了 中。 是用于执行 语句的 应用程序接口,由一组用 语言编写的类与接口组成,在 中将使用 来访问数据库。 是一种规范,它让各数据库厂商为 程序员提供标准的数据库访问类和接口,这样就使得独立于 的 应用程序的开发工具和产品成为可能。一般的 开发工具都带有 桥驱动程序,这样,只要是能够使用 访问的数据库系统,也就能够使用 访问了。有趣的是,不同于 是 的简称, 并不是 的简称,而是 的注册商标,至少官方说法是这样的。 是 技术的基础,而且大型的 应用程序的开发需要 和 配合才能完成,这里简单介绍 的相关知识, 的开发将在第二部分讲述。 这个名称大概源于 ,现在国内的翻译方式很多,本书为了避免误会,决定直接采用 而不做任何翻译,读者如果愿意,可以称之为“小服务程序”。 其实和传统的 程序和 、 等 程序开发工具的作用是相同的,在使用 以后,用户不必再使用效率低下的 方式,也不必使用只能在某个固定 服务器平台运行的 方式来动态生成 页面。许多 服务器都支持 ,即使不直接支持 的 服务器也可以通过附加的应用服务器和模块来支持 。得益于 的跨平台的特性, 也是平台无关的,实际上,只要符合 规范, 是完全平台无关且是 服务器无关的。由于 内部是以线程方式提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此 效率非常高。但 也不是没有缺点,和传统的 、 、 方式相同, 是利用输出 语句来实现动态网页的,如果用 来开发整个网站,动态部分和静态页面的整合过程简直就是一场恶梦。这就是为什么 还要推出 的原因。 技术前面说过, 的最大缺点就在于没有把网站的逻辑和页面的输出分开,导致整个 代码混乱不堪。为了解决 的这种缺点, 推出了 。 技术概述按照脚本语言是服务于某一个子系统的语言这种论述, 应当被看作是一种脚本语言,然而,作为一种脚本语言, 又显得过于强大了,在 中几乎可以使用全部的 类。作为一种基于文本的、以显示为中心的开发技术, 提供了 的所有好处,并且,当与一个 类结合在一起时,提供了一种使内容和显示逻辑分开的简单方式。分开内容和显示逻辑的好处是,更新页面外观的人员不必懂得 代码,而更新 类的人员也不必是设计网页的行家里手,就可以用带 类的 页面来定义 模板,以建立一个由具有相似的外观的页面组成的网站。 类完成数据提供,这样在模板中就没有 代码,这意味着这些模板可以由一个 编写人员来维护。当然,也可以利用 来控制网站的逻辑,通过 调用 文件的方式来将网站的逻辑和内容分离。本章我们后面将对这种分离网站的逻辑和内容的设计方法做一些更深入的描述。在选择使用一个 ,还是一个 页面时,要记住的是, 是一个程序设计工具,它最适用于不需要频繁修改的低级应用功能; 而 页面则通过以显示为中心的描述性的方法将动态内容和逻辑结合在一起。对于使用一个 页面的简单的基于 的应用程序,可以使用定制标记或者 ,而不是使用 类来将内容与应用逻辑结合起来。定制标记被打包到一个标记库中,并被引入到一个 页面中。 是直接嵌入在 页面中的很小的 代码段。一般来说,在实际的 引擎中, 页面在执行时是编译式,而不是解释式的。解释式的动态网页开发工具如 、 等由于速度等原因已经满足不了当前大型电子商务应用的需要了,传统的开发技术都在向编译执行的方式改变,如 ; 。而尽管 的规范书中并没有要求实际的 引擎要使用编译式的执行方式,但估计一般是不会使用解释的方式来执行 页面的。通常说来, 页面一般是翻译为 的 源文件,再经过 编译器编译为 的 文件。为什么要编译为 呢?据说是为了让原先的 引擎可以直接服务于 ,而 引擎就仅仅需要将 转译为 就可以了。这里要注意的是: 规范书中并没有规定如何将 页面转译为 ,因此,不同的 引擎转译的结果也是不一样的。在 文件转译为 以后,每次客户机(通常是用户的 浏览器)向服务器请求这一个 文件的时候,服务器将检查自上次编译后 文件是否有改变,如果没有改变,就直接执行 ,而不用再重新编译,其效率是相当高的。一般来说, 文件的编译是在第一个用户访问到这个 页面时发生,而这第一个用户通常是开发人员自己,这样,正式放在服务器上让用户访问的 文件一般都已经有了对应的编译好的 了。许多服务器都有设置,可以使 文件在第一个用户访问之前就预先编译好,这样看来,效率就更高了。后面在第章中,将展示一个简单的 文件对应的 。在 规范书中,并没有明确要求 中的程序代码部分(称为 )一定要用 来写,实际上,有一些 引擎就是采用的其他脚本语言,如: 、 等等,但实际上这几种脚本语言也是构建在 上面,编译为 来实现的。按照 规范书,完全和 没有任何关系的 也是可以的,不过,由于 的强大功能主要在于能和 、 一起工作,所以即使是部分不使用,编译成的执行代码也应该是与相关的。 的优势及与其他 开发工具的比较和传统的 相比较, 有相当的优势。首先,在速度上,传统的 程序需要使用系统的标准输入输出设备来实现动态网页的生成,而 是直接和服务器相关联的。而且对于 来说,每一个访问就需要新增加一个进程来处理,进程不断地建立和销毁对于作为 服务器的计算机将是不小的负担。其次, 是专门为 开发而设计的,其目的是为了建立基于 的应用程序,包含了一整套的规范和工具。使用 技术可以很方便地将一大堆 页面组合成为一个 应用程序。和 和 相比较, 的开发速度要快得多,开发难度也要小得多,在编译为 以后,配合目前最新的 ( )的 解释器,其执行速度也慢不了多少。而且, 和 这种和 服务器过于紧密结合的技术在使用时的一旦出现错误,很容易使 服务器崩溃,而 就没有这个缺点。 的真正对手是 和 ,还有即将问世的 ,在 技术方面 、 和 的比较见表 。注意:这里的 指 . , 指 规范书 . 中指出的规范, 指 。表 、 、 的比较 服务器 、 等 、 、 、 等等运行平台 等各种 ( 、 、 、 等)、 组件技术 等 、 自定义 语法无无开放性无自由软件脚本语言支持 、 等 建立大型 应用程序可以不宜程序执行速度快极快学习难度低等低 管理有有统一的数据库连接有、 、 等无后缀名 、 、 . 服务器和运行平台 目前仅仅被支持于 ( )和 ( ),由于 和 仅仅有 下的版本,故 目前只能在 平台下使用。尽管有第三方的插件号称可以在 下使用 ,但对基于 组件技术的 来说,在没有 支持的 平台下只能是一个“玩具”。 仅仅是一个规范,尽管通过前面的论述可以得出 一般要用 来实现的论断,但作为跨平台的语言, 可以在许多平台下使用。这样, 也就显而易见的是跨平台的了。目前的 的确可以在多种 服务器和操作系统下使用。如 和 等。 是世界上占有率最高的 服务器产品,可以在包括 、 、 、 、 和 在内的许多操作系统下运行。 下 的实现可以通过免费的 和 、 实现,也可以使用商业的 ( )、 ( )、 ( )来实现。 本身不直接支持 ,但可以通过 、 、 来实现。还可以使用应用服务器添加 支持的 及由之发展而来的可以直接支持 的 等等。 本身就对各种操作系统和 服务器做了支持, 目前可以作为 的一个附加模块直接编译进入 中去,由于 支持多种操作系统, 相应地也就可以在各种操作系统上实现。 也可以 方式或 方式插入到 或 中去。. 组件技术 和 对组件技术的支持已经很完善了,而 直到前不久才开始支持 和 。但支持也不是很完善,如果 不能在将来完善对组件技术的支持,在大型 应用程序方面将很难与 和 竞争。但由于 技术本身的易学易用,加上众多的函数支持和开放源代码的特性,在中小型 站点的开发上, 还是会占有一席之地的。其实, 本身对于 和 并没有明显的优势, 的强大是因为其后面有强大的 技术做支持。包括 和 技术在内的 技术是 强大生命力的所在。 最新推出的 技术和 技术相比有了许多激动人心的进步,但是从企业级应用的角度看, 技术仍然有相当的优势。有理由认为,在将来的 开发中,中小型站点将出现 、 和 三分天下的局面,但是对于大型的电子商务站点, 及 技术将成为首选。简介 通过超文本( )和超媒体( )技术结合超链接( )的链接功能将各种信息组织成网络结构(),构成网络文档(),实现上的“漫游”。通过符号的描述就可以实现文字、表格、声音、图像、动画等多媒体信息的检索。然而采用这种超链技术存在有一定的缺陷,那就是它只能提供一种静态的信息资源,缺少动态的客户端与服务器端的交互。虽然可通过( )通用网关接口实现一定的交互,但由于该方法编程较为复杂,因而在一段时间防碍了技术的发展。而的出现,凝为网上用户带来了一线生机。可以这样说的出现是时代的需求,是当今的信息时代造就了。 的出现,它可以使得信息和用户之间不仅只是一种显示和浏览的关系,而是实现了一种实时的、动态的、可交式的表达能力。从而基于静态的页面将被可提供动态实时信息,并对客户操作进行反应的页面的取代。脚本正是满足这种需求而产生的语言。它深受广泛用户的喜爱的欢迎。它是众多脚本语言中较为优秀的一种,它与的结合有效地实现了网络计算和网络计算机的蓝图。无凝家族将占领网络的主导地位。因此,尽快掌握脚本语言编程方法是我国广大用户日益关心的。一、的历史谈到的历史,首先就得介绍网景()这家公司,相信很多人使用过浏览器来浏览网页,这家公司在设计浏览器的时候,一方面为了辅助本身发展的一种名为的程式,另一方面为了提高网页设计的互动性,所以发展了这个电脑语言。那和有什么关系呢?在发展的同时,另一家名为升阳()的公司也正在发展语言,为了辅助的网页程式方面的设计,所以这两家公司进行合作,共同发展语言,并且将语言改名为,这就是的由来。刚开始时仅应用在浏览器,不过随着使用制作网页的人愈来愈多,微软的浏览器也提供了新功能,现在可以在浏览器上看到的效果了。二、什么是是一种基于对象()和事件驱动( )并具有安全性能的脚本语言。使用它的目的是与超文本标记语言、 脚本语言(小程序)一起实现在一个页面中链接多个对象,与客户交互作用。从而可以开发客户端的应用程序等。它是通过嵌入或调入在标准的语言中实现的。它的出现弥补了语言的缺陷,它是与折衷的选择,具有以下几个基本特点:、是一种脚本编写语言是一种脚本语言,它采用小程序段的方式实现编程。像其它脚本语言一样同样已是一种解释性语言,它提供了一个易的开发过程。它的基本结构形式与、十分类似。但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行地解释。它与标识结合在一起,从而方便用户的使用操作。、基于对象的语言。是一种基于对象的语言,同时以可以看作一种面向对象的。这意味着它能运用自己已经创建的对象。因此,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。、简单性的简单性主要体现在:首先它是一种基于基本语句和控制流之上的简单而紧凑的设计, 从而对于学习是一种非常好的过渡。其次它的变量类型是采用弱类型,并未使用严格的数据类型。、安全性是一种安全性语言,它不允许访问本地的硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失。、动态性的是动态的,它可以直接对用户或客户输入做出响应,无须经过服务程序。它对用户的反映响应,是采用以事件驱动的方式进行的。所谓事件驱动,就是指在主页( )中执行了某种操作所产生的动作,就称为“事件”()。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。、跨平台性是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持的浏览器就可正确执行。从而实现了“编写一次,走遍天下”的梦想。实际上最杰出之处在于可以用很小的程序做大量的事。无须有高性能的电脑,软件仅需一个字处理软件及一浏览器,无须服务器通道,通过自己的电脑即可完成所有的事情。综合所述是一种新的描述语言,它可以被箝入到的文件之中。语言可以做到回应使用者的需求事件(如:的输入),而不用任何的网路来回传输资料,所以当一位使用者输入一项资料时,它不用经过传给伺服端()处理,再传回来的过程,而直接可以被客户端() 的应用程式所处理。 和 很类似,但到底并不一样! 是一种比 更复杂许多的程式语言,而 则是相当容易了解的语言。 创作者可以不那麽注重程式技巧,所以许多 的特性在 中并不支援。三、和的区别虽然与有紧密的联系,但却是两个公司开发的不同的两个产品。是公司推出的新一代向对象的程序设计语言,特别适合于应用程序开发;而是公司的产品,其目的是为了扩展 功能,而开发的一种可以嵌入页面中的基于对象和事件驱动的解释性语言, 它的前身是 ;而的前身是语言。下面对两种语言间的异同作如下比较:、基于对象和面向对象是一种真正的面向对象的语言,即使是开发简单的程序,必须设计对象。是种脚本语言,它可以用来制作与网络无关的,与用户交互作用的复杂软件。它是一种基于对象( )和事件驱动( )的编程语言。因而它本身提供了非常丰富的内部对象供设计人员使用。、解释和编译两种语言在其浏览器中所执行的方式不一样。的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须具有相应平台上的仿真器或解释器,它可以通过编译器或解释器实现独立于某个特定的平台编译代码的束缚。是一种解释性编程语言,其源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户编由浏览器解释执行。、的结构较为自由松散,譬如,程式中使用的变数前并不是需要明确的定义,而和正统的程式语言一样,结构较为严谨。例如:强变量和弱变量两种语言所采取的变量是不一样的。采用强类型变量检查,即所有变量在编译之前必须作声明。如 ; ;其中说明是一个整数,说明是一个字符串。中变量声明,采用其弱类型。即变量在使用前不需作声明,而是解释器在运行时检查其数据类型,如:;前者说明为其数值型变量,而后者说明为字符型变量。、代码格式不一样的代码是一种文本字符格式,可以直接嵌入文档中,并且可动态装载。编写文档就像编辑文本文件一样方便。并且必须编写在文件中,直接查看网页的原始码,就可以看到程式,所以没有保护,任何人都可以透过文件复制程式。是一种与无关的格式,必须通过像中引用外媒体那么进行装载,其代码以字节代码的形式保存在独立的文档中。应用在网页的程式称为 (是小程式的意思),是和文件分

温馨提示

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

评论

0/150

提交评论