【Java】Java、JavaScript、JSP、JScript,傻傻分不清楚

不怕大家笑话,曾经在大学期间就做过**一次**web相关的工作,也就是自己《软件工程》的项目作业,初步接触了一些CSS+DIV的工作。但是依然不是很深入,都称不上前端工作,因为js是小组内其他成员负责调的,自己最多算做了一点网页重构的工作吧。每次和朋友稍微谈一下网页,发现自己把很多名次都搞混了,其中一直没有去解决的就是JSP和JS的差别。每次和朋友说,你网站前端是用JSP写的吗,他说是用JS,我说不是JSP吗,然后就被朋友严厉的纠正了。

说起来自己也low,本科接触了太多科研项目,web开发这些东西还真的被放在了角落没去动。前不久申请了自己的域名,找万网申请到了免费的服务器(虽然鸡肋),接下来准备好好地学下前端了。

毕业设计本来是自己选题,结果被系主任安排了和外国友人进行合作。之后外国友人就带来了他们学校的题目,一看竟然只是他们的课程设计——做一个学习网站。好吧,我主动揽下了前端的工作,多多少少逼迫着自己去好好学吧,哈哈哈。

言归正传,在网上查了很多关于JS、JSP的解释,还有一些JAVA常用包的详细讲解,觉得很有用,于是整理如下了。

1,JavaScript(JS)

JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。使用它的目的是与HTML超文本标记语言、Java 脚本语言(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用。从而可以开发客户端的应用程序等。它是通过嵌入或调入在标准的HTML语言中实现的。它的出现弥补了HTML语言的缺陷,它是Java与HTML折衷的选择,具有以下几个:

基本特点:

1、是一种脚本编写语言
JavaScript是一种脚本语言,它采用小程序段的方式实现编程。像其它脚本语言一样,JavaScript同样已是一种解释性语言,它提供了一个易的开发过程。它的基本结构形式与C、C++、VB、Delphi十分类似。但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行地解释。它与HTML标识结合在一起,从而方便用户的使用操作。

2、基于对象的语言。
JavaScript是一种基于对象的语言,同时以可以看作一种面向对象的。这意味着它能运用自己已经创建的对象。因此,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。

3、简单性
JavaScript的简单性主要体现在:首先它是一种基于Java基本语句和控制流之上的简单而紧凑的设计, 从而对于学习Java是一种非常好的过渡。其次它的变量类型是采用弱类型,并未使用严格的数据类型。

4、安全性
JavaScript是一种安全性语言,它不允许访问本地的硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失。

5、动态性的
JavaScript是动态的,它可以直接对用户或客户输入做出响应,无须经过Web服务程序。它对用户的反映响应,是采用以事件驱动的方式进行的。所谓事件驱动,就是指在主页(Home Page)中执行了某种操作所产生的动作,就称为“事件”(Event)。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。

6、跨平台性
JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可正确执行。从而实现了“编写一次,走遍天下”的梦想。实际上JavaScript最杰出之处在于可以用很小的程序做大量的事。无须有高性能的电脑,软件仅需一个字处理软件及一浏览器,无须WEB服务器通道,通过自己的电脑即可完成所有的事情。

综合所述JavaScript是一种新的描述语言,它可以被箝入到HTML的文件之中。JavaScript语言可以做到回应使用者的需求事件(如:form的输入),而不用任何的网路来回传输资料,所以当一位使用者输入一项资料时,它不用经过传给伺服端(server)处理,再传回来的过程,而直接可以被客户端(client) 的应用程式所处理。

JavaScript 和 Java 很类似,但到底并不一样! Java 是一种比JavaScript 更复杂许多的程式语言,而 JavaScript 则是相当容易了解的语言。

JavaScript 创作者可以不那麽注重程式技巧,所以许多 Java 的特性在 Java Script 中并不支援。

2,JSP

Java Servlet是JSP技术的基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成,这里简单介绍Servlet的相关知识,Servlet的开发将在第二部分讲述。

Servlet这个名称大概源于Applet,现在国内的翻译方式很多,本书为了避免误会,决定直接采用Servlet而不做任何翻译,读者如果愿意,可以称之为“小服务程序”。Servlet其实和传统的CGI程序和ISAPI、NSAPI等Web程序开发工具的作用是相同的,在使用Java Servlet以后,用户不必再使用效率低下的CGI方式,也不必使用只能在某个固定Web服务器平台运行的API方式来动态生成Web页面。许多Web服务器都支持Servlet,即使不直接支持Servlet的Web服务器也可以通过附加的应用服务器和模块来支持Servlet。得益于Java的跨平台的特性, Servlet也是平台无关的,实际上,只要符合Java Servlet规范, Servlet是完全平台无关且是Web服务器无关的。由于Java Servlet内部是以线程方式提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此Java Servlet效率非常高。

但Java Servlet也不是没有缺点,和传统的CGI、ISAPI、NSAPI方式相同,Java Servlet是利用输出HTML语句来实现动态网页的,如果用Java Servlet来开发整个网站,动态部分和静态页面的整合过程简直就是一场恶梦。这就是为什么SUN还要推出Java Server Pages的原因。

3,JavaScript与Java的联系和区别

JavaScript与Java的语法比较相似,但这种相似与C和Java的语法相似是一样的。但并不是JavaScript的这个Java前缀表达了JavaScript与Java之间某种包含或被包含的关系,JavaScript并不是Java的一个子集。事实上,完全可以说这两种语言完全不相干,就好像C和Java也可以认为互不相干一样。

Java的历史沿革和语法特征众所周知,很多的教材和技术工具书都有详细的介绍。而JavaScript的历史则是追溯到一个名为Cmm的语言,它的标准特性来源于Cmm而不是Java或标准C。JavaScript的创造者是Brendan Eich,最早的版本在NetScapt2中实现,其最初的名字是Mocha。Java语言则是Sun公司的杰作。

尽管JavaScript和Java完全不相干,但从某种程度上是很好的搭档。JavaScript可以控制浏览器的行为和内容,但是却不能绘图和执行连接。而Java虽然不能在总体上控制浏览器,但却可以绘图,执行连接和多线程。客户端的JavaScript可以和嵌入网页的Java Applet进行交互,并且能够对它执行控制。从这一意义上说,JavaScript脚本化了Java。在网页中用javascript这个东西很不好的,最好不用,特别是SSH轻量级框架和架构主流天下的今天,如果在.jsp文件中脚本化java,即用JavaScript就像我在前一篇博文中所述的那样,除非是高手,而且阅读你文章的也是高手。我不是高手,所以我曾经晕过。

4,JavaScript和JSP的区别和联系

1、JSP全称是java server page JS全称是javaScript;

2、最主要的区别是运行位置不同。JSP运行在后台服务器上,混合在HTML中的java程序段用于控制HTML的动态生成,并且通常负责调用后台数据库中的数据,形成能够根据使用情况的变化的,具有丰富数据交互效果的页面。

JavaScript 通常是运行在前台,即运行于用户浏览器的,通常不需要服务器的后台支持(AJAX交互例外),混合在HTML中的JavaScript脚本程序直接被浏览器解释执行,以提高页面的美观性和UI操作响应速度为基本目标。

3、JSP在HTML中用<%%>里面实现。JS在html中用<Script>… </Script>实现。

JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

JavaScript是由浏览器解释执行的程序代码,它是网页内容的一部分,主要用于在网页上产生动态的显示效果和实现与用户的交互功能。JSP程序则是由WEB服务器解释执行的程序代码,它用于产生供浏览器显示的网页内容。由于JavaScript代码属于网页的内容部分,所以,JavaScript代码也可以通过JSP页面输出。JavaScript和JSP的关系犹如HTML代码和JSP的关系,即JavaScript代码是JSP程序输出的一段可以被浏览器解释执行的特殊文本内容。只要先写好一个包含有JavaScript代码的网页文档,然后将这个网页文档的内容改为用JSP程序输出。

4,JScript

看看百度百科的定义:
JScript 是 Microsoft 公司对 ECMA 262 语言规范(ECMAScript 编辑器 3)的一种实现。除了少数例外(为了保持向后兼容),JScript 完全实现了 ECMA 标准。JScript 是一种解释型的、基于对象的脚本语言。尽管与 C++ 这样成熟的面向对象的语言相比,JScript 的功能要弱一些,但对于它的预期用途而言,JScript 的功能已经足够大了。

JScript 不是其他语言的精简版(例如,它只是与 Java 有点模糊而间接的关系),也不是任何事物的简化。不过,它有其局限性。例如,您不能使用该语言来编写独立运行的应用程序,并且没有对读写文件的内置支持。此外,JScript 脚本只能在某个解释器或“宿主”上运行,如 Active Server Pages(ASP)、Internet 浏览器或者 Windows 脚本宿主。

JScript 是一种宽松类型的语言。宽松类型意味着您不必显式定义变量的数据类型。事实上 JScript 更进一步。您无法在JScript上明确地定义数据类型。此外,在大多数情况下,JScript 将根据需要自动进行转换。例如,如果将一个数值添加到由文本组成的某项(一个字符串),该数值将被转换为文本。

JScript 8.0 是 Microsoft 实现 ECMA 262 语言的新一代版本。通过将先前版本的 JScript 功能集与基于类的语言的最佳功能相结合,JScript 8.0 包含了这两个领域的精华。JScript 8.0 的改进内容(正在结合 ECMAScript 第 4 版开发研制)包括:真正的编译代码、类型化和无类型变量、后期和早期绑定、类(具有继承、函数重载、属性访问器,等等)、包、跨语言支持,以及对 .NET Framework 的完全访问。

由此,JScript是微软的产品,而JavaScript则是网景公司的产品。JavaScript刚出来时还没有JScript,当时JavaScript很火.微软很看不过眼.所以就出了一个自已的脚本语言,命名为JScript.在当时的这二种脚本语言中语法是大相径庭,给当时的程序员带来很大的麻烦..

后来W3C出面了,W3C统一了标准,所以现在的这二种脚本语言的语法可以说90%以上都是相同。


只整理了一些重点出来,加深自己印象。
详细的请参考:
http://www.aichengxu.com/view/65401
http://blog.csdn.net/skyboy11yk/article/details/9769603
http://developer.51cto.com/art/200907/140294.htm


  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值