選擇JSP開發(fā)工具
JSP引擎搭建起來后就可以著手使用開發(fā)工具進行JSP的編程了,現(xiàn)下流行的JSP開發(fā)工具主要有IBM VisualAge,JBuilder,NetBeans,JRun,Urledit,dreamweaver,editplus等,這里我們主要介紹 IBM VisualAge,JBuilder, Jrun三種工具的一些基本情況,大家可以參照其各自的特點,結(jié)合自身開發(fā)環(huán)境進行JSP開發(fā)工具的選擇。
IBM VisualAge for Java
IBM的Web開發(fā)產(chǎn)品可謂同類之中的龐然大物:體積龐大,功能眾多;使用對象是整個開發(fā)團隊;而設(shè)計目標則是搞定視野里能看到的一切!
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ù)存儲以及先進的測試環(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中主機運行IBM WebSphere測試環(huán)境(WTE),開發(fā)人員還能在把EJB和servlet部署到遠程服務(wù)器前對它們進行預(yù)測試。由于開發(fā)人員能啟動和停止服務(wù)器和應(yīng)用程序,并能在VisualAge for Java IDE中任意改變應(yīng)用,所以開發(fā)人員不必遠程部署和測試代碼,從而節(jié)省了大量時間。
生成測試客戶機能讓開發(fā)人員測試他們服務(wù)器端的EJB而無須編寫一個用戶界面或等待圖形制作人員給出的強制性界面。另外,當用戶界面完成時,它還能作為一個測試工具,決定問題是存在于應(yīng)用程序的客戶機部分還是服務(wù)器部分。
VisualAge for Java還簡化了把EJB添加到現(xiàn)有應(yīng)用程序中的過程。通過生成AccessBeans,VisualAge for Java隱藏了EJB的遠程和本地接口并把它融合到JavaBeans編程模型中。這提供了到EJB的簡化的JavaBeans接口,簡化了企業(yè) beans與servlet或JSP間的編程接口,得到了所有Java開發(fā)人員的普遍認可。另外,AccessBeans引入了先進的EJB屬性本地緩存功能,減少了遠程調(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ū)С绦?、HTML編輯器和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新增加的標簽可以讓JSP訪問數(shù)據(jù)的工作變得更加方便,比如 <tsx:repeat> 標簽就負責(zé)遍歷查詢中各行而無須增加處理數(shù)據(jù)庫的Java代碼。這些標簽表明IBM正在逐步采用以標簽為中心的數(shù)據(jù)訪問解決方案(就象ColdFusion所采用的方案那樣)。
在編輯頁面的時候,我們面前有好幾個工具可供選擇,包括一個圖形界面的所見即所得頁面編輯器、一個可以顯示頁面層次結(jié)構(gòu)的綱要視圖以及HTML源代碼編輯視圖。不過我們發(fā)現(xiàn)這些編輯工具之間存在整合方面的一些問題,相比之下還是Dreamweaver 或者ColdFusion做得好一些。
Studio提供了代碼補充特性,但是很令人失望——該特性只能用于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é)果而不自動地標記那些出現(xiàn)錯誤的源代碼。
VisualAge for Java支持團隊開發(fā),內(nèi)置的代碼庫可以自動地根據(jù)我們做出改動而修改程序代碼,這樣我們就可以很方便地將目前代碼和早期版本做出比較。Studio本身并不提供源代碼版本管理的支持,它只是包含了一個內(nèi)置文件鎖定系統(tǒng),當我們編輯項目文件的時候可以防止其他人對這些文件的錯誤修改。軟件還支持諸如 Microsoft Visual SourceSafe這樣的第三方源代碼控制系統(tǒng)。因為Studio對多服務(wù)器和多階段項目部署都提供了完整的可定置支持,所以開發(fā)完應(yīng)用程序之后,在測試服務(wù)器和產(chǎn)品服務(wù)器上的應(yīng)用部署都很快。
JBuilder還針對團隊開發(fā)推出了CVS版本控制功能,該技術(shù)已經(jīng)被我們的程序員用于建立測試應(yīng)用程序。采用CVS,開發(fā)隊伍就可以方便地跟蹤項目開發(fā)全過程了。
工程文件(*.jpr和*.jpx)可以分為兩部分,private和shared。Windows, watch, breakpoints保存在private私有部分,而libraries和編譯選項保存在公有shared部分。
版本追蹤和控制:Jbuilder4對每一個版本都提供更改的支持。要查看一個文件的版本信息,單擊底部的histroy標簽,里面有每個文件的歷史修改記錄。Jbuilder自動的保持著文件的備份??梢栽O(shè)定備份的個數(shù)。Histroy頁面就用這些備份來管理著歷史的修改記錄??梢栽L問上一個版本文件。也可以查看兩個版本之間做了哪些修改。Jbuilder4的企業(yè)版還提供了CVS(Concurrent Versions System并發(fā)版本系統(tǒng))
JBuilder漂亮的IDE環(huán)境充分展示了Inprise和Borland開發(fā)人員的一貫喜好,JBuilder將繼續(xù)獲得Java程序員的青睞。這一裝備了獲得好評的幫助程序和服務(wù)器端EJB工具的軟件在總體水準上是一款相當成熟和優(yōu)秀的Java開發(fā)環(huán)境。但是Jbuilder4也還是它的不足:
1. 和中文系統(tǒng)有沖突。至少和Win2000的中文系統(tǒng)有沖突,它的菜單總是觸發(fā)中文輸入條。
2. 速度不夠快。還是要求高配置。
3. 由于需要Application Server,而且要求裝在同一機器上,開發(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的先進引擎。如果你希望在你的Web應(yīng)用中添加服務(wù)器端Java功能,那么JRun將成為你的正確選擇。
你可以使用JRun運行Java Servlets -- 運行Java Servlets有2種方法,擴展你的Web 服務(wù)器或是使用內(nèi)置JRun的Web服務(wù)器。通過在整個環(huán)境中將servlets作為一個可擴展的,完整定義過的Java部件模型來使用,你就可以更加方便、快速的開發(fā)、實施復(fù)雜的應(yīng)用,維護起來也更加經(jīng)濟。
JRun目前有3個版本,它是第一個支持Java Server Pages(JSP)規(guī)格書1.0的商業(yè)化產(chǎn)品。JSP是一種強大的服務(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和計算機平臺
JRun Pro能夠在生產(chǎn)環(huán)境下承受大訪問量的負載,幫助你實施應(yīng)用、服務(wù)或Web站點(包括內(nèi)聯(lián)網(wǎng))。JRun Pro 支持無限量并發(fā)式連接運行多個Java虛擬機,包括多個并發(fā)的Java虛擬機(JVM)。
提供一個遠程管理applet以及一個遠程可再分布式的管理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)濟的維護成本,它是CGI(Common Gateway Interface)或Perl scripts的極佳的替代產(chǎn)品。
JSP開發(fā)工具主要功能:
JRun 2.3可以全面實施最新Java Servlet API。同時,JRun還可以利用Java Web Server中的許多先進功能。一些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)及過濾
◆多個宿主(虛擬主機)支持
◆<servlet> tag支持
◆任務(wù)跟蹤
◆安裝向?qū)?BR>◆復(fù)雜的Swing-based管理應(yīng)用
◆100%純粹Java以及完全跨平臺
◆可運行于任何Java Virtual Machine
◆最多運行于5臺Java Virtual machine(JRun Pro)
◆可運行于無限多個Java Virtual machine(JRun Pro Unlimited)
◆遠程管理(JRun Pro)
JSP開發(fā)工具技術(shù)優(yōu)勢
Java Servlets是由Java Servlet API--Java平臺的一部分,編寫成的獨立跨平臺的服務(wù)器端程序。Java Servlets擁有“一次編寫,隨處運行”的強大力量,同時具備網(wǎng)絡(luò)傳遞安全性以及對服務(wù)器端應(yīng)用提供了良好伸縮性。Servlets可以替代傳統(tǒng)的由Perl,C/C++或其他語言編寫的服務(wù)器端應(yīng)用及擴展程序。用戶將 Servlet作為一個可擴展的,定義良好的跨平臺環(huán)境來運用,能夠更加方便的開發(fā)、快速實施服務(wù)器端復(fù)雜的應(yīng)用,并節(jié)省維護成本。(可以在廉價的 Windows NT機器上部署servlets)
在現(xiàn)有的成熟的服務(wù)器技術(shù),例如Web 服務(wù)器中結(jié)合servlets,當編寫復(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永遠駐留在內(nèi)存中,它的加載速度極快。靜態(tài)或永久信息可以通過多個激活的servlet 達到共享,并且允許多個用戶之間共享信息。Servelet也是模塊化的,它們即可以單獨的完成一項特定任務(wù),同時也可以結(jié)合在一起工作。 servlets彼此可以互相對話。
【編輯推薦】