[摘要]JSP引擎搭建起来后就可以着手使用开发工具进行JSP的编程了,现下流行的JSP开发工具主要有IBM VisualAge,JBuilder,NetBeans,JRun,Urledit,dreamweaver,editplus等,这里我们主要介绍IBM VisualAge,JBuilder, Jrun...
JSP引擎搭建起来后就可以着手使用开发工具进行JSP的编程了,现下流行的JSP开发工具主要有IBM VisualAge,JBuilder,NetBeans,JRun,Urledit,dreamweaver,editplus等,这里我们主要介绍IBM VisualAge,JBuilder, Jrun三种工具的一些基本情况,大家可以参照其各自的特点,结合自身开发环境进行开发工具的选择。
IBM VisualAge for Java
IBM的Web开发产品可谓同类之中的庞然大物:体积庞大,功能众多;使用对象是整个开发团队;而设计目标则是搞定视野里能看到的一切!
IBM WebSphere软件平台(全套的集成电子商务解决方案,包括VisualAge for Java 1.2版)是电子商务应用构架的关键部分,该构架是IBM在同一编程模型上开发的统一的端对端体系结构。作为公共编程模型,EJB规范得到了行业范围内的广泛支持,它也是电子商务应用构架的集成部件模型。VisualAge for Java是提供了向导功能的第一个Java IDE,它可以生成大量的EJB基础结构代码,从而简化了EJB开发过程。另外,对话和实体beans的创建向导、把beans映射到现有关系数据存储以及先进的测试环境极大地减少了创建、测试和部署EJB所花的时间。
VisualAge for Java持续性工具能让开发人员把EJB映射到现有的关系数据库结构。利用对对话和实体beans(CMP)的支持,开发人员能从现有的数据库表生成EJB或从现有的EJB生成数据库结构。VisualAge for Java还能提供把对象模型映射到数据模型的手段,从而把数据库管理员和Java开发人员联系在一起。另外,VisualAge for Java 3.5版还支持IBM DB2 S/390和Sybase,以及支持IBM DB2通用数据库和Oracle。
如果在VisualAge for Java中主机运行IBM WebSphere测试环境(WTE),开发人员还能在把EJB和servlet部署到远程服务器前对它们进行预测试。由于开发人员能启动和停止服务器和应用程序,并能在VisualAge for Java IDE中任意改变应用,所以开发人员不必远程部署和测试代码,从而节省了大量时间。
生成测试客户机能让开发人员测试他们服务器端的EJB而无须编写一个用户界面或等待图形制作人员给出的强制性界面。另外,当用户界面完成时,它还能作为一个测试工具,决定问题是存在于应用程序的客户机部分还是服务器部分。
VisualAge for Java还简化了把EJB添加到现有应用程序中的过程。通过生成AccessBeans,VisualAge for Java隐藏了EJB的远程和本地接口并把它融合到JavaBeans编程模型中。这提供了到EJB的简化的JavaBeans接口,简化了企业beans与servlet或JSP间的编程接口,得到了所有Java开发人员的普遍认可。另外,AccessBeans引入了先进的EJB属性本地缓存功能,减少了远程调用的次数,提供了对EJB的快速访问能力。
现在,IBM为建设Web站点所推出的WebSphere Studio Advanced Edition及其包含的VisualAge for Java Professional Edition软件已全面转向以Java为中心,这样,Java开发人员对WebSphere全套工具的感觉或许会好了许多。Studio所提供的工具有:Web站点管理、快速开发 JDBC页向导程序、HTML编辑器和HTML语法检查等。这确实是个不错的HTML站点页面编辑环境。Studio和VisualAge集成度很高,菜单中提供了在两种软件包之间快速移动代码的选项。这就让使用Studio的Web页面设计人员和使用VisualAge的Java程序员可以相互交换文件、协同工作。
Studio提供了建立Java Server Page的完整前端开发环境。许多向导程序可以帮助用户以更快捷、更难以出错的方式实现特定的开发任务。比如说,SQL向导程序就可以让我们在测试所用的Oracle 8i 数据库中浏览各表、执行多种SQL任务(比如增加连接、限制带约束的查询以及在存储结果之前查看查询结果等等)。
IBM新增加的标签可以让JSP访问数据的工作变得更加方便,比如 <tsx:repeat> 标签就负责遍历查询中各行而无须增加处理数据库的Java代码。这些标签表明IBM正在逐步采用以标签为中心的数据访问解决方案(就象ColdFusion所采用的方案那样)。
在编辑页面的时候,我们面前有好几个工具可供选择,包括一个图形界面的所见即所得页面编辑器、一个可以显示页面层次结构的纲要视图以及HTML源代码编辑视图。不过我们发现这些编辑工具之间存在整合方面的一些问题,相比之下还是Dreamweaver 或者ColdFusion做得好一些。
Studio提供了代码补充特性,但是很令人失望——该特性只能用于VoiceXML文件,不能用于 HTML或者JSP文件。不过,它对VoiceXML和WML这样的Web技术,其支持力度还是处于市场领先的地位。
Studio和VisualAge都包括了JavaServer Page调试器。因为JavaServer Page在执行前采用预编译方式运行,所以IBM为其预编译表单所提供的页面调试方式值得关注,这种方式并没有在服务器上实际运行Java 源代码表单。有了VisualAge的Java Server Page调试器,我们就可以在页面调试的时候从输出窗口中查看HTML显示。不过在编译JavaServer Page之后,编译器的输出却只列出错误结果而不自动地标记那些出现错误的源代码。
VisualAge for Java支持团队开发,内置的代码库可以自动地根据我们做出改动而修改程序代码,这样我们就可以很方便地将目前代码和早期版本做出比较。Studio本身并不提供源代码版本管理的支持,它只是包含了一个内置文件锁定系统,当我们编辑项目文件的时候可以防止其他人对这些文件的错误修改。软件还支持诸如Microsoft Visual SourceSafe这样的第三方源代码控制系统。因为Studio对多服务器和多阶段项目部署都提供了完整的可定置支持,所以开发完应用程序之后,在测试服务器和产品服务器上的应用部署都很快。
WebSphere Studio Advanced Edition 3.5 和VisualAge for Java Enterprise Edition 3.5对开发团队而言都是可供选择的优秀开发环境,他们提供了对单一项目下多个开发人员的内置支持。但是这两套产品的界面和编辑缺陷使得IBM产品成为最佳开发包的努力功亏一篑。
Jbuiler
JBuilder 软件的目标定位是代码开发人员而不是高级设计人员,所以JBuilder中包含了大量的向导程序和其他针对中间层的快速开发工具。JBuilder性能稳定、使用方便,特别适用于创建Java 组件。此外该软件还提供了很多JSP功能。
JBuilder本身通过内置的Java和Swing(Java的GUI程序框架)技术支持跨平台的软件开发:它可以运行在Windows、Linux和Solaris操作系统之上,操作界面和工具完全一致。这种所谓的“all-Java”策略意味着软件运行JBuilder的内存不会太多。128MB是系统最小需求,我们推荐装备256MB内存以获得更好的性能。
和早期版本一样,JBuilder 4 IDE设计得更富于效率性和功能性。你可以在同一开发环境下很方便地查看Java、 HTML和JSP文件、建立Sun推出的新型JDK 1.3 HotSpot虚拟机(这种新型虚拟机优化了Java代码)。JBuilder具有了相当出色的响应界面。在多种令人注目的特性之后,我们特别喜欢方便的自动补充功能(auto-completion wizardry),该功能不仅支持即时帮助还支持键入Java代码的参数自动填充。
JBuilder Enterprise版更提供了对Enterprise Java-Bean组件开发的支持。在Jbuilder中,可以更容易的创建(create)配置(deploy)企业JavaBean。提供了一系列的向导来进行创建,处理,配置企业JavaBean的流程。把IAS的配置描述编辑器集成到Jbuilder的开发环境中(不过,并没有把IAS4.1内置到Jbuilder4中,需要另外下载安装)。Jbuilder还支持BEA的WebLogic Server 5.1。
Jbuider4的一个新的特性就是EJB Group功能。每一个EJB Group都代表了一个可配置的JAR文件。通过EJB Group,可以对已有的EJB在EJB Group之间进行移植。一个project工程中可以有多个EJB Group。
Entity Bean Modeler可以创建一个映射到现存表的实体Entity Bean。可以产生所有必须的java代码,更新EJBGroup中配置描述。
在Jbuilder中,可以:
1、用EJB 向导创建Session Bean和Entity Bean
2、用Entity Bean Modeler将Entity Bean映射到现有的table中。
3、通过EJB Group向导创建EJB Group。这样,就可以在一个应用程序里面放多个的Enterprise JavaBean。
4、可以将一个Enterprise JavaBean从一个EJB Group移植到另一个EJB Group
5、一个应用程序里面可以有多个的EJB Group。
6、用Make和Rebuild就可以自动的创建可配置的JAR文件。
7、可以在node viewer中查看JAR的内容。
8、通过Test Client wizard可以在本地的容器或者与EJB1.1兼容的应用服务器中测试Enterprise JavaBean。
9、运行或调式EJB的时候会自动的配置EJB。 JBuilder支持EJB 1.1,由于采用了灵活的XML解决方案,软件还准备支持EJB 2.0。目前用户可以自动地生成基于后端数据库表的EJB Java 类。JBuilder同时还简化了EJB的自动部署功能。此外它还支持CORBA,相应的向导程序有助于用户全面地管理IDL(分布应用程序所必需的接口定义语言interface definition language)和控制远程对象。
JBuilder的本地开发依赖于软件中所包含的轻度Java数据库,这种数据库被叫做JDataStore。软件包含的JDataStore Explorer和JDBC Explorer 可以让用户管理JDataStore和任何遵守JDBC标准的数据源。增强了数据库工具功能,也更加容易使用了。
JdataStore:更快,更灵活了。其底层的连接池的性能有显著的提高。Jbuilder4对支持JTA的支持使JdataStore连接可以利用标准的XA接口参与分布式的事务处理。
JdataStore Explorer可以用图形化的界面创建和操作table。可以创建表的索引。现在JdataStore支持交叉连接,内连接,外连接,左,右连接。
在现在的发行版本中,是通过“natural”或 “using”关键字来指定连接的域。JdataStore现在也支持SQL-92的连接序列,支持分级的子查询。
JBuilder 处理同时也建立在中间层的EJB之上的事务可谓得心应手。尽管用JBuilder创建默认的JSP非常容易,你还是可以用基本的HTML表单而不是WebSphere Studio中的工具来完成该项工作。JSP本身对JBuilder而言还是一种很新颖的技术,你可以用简单的JavaBean 技术来管理JavaServer Page。
JBuilder 4 Enterprise包含了300多种组件,其中,大多数组件都属于JavaBean和Swing控件,这对建立客户端小程序和独立运行的Java应用程序是很有用的。此外软件还包括16种名为InternetBeans的特殊控件。不过,这些控件都是专用于JSP和servlet的。这些组件封装了Web表单中采用的控件,其范围不仅包括了简单的按钮也包括表这样的高级特性。
这些对象都将HTML和后台的JSP/servlet代码分割开来,这样Web设计人员在无须Java程序员修改底层代码的情况下就可以单独修改HTML。这种解决方案对我们很有吸引力,有了它也就拥有了未来扩展的足够余地。事实上,同类组件还可以让用户生成用于无线设备的WML代码,你只需要将模版改为WML,这些InternetBeans就会动态地填充用于WAP设备的数据。在真实的应用环境中,我们完全可以采用自己喜欢的HTML工具从事HTML编辑工作。Jbuilder支持Web应用程序的开发,增加了对XML的支持,提供了更好的Servlet和JSP的支持。通过InternetBeans Express和一些组件,能够在Java和html之间进行无缝数据转换。 Jbuilder内置了Tomcat3.1,可以动态的调试Servlet和JSP程序。 每一个Servlet都有一个别名(Servlet-name)和init()初始化函数的参数,能够离开SHTML独立执行。 Jbuilder提供了增强的JSP支持,很容易的就可以直接调试JSP源代码。提供了XML的支持。能够简单快速的编写XML文件。XML关键字的高亮度显示很容易的对整个XML文件的结构了如指掌。 通过InternetBeans Express控件,可以动态的产生WEB页面的内容。
JBuilder还针对团队开发推出了CVS版本控制功能,该技术已经被我们的程序员用于建立测试应用程序。采用CVS,开发队伍就可以方便地跟踪项目开发全过程了。
工程文件(*.jpr和*.jpx)可以分为两部分,private和shared。Windows, watch, breakpoints保存在private私有部分,而libraries和编译选项保存在公有shared部分。
版本追踪和控制:Jbuilder4对每一个版本都提供更改的支持。要查看一个文件的版本信息,单击底部的histroy标签,里面有每个文件的历史修改记录。Jbuilder自动的保持着文件的备份。可以设定备份的个数。Histroy页面就用这些备份来管理着历史的修改记录。可以访问上一个版本文件。也可以查看两个版本之间做了哪些修改。Jbuilder4的企业版还提供了CVS(Concurrent Versions System并发版本系统)
JBuilder漂亮的IDE环境充分展示了Inprise和Borland开发人员的一贯喜好,JBuilder将继续获得Java程序员的青睐。这一装备了获得好评的帮助程序和服务器端EJB工具的软件在总体水准上是一款相当成熟和优秀的Java开发环境。但是Jbuilder4也还是它的不足:
1. 和中文系统有冲突。至少和Win2000的中文系统有冲突,它的菜单总是触发中文输入条。
2. 速度不够快。还是要求高配置。
3. 由于需要Application Server,而且要求装在同一机器上,开发EJB要求的硬件环境太高
4. 缺乏WebGain Studio里的一些有用工具,如StructureBuilder。缺乏和Rose等工具的高效集成
5. 支持的工具,如版本控制的工具比较少
Jrun
Allaire公司的JRun是一个具有最广阔适用性的Java引擎,用于开发及实施由Java Servlets(JSP)和JavaServer Pages编写的服务器端Java应用。JRun是第一个完全支持JSP 1.0 规格书的商业化产品,全球有超过80,000名开发人员使用JRun在他们已有的Web服务器上添加服务器端Java的功能。其中Web服务器包括了Microsoft IIS,Netscape Enterprise Server,Apache等。
JRun是开发实施服务器端Java的先进引擎。如果你希望在你的Web应用中添加服务器端Java功能,那么JRun将成为你的正确选择。
你可以使用JRun运行Java Servlets -- 运行Java Servlets有2种方法,扩展你的Web 服务器或是使用内置JRun的Web服务器。通过在整个环境中将servlets作为一个可扩展的,完整定义过的Java部件模型来使用,你就可以更加方便、快速的开发、实施复杂的应用,维护起来也更加经济。
JRun目前有3个版本,它是第一个支持Java Server Pages(JSP)规格书1.0的商业化产品。JSP是一种强大的服务器端技术,它是用于创建复杂Web应用的一整套快速应用开发系统。
JRun可以使你开始开发并测试Java应用。它最多接受5个并发的连接并且:
包括全部Java Servlet API
支持JavaServer Pages(JSP)
支持所有主要的Web servers和计算机平台
JRun Pro能够在生产环境下承受大访问量的负载,帮助你实施应用、服务或Web站点(包括内联网)。JRun Pro 支持无限量并发式连接运行多个Java虚拟机,包括多个并发的Java虚拟机(JVM)。
提供一个远程管理applet以及一个远程可再分布式的管理applet。JRun Pro Unlimited包括了所有JRun Pro的功能,除次以外,还可以运行无限量的,并发的JVM。
Allaire JRun一个适用性广泛的引擎,用于开发及实施使用JavaServer Pages(JSP)及Java Servlets开发成的Java应用。利用Java技术,你可以在现有的Web server之上添加服务器端Java功能,JRun所支持的Web服务器包括Microsoft IIS和Personal Web Server,Netscape的Enterprise或FastTrack,Apache, O'Reilly公司的WebSite以及StarNine公司的WebSTAR。
JRun依靠其内置的JRun Web Server可以单独运行。使用服务器端Java,用户可以开发出复杂的商业应用系统。最重要的一点是,由于servlets的平台独立性,以及更加简单的开发、更快速的实施、更经济的维护成本,它是CGI(Common Gateway Interface)或Perl scripts的极佳的替代产品。
主要功能:
JRun 2.3可以全面实施最新Java Servlet API。同时,JRun还可以利用Java Web Server中的许多先进功能。一些JRun2.3的重要功能列举如下:
· 全面支持Java Servlet API version2.1
· 全面支持JavaServer Pages(JSP)1.0 draft spec
· 动态 taglets
· 提供现成模板
· 页面编辑
· dynamic-servlet重载
· Servlet-initialization属性
· Servlet 串联及过滤
· 多个宿主(虚拟主机)支持
· <servlet> tag支持
· 任务跟踪
· 安装向导
· 复杂的Swing-based管理应用
· 100%纯粹Java以及完全跨平台
· 可运行于任何Java Virtual Machine
· 最多运行于5台Java Virtual machine(JRun Pro)
· 可运行于无限多个Java Virtual machine(JRun Pro Unlimited)
· 远程管理(JRun Pro)
技术优势
Java Servlets是由Java Servlet API--Java平台的一部分,编写成的独立跨平台的服务器端程序。Java Servlets拥有“一次编写,随处运行”的强大力量,同时具备网络传递安全性以及对服务器端应用提供了良好伸缩性。Servlets可以替代传统的由Perl,C/C++或其他语言编写的服务器端应用及扩展程序。用户将Servlet作为一个可扩展的,定义良好的跨平台环境来运用,能够更加方便的开发、快速实施服务器端复杂的应用,并节省维护成本。(可以在廉价的Windows NT机器上部署servlets)
在现有的成熟的服务器技术,例如Web 服务器中结合servlets,当编写复杂的应用时,就可以避免特定服务器配置中平台的局限性及复杂性。使用Servlets,开发人员就不必再顾虑服务器的内部工作方式。servlets API内在的classes能够控制Form 数据,server header,cookies等一切物质。
现有服务器端应用和servlets的最大区别就是性能。在服务器中运行一个独立的JVM,servlet一旦被呼叫即被载入。直到servlets改变时才会被再次载入。无须重新启动服务器或应用,一个被修改过的servlet就可以被自动加载。由于servlet永远驻留在内存中,它的加载速度极快。静态或永久信息可以通过多个激活的servlet 达到共享,并且允许多个用户之间共享信息。Servelet也是模块化的,它们即可以单独的完成一项特定任务,同时也可以结合在一起工作。 servlets彼此可以互相对话。
JRun支持的Web Server
· Microsoft's Internet Information Server (IIS) and Personal Web Server (PWS)
· Netscape's Enterprise and FastTrack Servers
· Apache · O'Reilly's WebSite Pro
· StarNine's WebSTAR
· Novell Netware 5 (Novonyx)
……