JSP引擎搭建起來后就可以著手使用開發(fā)工具進(jìn)行JSP的編程了,現(xiàn)下流行的JSP開發(fā)工具主要有IBM VisualAge,JBuilder,NetBeans,JRun,Urledit,dreamweaver,editplus等,這里我們主要介紹IBM VisualAge,JBuilder, Jrun三種工具的一些基本情況,大家可以參照其各自的特點,結(jié)合自身開發(fā)環(huán)境進(jìn)行開發(fā)工具的選擇。
IBM VisualAge for Java
IBM的Web開發(fā)產(chǎn)品可謂同類之中的龐然大物:體積龐大,功能眾多;使用對象是整個開發(fā)團(tuán)隊;而設(shè)計目標(biāo)則是搞定視野里能看到的一切!
IBM WebSphere軟件平臺(全套的集成電子商務(wù)解決方案,包括VisualAge for Java 1.2版)是電子商務(wù)應(yīng)用構(gòu)架的關(guān)鍵部分,該構(gòu)架是IBM在同一編程模型上開發(fā)的統(tǒng)一的端對端體系結(jié)構(gòu)。作為公共編程模型,EJB規(guī)范得到了行業(yè)范圍內(nèi)的廣泛支持,它也是電子商務(wù)應(yīng)用構(gòu)架的集成部件模型。VisualAge for Java是提供了向?qū)Чδ艿牡谝粋Java IDE,它可以生成大量的EJB基礎(chǔ)結(jié)構(gòu)代碼,從而簡化了EJB開發(fā)過程。另外,對話和實體beans的創(chuàng)建向?qū)А裝eans映射到現(xiàn)有關(guān)系數(shù)據(jù)存儲以及先進(jìn)的測試環(huán)境極大地減少了創(chuàng)建、測試和部署EJB所花的時間。
VisualAge for Java持續(xù)性工具能讓開發(fā)人員把EJB映射到現(xiàn)有的關(guān)系數(shù)據(jù)庫結(jié)構(gòu)。利用對對話和實體beans(CMP)的支持,開發(fā)人員能從現(xiàn)有的數(shù)據(jù)庫表生成EJB或從現(xiàn)有的EJB生成數(shù)據(jù)庫結(jié)構(gòu)。VisualAge for Java還能提供把對象模型映射到數(shù)據(jù)模型的手段,從而把數(shù)據(jù)庫管理員和Java開發(fā)人員聯(lián)系在一起。另外,VisualAge for Java 3.5版還支持IBM DB2 S/390和Sybase,以及支持IBM DB2通用數(shù)據(jù)庫和Oracle。
如果在VisualAge for Java中主機(jī)運行IBM WebSphere測試環(huán)境(WTE),開發(fā)人員還能在把EJB和servlet部署到遠(yuǎn)程服務(wù)器前對它們進(jìn)行預(yù)測試。由于開發(fā)人員能啟動和停止服務(wù)器和應(yīng)用程序,并能在VisualAge for Java IDE中任意改變應(yīng)用,所以開發(fā)人員不必遠(yuǎn)程部署和測試代碼,從而節(jié)省了大量時間。
生成測試客戶機(jī)能讓開發(fā)人員測試他們服務(wù)器端的EJB而無須編寫一個用戶界面或等待圖形制作人員給出的強(qiáng)制性界面。另外,當(dāng)用戶界面完成時,它還能作為一個測試工具,決定問題是存在于應(yīng)用程序的客戶機(jī)部分還是服務(wù)器部分。
VisualAge for Java還簡化了把EJB添加到現(xiàn)有應(yīng)用程序中的過程。通過生成AccessBeans,VisualAge for Java隱藏了EJB的遠(yuǎn)程和本地接口并把它融合到JavaBeans編程模型中。這提供了到EJB的簡化的JavaBeans接口,簡化了企業(yè)beans與servlet或JSP間的編程接口,得到了所有Java開發(fā)人員的普遍認(rèn)可。另外,AccessBeans引入了先進(jìn)的EJB屬性本地緩存功能,減少了遠(yuǎn)程調(diào)用的次數(shù),提供了對EJB的快速訪問能力。
現(xiàn)在,IBM為建設(shè)Web站點所推出的WebSphere Studio Advanced Edition及其包含的VisualAge for Java Professional Edition軟件已全面轉(zhuǎn)向以Java為中心,這樣,Java開發(fā)人員對WebSphere全套工具的感覺或許會好了許多。Studio所提供的工具有:Web站點管理、快速開發(fā) JDBC頁向?qū)С绦颉TML編輯器和HTML語法檢查等。這確實是個不錯的HTML站點頁面編輯環(huán)境。Studio和VisualAge集成度很高,菜單中提供了在兩種軟件包之間快速移動代碼的選項。這就讓使用Studio的Web頁面設(shè)計人員和使用VisualAge的Java程序員可以相互交換文件、協(xié)同工作。
Studio提供了建立Java Server Page的完整前端開發(fā)環(huán)境。許多向?qū)С绦蚩梢詭椭脩粢愿旖荨⒏y以出錯的方式實現(xiàn)特定的開發(fā)任務(wù)。比如說,SQL向?qū)С绦蚓涂梢宰屛覀冊跍y試所用的Oracle 8i 數(shù)據(jù)庫中瀏覽各表、執(zhí)行多種SQL任務(wù)(比如增加連接、限制帶約束的查詢以及在存儲結(jié)果之前查看查詢結(jié)果等等)。
IBM新增加的標(biāo)簽可以讓JSP訪問數(shù)據(jù)的工作變得更加方便,比如 <tsx:repeat> 標(biāo)簽就負(fù)責(zé)遍歷查詢中各行而無須增加處理數(shù)據(jù)庫的Java代碼。這些標(biāo)簽表明IBM正在逐步采用以標(biāo)簽為中心的數(shù)據(jù)訪問解決方案(就象ColdFusion所采用的方案那樣)。
在編輯頁面的時候,我們面前有好幾個工具可供選擇,包括一個圖形界面的所見即所得頁面編輯器、一個可以顯示頁面層次結(jié)構(gòu)的綱要視圖以及HTML源代碼編輯視圖。不過我們發(fā)現(xiàn)這些編輯工具之間存在整合方面的一些問題,相比之下還是Dreamweaver 或者ColdFusion做得好一些。
Studio提供了代碼補(bǔ)充特性,但是很令人失望——該特性只能用于VoiceXML文件,不能用于 HTML或者JSP文件。不過,它對VoiceXML和WML這樣的Web技術(shù),其支持力度還是處于市場領(lǐng)先的地位。
Studio和VisualAge都包括了JavaServer Page調(diào)試器。因為JavaServer Page在執(zhí)行前采用預(yù)編譯方式運行,所以IBM為其預(yù)編譯表單所提供的頁面調(diào)試方式值得關(guān)注,這種方式并沒有在服務(wù)器上實際運行Java 源代碼表單。有了VisualAge的Java Server Page調(diào)試器,我們就可以在頁面調(diào)試的時候從輸出窗口中查看HTML顯示。不過在編譯JavaServer Page之后,編譯器的輸出卻只列出錯誤結(jié)果而不自動地標(biāo)記那些出現(xiàn)錯誤的源代碼。 VisualAge for Java支持團(tuán)隊開發(fā),內(nèi)置的代碼庫可以自動地根據(jù)我們做出改動而修改程序代碼,這樣我們就可以很方便地將目前代碼和早期版本做出比較。Studio本身并不提供源代碼版本管理的支持,它只是包含了一個內(nèi)置文件鎖定系統(tǒng),當(dāng)我們編輯項目文件的時候可以防止其他人對這些文件的錯誤修改。軟件還支持諸如Microsoft Visual SourceSafe這樣的第三方源代碼控制系統(tǒng)。因為Studio對多服務(wù)器和多階段項目部署都提供了完整的可定置支持,所以開發(fā)完應(yīng)用程序之后,在測試服務(wù)器和產(chǎn)品服務(wù)器上的應(yīng)用部署都很快。
WebSphere Studio Advanced Edition 3.5 和VisualAge for Java Enterprise Edition 3.5對開發(fā)團(tuán)隊而言都是可供選擇的優(yōu)秀開發(fā)環(huán)境,他們提供了對單一項目下多個開發(fā)人員的內(nèi)置支持。但是這兩套產(chǎn)品的界面和編輯缺陷使得IBM產(chǎn)品成為最佳開發(fā)包的努力功虧一簣。
Jbuiler
JBuilder 軟件的目標(biāo)定位是代碼開發(fā)人員而不是高級設(shè)計人員,所以JBuilder中包含了大量的向?qū)С绦蚝推渌槍χ虚g層的快速開發(fā)工具。JBuilder性能穩(wěn)定、使用方便,特別適用于創(chuàng)建Java 組件。此外該軟件還提供了很多JSP功能。
JBuilder本身通過內(nèi)置的Java和Swing(Java的GUI程序框架)技術(shù)支持跨平臺的軟件開發(fā):它可以運行在Windows、Linux和Solaris操作系統(tǒng)之上,操作界面和工具完全一致。這種所謂的“all-Java”策略意味著軟件運行JBuilder的內(nèi)存不會太多。128MB是系統(tǒng)最小需求,我們推薦裝備256MB內(nèi)存以獲得更好的性能。
和早期版本一樣,JBuilder 4 IDE設(shè)計得更富于效率性和功能性。你可以在同一開發(fā)環(huán)境下很方便地查看Java、 HTML和JSP文件、建立Sun推出的新型JDK 1.3 HotSpot虛擬機(jī)(這種新型虛擬機(jī)優(yōu)化了Java代碼)。JBuilder具有了相當(dāng)出色的響應(yīng)界面。在多種令人注目的特性之后,我們特別喜歡方便的自動補(bǔ)充功能(auto-completion wizardry),該功能不僅支持即時幫助還支持鍵入Java代碼的參數(shù)自動填充。
JBuilder Enterprise版更提供了對Enterprise Java-Bean組件開發(fā)的支持。在Jbuilder中,可以更容易的創(chuàng)建(create)配置(deploy)企業(yè)JavaBean。提供了一系列的向?qū)磉M(jìn)行創(chuàng)建,處理,配置企業(yè)JavaBean的流程。把IAS的配置描述編輯器集成到Jbuilder的開發(fā)環(huán)境中(不過,并沒有把IAS4.1內(nèi)置到Jbuilder4中,需要另外下載安裝)。Jbuilder還支持BEA的WebLogic Server 5.1。
Jbuider4的一個新的特性就是EJB Group功能。每一個EJB Group都代表了一個可配置的JAR文件。通過EJB Group,可以對已有的EJB在EJB Group之間進(jìn)行移植。一個project工程中可以有多個EJB Group。 Entity Bean Modeler可以創(chuàng)建一個映射到現(xiàn)存表的實體Entity Bean。可以產(chǎn)生所有必須的java代碼,更新EJBGroup中配置描述。 在Jbuilder中,可以:
1、用EJB 向?qū)?chuàng)建Session Bean和Entity Bean 2、用Entity Bean Modeler將Entity Bean映射到現(xiàn)有的table中。 3、通過EJB Group向?qū)?chuàng)建EJB Group。這樣,就可以在一個應(yīng)用程序里面放多個的Enterprise JavaBean。 4、可以將一個Enterprise JavaBean從一個EJB Group移植到另一個EJB Group 5、一個應(yīng)用程序里面可以有多個的EJB Group。 6、用Make和Rebuild就可以自動的創(chuàng)建可配置的JAR文件。 7、可以在node viewer中查看JAR的內(nèi)容。 8、通過Test Client wizard可以在本地的容器或者與EJB1.1兼容的應(yīng)用服務(wù)器中測試Enterprise JavaBean。 9、運行或調(diào)式EJB的時候會自動的配置EJB。 JBuilder支持EJB 1.1,由于采用了靈活的XML解決方案,軟件還準(zhǔn)備支持EJB 2.0。目前用戶可以自動地生成基于后端數(shù)據(jù)庫表的EJB Java 類。JBuilder同時還簡化了EJB的自動部署功能。此外它還支持CORBA,相應(yīng)的向?qū)С绦蛴兄谟脩羧娴毓芾鞩DL(分布應(yīng)用程序所必需的接口定義語言interface definition language)和控制遠(yuǎn)程對象。
JBuilder的本地開發(fā)依賴于軟件中所包含的輕度Java數(shù)據(jù)庫,這種數(shù)據(jù)庫被叫做JDataStore。軟件包含的JDataStore Explorer和JDBC Explorer 可以讓用戶管理JDataStore和任何遵守JDBC標(biāo)準(zhǔn)的數(shù)據(jù)源。增強(qiáng)了數(shù)據(jù)庫工具功能,也更加容易使用了。 JdataStore:更快,更靈活了。其底層的連接池的性能有顯著的提高。Jbuilder4對支持JTA的支持使JdataStore連接可以利用標(biāo)準(zhǔn)的XA接口參與分布式的事務(wù)處理。 JdataStore Explorer可以用圖形化的界面創(chuàng)建和操作table。可以創(chuàng)建表的索引。現(xiàn)在JdataStore支持交叉連接,內(nèi)連接,外連接,左,右連接。 在現(xiàn)在的發(fā)行版本中,是通過“natural”或 “using”關(guān)鍵字來指定連接的域。JdataStore現(xiàn)在也支持SQL-92的連接序列,支持分級的子查詢。
JBuilder 處理同時也建立在中間層的EJB之上的事務(wù)可謂得心應(yīng)手。盡管用JBuilder創(chuàng)建默認(rèn)的JSP非常容易,你還是可以用基本的HTML表單而不是WebSphere Studio中的工具來完成該項工作。JSP本身對JBuilder而言還是一種很新穎的技術(shù),你可以用簡單的JavaBean 技術(shù)來管理JavaServer Page。
JBuilder 4 Enterprise包含了300多種組件,其中,大多數(shù)組件都屬于JavaBean和Swing控件,這對建立客戶端小程序和獨立運行的Java應(yīng)用程序是很有用的。此外軟件還包括16種名為InternetBeans的特殊控件。不過,這些控件都是專用于JSP和servlet的。這些組件封裝了Web表單中采用的控件,其范圍不僅包括了簡單的按鈕也包括表這樣的高級特性。
這些對象都將HTML和后臺的JSP/servlet代碼分割開來,這樣Web設(shè)計人員在無須Java程序員修改底層代碼的情況下就可以單獨修改HTML。這種解決方案對我們很有吸引力,有了它也就擁有了未來擴(kuò)展的足夠余地。事實上,同類組件還可以讓用戶生成用于無線設(shè)備的WML代碼,你只需要將模版改為WML,這些InternetBeans就會動態(tài)地填充用于WAP設(shè)備的數(shù)據(jù)。在真實的應(yīng)用環(huán)境中,我們完全可以采用自己喜歡的HTML工具從事HTML編輯工作。Jbuilder支持Web應(yīng)用程序的開發(fā),增加了對XML的支持,提供了更好的Servlet和JSP的支持。通過InternetBeans Express和一些組件,能夠在Java和html之間進(jìn)行無縫數(shù)據(jù)轉(zhuǎn)換。 Jbuilder內(nèi)置了Tomcat3.1,可以動態(tài)的調(diào)試Servlet和JSP程序。 每一個Servlet都有一個別名(Servlet-name)和init()初始化函數(shù)的參數(shù),能夠離開SHTML獨立執(zhí)行。 Jbuilder提供了增強(qiáng)的JSP支持,很容易的就可以直接調(diào)試JSP源代碼。提供了XML的支持。能夠簡單快速的編寫XML文件。XML關(guān)鍵字的高亮度顯示很容易的對整個XML文件的結(jié)構(gòu)了如指掌。 通過InternetBeans Express控件,可以動態(tài)的產(chǎn)生WEB頁面的內(nèi)容。
JBuilder還針對團(tuán)隊開發(fā)推出了CVS版本控制功能,該技術(shù)已經(jīng)被我們的程序員用于建立測試應(yīng)用程序。采用CVS,開發(fā)隊伍就可以方便地跟蹤項目開發(fā)全過程了。 工程文件(*.jpr和*.jpx)可以分為兩部分,private和shared。Windows, watch, breakpoints保存在private私有部分,而libraries和編譯選項保存在公有shared部分。
版本追蹤和控制:Jbuilder4對每一個版本都提供更改的支持。要查看一個文件的版本信息,單擊底部的histroy標(biāo)簽,里面有每個文件的歷史修改記錄。Jbuilder自動的保持著文件的備份。可以設(shè)定備份的個數(shù)。Histroy頁面就用這些備份來管理著歷史的修改記錄。可以訪問上一個版本文件。也可以查看兩個版本之間做了哪些修改。Jbuilder4的企業(yè)版還提供了CVS(Concurrent Versions System并發(fā)版本系統(tǒng))
JBuilder漂亮的IDE環(huán)境充分展示了Inprise和Borland開發(fā)人員的一貫喜好,JBuilder將繼續(xù)獲得Java程序員的青睞。這一裝備了獲得好評的幫助程序和服務(wù)器端EJB工具的軟件在總體水準(zhǔn)上是一款相當(dāng)成熟和優(yōu)秀的Java開發(fā)環(huán)境。但是Jbuilder4也還是它的不足:
1. 和中文系統(tǒng)有沖突。至少和Win2000的中文系統(tǒng)有沖突,它的菜單總是觸發(fā)中文輸入條。 2. 速度不夠快。還是要求高配置。 3. 由于需要Application Server,而且要求裝在同一機(jī)器上,開發(fā)EJB要求的硬件環(huán)境太高 4. 缺乏WebGain Studio里的一些有用工具,如StructureBuilder。缺乏和Rose等工具的高效集成 5. 支持的工具,如版本控制的工具比較少
Jrun
Allaire公司的JRun是一個具有最廣闊適用性的Java引擎,用于開發(fā)及實施由Java Servlets(JSP)和JavaServer Pages編寫的服務(wù)器端Java應(yīng)用。JRun是第一個完全支持JSP 1.0 規(guī)格書的商業(yè)化產(chǎn)品,全球有超過80,000名開發(fā)人員使用JRun在他們已有的Web服務(wù)器上添加服務(wù)器端Java的功能。其中Web服務(wù)器包括了Microsoft IIS,Netscape Enterprise Server,Apache等。 JRun是開發(fā)實施服務(wù)器端Java的先進(jìn)引擎。如果你希望在你的Web應(yīng)用中添加服務(wù)器端Java功能,那么JRun將成為你的正確選擇。 你可以使用JRun運行Java Servlets -- 運行Java Servlets有2種方法,擴(kuò)展你的Web 服務(wù)器或是使用內(nèi)置JRun的Web服務(wù)器。通過在整個環(huán)境中將servlets作為一個可擴(kuò)展的,完整定義過的Java部件模型來使用,你就可以更加方便、快速的開發(fā)、實施復(fù)雜的應(yīng)用,維護(hù)起來也更加經(jīng)濟(jì)。 JRun目前有3個版本,它是第一個支持Java Server Pages(JSP)規(guī)格書1.0的商業(yè)化產(chǎn)品。JSP是一種強(qiáng)大的服務(wù)器端技術(shù),它是用于創(chuàng)建復(fù)雜Web應(yīng)用的一整套快速應(yīng)用開發(fā)系統(tǒng)。 JRun可以使你開始開發(fā)并測試Java應(yīng)用。它最多接受5個并發(fā)的連接并且: 包括全部Java Servlet API 支持JavaServer Pages(JSP) 支持所有主要的Web servers和計算機(jī)平臺 JRun Pro能夠在生產(chǎn)環(huán)境下承受大訪問量的負(fù)載,幫助你實施應(yīng)用、服務(wù)或Web站點(包括內(nèi)聯(lián)網(wǎng))。JRun Pro 支持無限量并發(fā)式連接運行多個Java虛擬機(jī),包括多個并發(fā)的Java虛擬機(jī)(JVM)。 提供一個遠(yuǎn)程管理applet以及一個遠(yuǎn)程可再分布式的管理applet。JRun Pro Unlimited包括了所有JRun Pro的功能,除次以外,還可以運行無限量的,并發(fā)的JVM。 Allaire JRun一個適用性廣泛的引擎,用于開發(fā)及實施使用JavaServer Pages(JSP)及Java Servlets開發(fā)成的Java應(yīng)用。利用Java技術(shù),你可以在現(xiàn)有的Web server之上添加服務(wù)器端Java功能,JRun所支持的Web服務(wù)器包括Microsoft IIS和Personal Web Server,Netscape的Enterprise或FastTrack,Apache, O'Reilly公司的WebSite以及StarNine公司的WebSTAR。
JRun依靠其內(nèi)置的JRun Web Server可以單獨運行。使用服務(wù)器端Java,用戶可以開發(fā)出復(fù)雜的商業(yè)應(yīng)用系統(tǒng)。最重要的一點是,由于servlets的平臺獨立性,以及更加簡單的開發(fā)、更快速的實施、更經(jīng)濟(jì)的維護(hù)成本,它是CGI(Common Gateway Interface)或Perl scripts的極佳的替代產(chǎn)品。
主要功能: JRun 2.3可以全面實施最新Java Servlet API。同時,JRun還可以利用Java Web Server中的許多先進(jìn)功能。一些JRun2.3的重要功能列舉如下: · 全面支持Java Servlet API version2.1 · 全面支持JavaServer Pages(JSP)1.0 draft spec · 動態(tài) taglets · 提供現(xiàn)成模板 · 頁面編輯 · dynamic-servlet重載 · Servlet-initialization屬性 · Servlet 串聯(lián)及過濾 · 多個宿主(虛擬主機(jī))支持 · <servlet> tag支持 · 任務(wù)跟蹤 · 安裝向?qū)? · 復(fù)雜的Swing-based管理應(yīng)用 · 100%純粹Java以及完全跨平臺 · 可運行于任何Java Virtual Machine · 最多運行于5臺Java Virtual machine(JRun Pro) · 可運行于無限多個Java Virtual machine(JRun Pro Unlimited) · 遠(yuǎn)程管理(JRun Pro) 技術(shù)優(yōu)勢 Java Servlets是由Java Servlet API--Java平臺的一部分,編寫成的獨立跨平臺的服務(wù)器端程序。Java Servlets擁有“一次編寫,隨處運行”的強(qiáng)大力量,同時具備網(wǎng)絡(luò)傳遞安全性以及對服務(wù)器端應(yīng)用提供了良好伸縮性。Servlets可以替代傳統(tǒng)的由Perl,C/C++或其他語言編寫的服務(wù)器端應(yīng)用及擴(kuò)展程序。用戶將Servlet作為一個可擴(kuò)展的,定義良好的跨平臺環(huán)境來運用,能夠更加方便的開發(fā)、快速實施服務(wù)器端復(fù)雜的應(yīng)用,并節(jié)省維護(hù)成本。(可以在廉價的Windows NT機(jī)器上部署servlets)
在現(xiàn)有的成熟的服務(wù)器技術(shù),例如Web 服務(wù)器中結(jié)合servlets,當(dāng)編寫復(fù)雜的應(yīng)用時,就可以避免特定服務(wù)器配置中平臺的局限性及復(fù)雜性。使用Servlets,開發(fā)人員就不必再顧慮服務(wù)器的內(nèi)部工作方式。servlets API內(nèi)在的classes能夠控制Form 數(shù)據(jù),server header,cookies等一切物質(zhì)。
現(xiàn)有服務(wù)器端應(yīng)用和servlets的最大區(qū)別就是性能。在服務(wù)器中運行一個獨立的JVM,servlet一旦被呼叫即被載入。直到servlets改變時才會被再次載入。無須重新啟動服務(wù)器或應(yīng)用,一個被修改過的servlet就可以被自動加載。由于servlet永遠(yuǎn)駐留在內(nèi)存中,它的加載速度極快。靜態(tài)或永久信息可以通過多個激活的servlet 達(dá)到共享,并且允許多個用戶之間共享信息。Servelet也是模塊化的,它們即可以單獨的完成一項特定任務(wù),同時也可以結(jié)合在一起工作。 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)
|