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