?? j2ee doc 翻譯系列之二.txt
字號(hào):
作者:freehero
email: jdxmoon@163.net
日期:2000-11-29 18:03:36
聲明:本文檔由freehero翻譯,未經(jīng)作者同意不能用于商業(yè)用途,您可以自由的復(fù)制和傳播,文檔只供您理解j2ee,因作者能力有限,建議您同時(shí)閱讀英文文檔,對(duì)于因?yàn)榉g的錯(cuò)誤代來的后果作者不負(fù)任何責(zé)任,歡迎您來信討論freehero@163.net
JavaTM 2 SDK,Enterprise Edition 介紹
1。注意事項(xiàng)
如果你第一次使用JavaTM 2 SDK, Enterprise Edition (J2EE SDK) ,你應(yīng)該遵從下面的步驟:
1。確認(rèn)你安裝了JavaTM 2 SDK, Enterprise Edition (J2EE SDK) 。
2。配置你的JavaTM 2 SDK, Enterprise Edition (J2EE SDK) 軟件。
3。閱讀 《開始j2ee》文檔,開始建立年的ejb。
2。支持的平臺(tái)
SolarisTM Operating Environment, version 2.6
Windows NT, version 4.0
3。支持的數(shù)據(jù)庫(kù)和jdbc 驅(qū)動(dòng)
這個(gè)版本支持jdbc api的1.0和2.0版本的數(shù)據(jù)庫(kù)驅(qū)動(dòng)。我們?cè)谝韵聰?shù)據(jù)庫(kù)上做了很好的測(cè)試:
Oracle8 Server, version 8.05
Microsoft SQL Server, versions 6.5, 7.0
Cloudscape, version 3.0
更多的jdbc信息,請(qǐng)參閱jdbc data access api web頁面(
"http://www.java.sun.com/products/jdbc/index.html)。觀看驅(qū)動(dòng)提供商列表請(qǐng)看
http://www.java.sun.com/products/jdbc/jdbc.driver.html。當(dāng)你安裝完驅(qū)動(dòng)后,你要按照《配置指南》中
有關(guān)jdbc 驅(qū)動(dòng)的內(nèi)容進(jìn)行配置。如果你使用cloudscape 數(shù)據(jù)庫(kù),你不需要配置它的驅(qū)動(dòng),因?yàn)樵诒景姹疽呀?jīng)
包括了它的驅(qū)動(dòng)。
4。本版本的內(nèi)容包括:
服務(wù):
EJB
HTTP
HTTP over SSL
COS naming
Authentication
工具:
Application Deployment Tool
一個(gè)打包j2ee組件和發(fā)布應(yīng)用程序的工具。
Realm Tool
這個(gè)工具管理j2ee server 的用戶。
Verifier
這個(gè)工具核實(shí)j2ee組件文件。
Packager
這個(gè)工具打包j2ee組件。
Cleanup Script
刪除所有發(fā)布的j2ee的應(yīng)用程序。
Cloudscape 數(shù)據(jù)庫(kù)
本版本包括一個(gè)用java語言寫的關(guān)系型數(shù)據(jù)庫(kù)——cloudscape 3.0。盡管本文檔例子的代碼是用
cloudscape做測(cè)試的,但是你可以使用任何本版本支持的數(shù)據(jù)庫(kù)。
對(duì)企業(yè)的java apis
Enterprise JavaBeans API, version 1.1
Java Servlets, version 2.2
JavaServer Pages technology, version 1.1
JDBC Standard Extension, version 2.0
Java Naming and Directory InterfaceTM API, version 1.2 (CosNaming SPI)
RMI/IIOP
Java Transaction API, version 1.0
JavaMail API, version 1.1
Java Messaging Service, version 1.0 (API only, no implementation)
5。需要的軟件。
首先,你需要安裝JDK 1.2 。The JavaTM 2 SDK, Standard Edition 提供了運(yùn)行和建立j2ee應(yīng)用程序的
能力。如果你的client在另外一個(gè)機(jī)器上,client上也必須安裝jdk1.2。
能支持j2ee的jdk1.2如下:
http://www.java.sun.com/products/jdk/1.2/download-solaris.htm
http://www.sun.com/solaris/java
ttp://www.java.sun.com/products/jdk/1.2/download-windows.html
其他版本的jdk1.2沒有做過測(cè)試,并且不支持j2ee。
注意:jdk1.2中不能安裝 The RMI-IIOP standard extension 。
6。當(dāng)前的缺陷。
本版本的目的是向你介紹j2ee技術(shù),給你提供一個(gè)向我們反饋信息的機(jī)會(huì),以便我們以后做的更好。本版
本中有幾個(gè)缺陷。
1。Container-Managed Persistence
實(shí)現(xiàn)基于container-managed persistence 的entity beans不能完全實(shí)現(xiàn)所有的把物體影射到關(guān)系型數(shù)
據(jù)庫(kù)的特性。
entity bean 類只能影射到一個(gè)數(shù)據(jù)庫(kù)中的表
一個(gè)container-managed field 只能影射到一個(gè)表中的字段
當(dāng)容器裝入container-managed fields 的時(shí)候,它回裝入所有的container-managed fields 。當(dāng)裝入的
數(shù)據(jù)非常大的時(shí)候,性能回受到影響。因?yàn)橛行?shù)據(jù)是商業(yè)方法所不需要的。
如果多個(gè)entity beans 的container-managed fields影射到數(shù)據(jù)庫(kù)中同一個(gè)數(shù)據(jù)的時(shí)候,并且如果這些
beans在同一個(gè)事務(wù)中被引用,他們可能會(huì)對(duì)數(shù)據(jù)的一致性造成影響。
在ejbCreate, ejbRemove, ejbLoad, and ejbStore 方法中包含sql語句的beans中,當(dāng)用deploytool分布
它們的時(shí)候,你只能修改表和字段的名字,不能修改作為參數(shù)傳入的數(shù)目和它們的順序。
在sql 語句中不能調(diào)用存儲(chǔ)過程。
在Create Table語句中,你可以更改表的字段的sql類型,以便和實(shí)際的數(shù)據(jù)類型相符。
所有發(fā)生起來語句中的表名和字段的名字必須一致。
通常的sql語句只在Cloudscape, Oracle, and Microsoft SQL Server上做了測(cè)試,其他的數(shù)據(jù)庫(kù)你應(yīng)該
自己測(cè)試。
重復(fù)進(jìn)行Result Set 時(shí)進(jìn)行數(shù)據(jù)庫(kù)調(diào)用
對(duì)于一些數(shù)據(jù)庫(kù)的驅(qū)動(dòng)而言,在重復(fù)進(jìn)行Result Set 時(shí)不能連接數(shù)據(jù)庫(kù)。在下面的例子中,the
stmt.executeUpdate 會(huì)失敗。
String query = "SELECT DEPTNO FROM DEPT . . .";
String update = "UPDATE EMPLOYEE . . .";
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
String s = rs.getString("DEPTNO");
// The following statement will FAIL:
stmt.executeUpdate(update);
. . .
}
你可以通過以下幾種方法繞開此限制:
1。使用一個(gè)包含次sql的存儲(chǔ)過程。
2。把重復(fù)的語句定義成一個(gè)子查詢,例如:
String update = "UPDATE EMPLOYEE
SET DEPTNO =
(SELECT DEPTNO FROM DEPT
WHERE LOC = `ATLANTA')
WHERE TITLE = `ENGINEER'";
3。把第二個(gè)sql語句放在另外一個(gè)方法中,然后調(diào)用另外一個(gè)方法,在這種情況下,必須注意另外一個(gè)的
方法事RequiresNew類型的事務(wù)。同時(shí)一應(yīng)該注意第二個(gè)sql語句運(yùn)行在另外的事務(wù)中。這樣,如果第二個(gè)事物
失敗的話,你應(yīng)該使第一個(gè)事物
回滾。
強(qiáng)壯性和內(nèi)存問題
我們預(yù)期在j2ee的server運(yùn)行在內(nèi)存小于128m的系統(tǒng)中,或者deploy的j2ee應(yīng)用程序數(shù)目大于16的時(shí)候,
或者幾千個(gè)jeb實(shí)例化的時(shí)候,系統(tǒng)會(huì)出現(xiàn)問題。如果你的內(nèi)存溢出,shutdown并且重新啟動(dòng)j2ee server。
通常的分布環(huán)境
在這個(gè)版本中,每一個(gè)develper應(yīng)該工作在自己的j2ee sdk環(huán)境中。多個(gè)developer不能共享一個(gè)j2ee
server。
已知的bug
分布的bug
1。在尋找一個(gè) web resource collectin 時(shí)鍵入url后應(yīng)該鍵入回車以便確認(rèn)數(shù)據(jù)已經(jīng)發(fā)送
2。當(dāng)gui界面中的edit菜單被選中的情況:典型的情況時(shí):樹型結(jié)構(gòu)看起來象是已經(jīng)被選中,實(shí)際上另外
一個(gè)組件被選中了。因此,edit操作會(huì)對(duì)另外一個(gè)組件進(jìn)行操作。
3。
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -