Posted on 2007-11-15 23:07
yukui 閱讀(178)
評論(0) 編輯 收藏 所屬分類:
技術
一、war包
在開發J2EE Web應用時,在開發階段通常采用目錄的部署方式,而在正式運行時通常把web應用打包為單個的.war文件進行方便地部署。
J2EE的部署體系十分復雜難解,類嵌入JAR,而JAR嵌入WAR,WAR又嵌入EAR。但是在一定程度上,有些工具能自動完成部署進程。上述情況導致決定一個應用服務商業價值的關鍵因素開發效率因不同的銷售商而有差異,這主要取決于開發工具的效率。
部署:在.NET中,要部署一個應用程序,管理員只需要拷貝文件。而在J2EE中,管理員必須將很多編譯文件和JAR、WAR以及EAR綁定,然后在一個特定的服務器部署工具中解開并運行它們,接著拷貝結果檔案。這個多步部署過程意味著典型的編輯/編譯/調試循環被大大延長了。此外,由于動態加載類過程中的一些變化,更新一個簡單的類常常需要重新啟動基于J2EE的服務器。
1.將web應用程序打包成war的形式并不是必須的,將web應用程序打包成war形式的好處就是,當你對web應用程序的某個文件作了改動,你可不必重新編譯和部署你的web應用程序,應用服務器會自動檢測到這個更新。要部署這個未打包的web module,則這個web module的目錄結構必須要符合web應用程序的目錄結構并且要提供web應用程序的部署描述符web。Xml。Web.xml就是Web Applicatin 的deployment descriptor
作用有:組織各類元素
設置init param
設置安全性
web應用程序打包成war,則可以將這個打包好的war文件部署在符合java,servlet規范的任何web容器中。要部署這個war文件在容器中,那么war中必須要包含運行時DD,運行時部署描述符中存儲的是web應用程序的context root信息以及其他一些對資源的引用名稱。這個DD通常被命名為sun-web.xml。如果用deploytool工具打包你的web應用程序,那么sun-web.xml會被自動創建。它位于\document root\web-inf\下。 可以通過deploy tool來查看部署描述符
In deploytool, select Tools→Descriptor Viewer→Descriptor Viewer to
view web.xml and Tools→Descriptor Viewer→Application Server
Descriptor to view sun-web.xml.
J2EE應用開發階段劃分
胡德平(hudeping@263.net www.javaunion.org )
作為J2EE應用的開發進展,自始至終由以下幾個開發階段完成:
1、EJB開發
2、WEB組件開發
3、J2EE客戶端開發
4、J2ee應用裝配
5、J2EE應用部署
在大的開發組織中,每個階段由不同的個人或開發小組完成。上述開發階段劃分的主要理由是前一階段的成果作為封裝好、可移植的文件,可以被下一開發階段的工作內容所調用和集成。例如:在EJB開發階段,軟件工程師提交.jar文件,在J2EE應用開發階段,另一個軟件工程師將這些.jar文件組成新的J2EE應用并打包成.ear文件保存。在最終階段,即J2EE應用部署階段,系統管理員將.ear文件安裝到J2EE服務器中并進行相應的調試和測試。
下面就每個開發階段的責任者、工作以及提交產物作簡單描述
1、EJB開發階段
責任負責:軟件開發者
工作任務:
a.對企業組件(EJB)進行編碼和編譯
b.為企業組件指定相應的部署描述符
c.將.class文件和部署描述文件一起打包成.jar文件
遞交成果:EJB .jar文件
2、Web組件開發階段
責任負責:Web界面設計者(美工、用戶邏輯設計)、Web應用開發者(網頁制作、美工)、軟件開發著(JSP、Servlet開發)
工作任務:
a.對servlet、bean進行編寫編譯
b.編寫.jsp、.html文件
c.制作媒體圖片 .gif、.jpg
d.為Web組件指定部署描述符
e.將.class、.jsp、.html等web組件文件打包成.war
遞交成果:.war文件(web應用包)
3、J2EE應用客戶端開發
責任負責:軟件開發者
工作任務:
a.編寫客戶端并進行編譯
b.指定客戶端程序部署描述符
c.將.class文件和部署描述文件打包成.jar文件
遞交成果:.jar文件(包含J2EE應用客戶端)
4、J2EE應用裝配
責任負責:軟件開發者
工作任務:
a.將企業組件(EJB .jar)與Web組件(.war)進行裝配,形成J2EE應用包(.ear)
b.為J2EE應用指定部署裝配符
遞交成果:.ear文件(包含所有J2EE應用)
5、J2EE應用部署
責任負責:系統管理員(一般要求專門負責管理J2EE兼容應用服務器)
工作任務:
a.將J2EE應用(.ear)部署到J2EE兼容服務器
b.通過修改J2EE應用不屬描述符,在實際環境中配置J2EE應用
c.部署(安裝)J2EE應用(.ear)到J2EE兼容服務器中
遞交成果:已安裝的、完成配置的可運行J2EE應用
二、在學習過程中對于所出現錯誤的解決辦法
在學習j2eetutorial14,當使用asant工具編譯時,如果出現如下的錯誤
報錯:
F:\test\ejb\converter>asant build
Buildfile&: build.xml
init:
prepare:
build:
[javac] Compiling 4 source files to F:\test\ejb\converter\build
BUILD FAILED
file&:F:/test/ejb/common/targets.xml:18: F:\lib not found.
Total time: 3 seconds
首先查看環境變量是否設置的正確,通常應該有如下的設置:
環境變量
CLASSPATH=.;%JAVA_HOME%\lib;%J2EE_HOME%\lib;
j2ee.home=F:\\Sun\\AppServer
J2EE_HOME=F:\Sun\AppServer
JAVA_HOME=F:\Sun\AppServer\jdk
PATH=.;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%2EE_HOME%\bin;%J2EE_HOME%\share\bin;%JAVA_HOME%\bin;%JAVA_HOME%\lib;
然后在F:\java\j2ee\j2ee\j2eetutorial14\examples\common目錄下的文件中加入j2ee.home=F:\\Sun\\AppServer 問題就可以解決了。