(这条文章已经被阅读了 257 次) 时间:2000-08-18 09:30:13 来源:黄浩文 (黄浩文) 原创-IT
前段时间有朋友告诉我,在美国硅谷会做两件事的人不愁没工作:
一是懂CISCO公司的网络技术;二则是会用JSP(Java Server Pages)编程。
JSP技术似乎天生就是针对电子商务网络的高效而跨平台实现而服务的,天生就具有一种革命性。正是者种天生的革命性,使得它一出生就受到无比的青睐,如今在硅谷JSP正如火如荼。而国内了解JSP技术的并不多,应用在自己的网站系统中的就更少。本文将有步骤地介绍JSP技术的特点,为中国的电子商务建设尽一些微薄之力。
JSP(Java Server Pages)是由Sun Microsystem公司于1999/6推出的新技术,是基于Java Servlet以及整个java体系的Web开发技术,是Servlet2.1 API的扩展。利用这一技术可以建立先进、安全和跨平台的动态网站。
JSP的结构与ASP非常相似。不过ASP一般只应用于Windows NT/2000平台,而JSP则可以不加修改地在85%以上的Web Server上运行,其中包括了NT的系统,符合”write once,run anywhere”的java标准。
J2EE(Java2 platform Enterprise Edition)是Sun为企业级应用建立的高水准的结构,获得了各大开发平台提供商的积极支持,并已成为企业应用开发的主流产品。JSP技术在J2EE平台上是一个关键性的组件。
因此可以说JSP已经并不仅仅是一种新的web技术了。
总的来讲,JavaSever PagesTM(JSP)和 微软的Active Sever Pages(ASP)在技术方面有许多相似之处。两者都是为基于WEB应用实现动态交互网页制作提供的技术环境支持。同等程度上来讲,两者都能够为程序开发人员提供实现应用程序的编制与自带组件设计网页从逻辑上分离的技术。而且两者都能够替代CGI使网站建设与发展变的较为简单与快捷。
尽管JavaSever Pages 技术和微软的Active Sever Pages在许多方面都有相似的,但仍然存在很多不同之处,其中最本质上的区别在于:两者是来源于不同的技术规范组织,其实现的基础:WEB服务器平台要求不相同。
一、 JSP 技术:开放的技术
JSP和ASP技术明显的不同点:开发人员在对两者各自软件体系设计的深入了解的方式不同。JSP技术基于平台和服务器的互相独立,输入支持来自广泛的,专门的,各种工具包,服务器的组件和数据库产品开发商所提供。相比之下,ASP技术主要依赖微软的技术支持。
1、 平台和服务器的独立性
JSP技术依附于一次写入,之后,可以运行在任何具有符合JavaTM语法结构的环境。取而代之过去依附于单一平台或开发商,JSP技术能够运行在任何WEB服务器上并且支持来自多家开发商提供的各种各样工具包。
由于ASP是基于Activex控件技术提供客户端和服务器端的开发组件,因此ASP技术基本上是局限于微软的操作系统平台之上。ASP主要工作环境是微软的IIS应用程序结构,又因Activex对象具有平台特性,所以ASP技术不能很容易地实现在跨平台的WEB服务器的工作。尽管ASP技术通过第三方提供的产品能够得到组件和服务实现跨平台的应用程序,但是Activex对象必须事先放置于所选择的平台中。
2、 开放的开发过程,开放的原代码
SUN应用JAVA社团性过程开发JSP技术。自从1995年,SUN已经用这种开放过程方法同国际JAVA组织合作开发和修改了JAVA技术与规范。针对JSP的产品,SUN授权了工具提供商(如Macromedia),结盟公司(如Apache,Netscape),最终用户,协作商及其他。最近,SUN将最新版本的JSP和JavaTM Servlet(JSP 1.1,JAVA SERVLET 2.2)的原代码发放给Apache,以求JSP与Apache紧密的相互发展。Apache,SUN和许多其他的公司及个人公开成立一个健壮的咨询机构以便任何公司和个人都能免费取得信息。(详见:http://jakarta.apache.org)
JSP应用程序界面(API)毫无疑问已经取得成功,并将随JAVA组织不断开放扩大继续完善。相反,ASP技术仅依靠微软本身的推动,其发展是建立在独占的,封闭的开发过程基础之上。
3、从开发人员的角度来看:ASP和JSP技术都能使开发者实现通过点击网页中的组件制作交互式的,动态的内容和应用程序的WEB站点。ASP仅支持组件对象模型COM,而JSP技术提供的组件都是基于JavabeansTM技术或JSP标签库。由此可以看出两者虽有相同之处,但其区别是很明显的。
1) JSP标签可扩充性
尽管ASP和JSP都使用标签与脚本技术来制作动态WEB网页,JSP技术能够使开发者扩展JSP标签得以应用,JSP开发者能定制标签库,所以网页制作者充分利用与XML兼容的标签技术强大的功能,大大减少对脚本语言的依赖。由于定制标签技术,使网页制作者降低了制作网页和向多个网页扩充关键功能的复杂程度。
2) JSP跨平台的可重用性
JSP的开发人员在开发过程中一直关注可重用性。JSP组件(企业JavabeansTM,Javabeans,或定制的JSP标签)都是跨平台可重用的。企业Javabeans组件可以访问传统的数据库,并能以分布式系统模式工作于UNIX和WINDOWS平台。JSP技术的标签可扩充功能为开发人员提供简便的,与XML兼容的接口即共享网页的打包功能使其完全的工业标准化。
这种基于组件的模式很有效提高应用程序的开发效率,因为这种模式能够使开发人员利用快捷的子组件快速创建模板应用程序,然后再整合一些附加功能以后便可使用。象这样有效的方法在JSP中无处不在,并可将其打包成一个Javabean或一个工业标准化的Javabean组件。
二、 JAVA的优越性
JSP技术是用JAVA语言作为脚本语言的,而ASP网页使用微软的VBScrip或Jscrip。JAVA是成熟的,强大的,易扩充的编程语言,远优于基于BASIC的脚本语言。如:JAVA的可执行性优于VBScript或Jscript语言。因为它们利用JAVA技术并且都被编译为JAVA Servlets,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。
JAVA使开发人员的工作在其他方面也变的一样容易,简单。例如,当ASP应用程序在WINDOWS NT系统被怀疑可能会崩溃时,JAVA能有效的防止系统的崩溃。JAVA语言通过提供防止内存的泄漏的方法,在内存管理方面也能大显身手。加之,JSP为应用提供了健壮的意外事件处理机制。
1、 易于维护性
基于JSP技术的应用程序比基于ASP的应用程序易于维护和管理。
脚本语言都能很好服务于小的应用程序,但不能适应大型的,复杂的应用程序。因为,JAVA是结构化的,它比较容易创建和维护庞大的,组件化的应用程序。
JSP突出的组件技术使修改内容而不影响逻辑或修改逻辑而不影响内容变得很容易实现。
企业级的Javabeans结构整合了企业逻辑,例如数据库的访问,安全,事务完整性,及独立性即独立于应用程序。
因为JSP技术是一种开放的,跨平台的结构,因此,WEB服务器,平台,及其他的组件能很容易升级或切换,且不会影响JSP基本的应用程序。这一特点使JSP能够适用现实世界的各种WEB应用程序不断的变化和发展。
、企业产品的多样性
JAVA2平台即企业版(J2EE)是适用于多企业应用程序的JAVA结构,作为J2EE的部分,JSP网页可访问所有J2EE的组件,包括Javabeans,企业级Javabeans及JAVA Servlets。JSP网页都能完全编译成为Servlets,所以它们都享有灵活性的特点和为服务器端JAVA应用程序。J2EE平台内容不仅包括管理复杂的企业应用程序而且包括事务管理技术和Pooling资源管理技术。
JSP网页可以访问标准的J2EE服务,包括:
* JAVA名称和目录界面API
* JDBCTM API(与关联的数据库通讯)
* JavaMailTM(支持基于JAVA邮件和消息应用程序的类)
*? JAVATM 消息服务
通过J2EE,JSP网页能够用许多方式同企业系统交互访问。J2EE支持两种CORBA规范的技术:JAVA IDL和RMI-IIOP。在企业级JAVABEANS技术支持下,JSP网页通过运用高级的,对象映射的方式访问数据库。
最终,因为JSP技术是基于JAVA的开放性过程的产品,因此它能够广泛支持不同提供商提供的工具,WEB服务器和应用程序的服务,这样能够使用户选择最佳的开发方法,选择最适应他们的应用程序开发的工具包,同时,有效地保护用户在代码和人员培训上的投资。
I agree. - tyro - 2000-08-18 09:39:38
Heared about it.
这是新闻还是新技术????!!!!!!?!?!?!?! - 易水寒 - 2000-08-18 10:27:09
@#%¥¥#&%^(×—&(×)+—%@#%!¥&%^(×—(×)+!@%¥#&%^(—^()&)&^(×)+ 什么呀
Re:JSP - 傻大象 - 2000-08-18 11:59:11
如果您用过Java, JDK, JavaBean, JSP, 如果留意SUN的一言一行,胸襟气度,市场策略 。。。 窃以为, JAVA/JSP/JBean要求程序员用C的编码技巧,VB的逻辑思维来开发,恰恰是反潮流而动,难成气候。 至于Sun,流着口水想在桌面系统,高端应用等市场分一杯羹,却没有IBM的大家风范,仅会扯着大旗对微软下毒手,真是可惜了Sun里面一大堆高手
Re:这是新闻还是新技术? - 黄浩文 - 2000-08-18 12:00:48
这是新技术. 但我要考虑如何通俗易懂地介绍比较专业的程序设计技术。 故第一篇省去了许多技术报告。 在后面的部分中会陆续展开介绍。
Re:I agree. - 浪子黑发 - 2000-08-18 13:32:56
黄浩文,你现在还在数据局上班吗?
Re:浪子黑发 - 黄浩文 - 2000-08-18 13:48:24
是。 任在为中国电信默默无闻地打工。 你呢? 一切可好?还是那么潇洒?
Re:I agree. - 浪子黑发 - 2000-08-18 16:12:04
见笑见笑,哪里称得上潇洒,不过孑然一身,了无牵挂而已。快开学了,正在暗暗叫苦怎么补那些丢了N年的课。无意中发现了这个论坛,就把以前写的一些玩艺放上来了。让内行人笑话了!
Re:浪子黑发 - 黄浩文 - 2000-08-18 20:31:56
为什么把“与IT无关”那个栏目给删除了? 写得很不错嘛,删去了真可惜。
Re:I agree. - 易水寒 - 2000-08-19 00:18:21
是呀。不要删的好。很多人喜欢