您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“J2EE簡(jiǎn)介以及配置方式”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“J2EE簡(jiǎn)介以及配置方式”吧!
1、介紹
本文介紹J2EE環(huán)境的配置,所有涉及的文件都在J2EE安裝目錄下的oncfig目錄,這些文件都是文本文件,你可以有任意的文本編輯器來(lái)編輯它們。
通常情況下,你沒(méi)有改變這些文件的必要。但是如果你使用的數(shù)據(jù)庫(kù)驅(qū)動(dòng)不是cloudscape的時(shí)候,你需要遵循本章的內(nèi)容進(jìn)行配置。
2、JdbC驅(qū)動(dòng)
默認(rèn)的J2EE安裝后支持cloudscape數(shù)據(jù)庫(kù)(一個(gè)sun公司提供的演示數(shù)據(jù)庫(kù)),如果你的EJB使用的JDBC不是連接cloudscape數(shù)據(jù)庫(kù),那么你需要按照下面的知道進(jìn)行配置。(如果你不能確定本版本的J2EE支持你使用的jdbc驅(qū)動(dòng),請(qǐng)到 11111 看相關(guān)信息。)
3、驅(qū)動(dòng)的位置
你必須把驅(qū)動(dòng)文件(.jar文件)copy到 $J2EE_HOME/lib/system目錄下。并且保證該文件包含在J2EE_CLASSPATH 的環(huán)境變量中。
4、J2EE_CLASSPATH 環(huán)境變量
J2EE server通過(guò)JDBC驅(qū)動(dòng)連接數(shù)據(jù)庫(kù)。通通過(guò)J2EE_CLASSPATH 的環(huán)境變量定位驅(qū)動(dòng)文件(.jar文件)的位置。你可以在啟動(dòng)J2EE前在命令行設(shè)置這個(gè)變量。但是我們推薦你在腳本中設(shè)置J2EE_CLASSPATH 變量。編輯用戶配置文件在安裝的過(guò)程中是必須的一步。在unix中,用戶配置文件是 /bin/userconfig.sh,windows nt中是bin/userconfig.bat
注意:你應(yīng)該同時(shí)在CLASSPATH環(huán)境變量中去掉驅(qū)動(dòng)文件(.jar文件)。
5、JDBC 1.0 驅(qū)動(dòng)
為了配置jdbc1.0驅(qū)動(dòng),編輯config/default.properties 文件的jdbc.drivers 和 jdbc.datasources兩個(gè)屬性值。再次要注意的是驅(qū)動(dòng)文件必須包含在J2EE_CLASSPATH環(huán)境變量中。
jdbc.drivers 屬性
jdbc.drivers 屬性的值是有一系列的冒號(hào)分割的jdbc驅(qū)動(dòng)的類(lèi)名。格式如下:
jdbc.drivers=:: . . .
例如:
jdbc.drivers=ORACLE.jdbc.driver.OracleDriver:testutil.MyDriver
jdbc.datasources 屬性值
jdbc.datasources 屬性值由兩部分組成,一個(gè)是datasource的jndi的名字,一個(gè)是數(shù)據(jù)庫(kù)的url。典型的情況是:jndi名字是數(shù)據(jù)庫(kù)的邏輯名字,rul指定數(shù)據(jù)庫(kù)的實(shí)際位置。jndi名字和url都是在ejb編碼的過(guò)程中指定的。rul的格式,請(qǐng)參照jdbc驅(qū)動(dòng)提供商的文檔。
jdbc.datasources 的語(yǔ)法如下:
jdbc.datasources=|||. . .
|符號(hào)有兩個(gè)作用。第一,它隔開(kāi)幾個(gè)jndi_datasource;第二,它隔開(kāi)每一個(gè)jndi_datasource中的jndi_datasource> 和 元素.
jndi_datasource元素的語(yǔ)法如下:
jdbc/
由jdbc關(guān)鍵字開(kāi)頭,jndi_name是在jndi目錄中指定的datasouce名字。
例如:
jdbc.datasources=jdbc/Oracle|jdbc:oracle:thin@rtc:1521:acct|jdbc/MyDB|jdbc:test
6、支持JTA的JDBC2.0驅(qū)動(dòng)
配置JTA的JDBC2.0的驅(qū)動(dòng),你需要設(shè)置以下屬性的值:
jdbc20.datasources
xadatasource..jndiname
xadatasource..classname
xadatasource..dbuser
xadatasource..dbpassword
xadatasource..prop.
同時(shí)你也必須在J2EE_CLASSPATH 環(huán)境變量中包括jdbc驅(qū)動(dòng)文件。
jdbc20.datasources 屬性
jdbc20.datasources 屬性的值和jndi名字連接,用于定位datasouce的位置(它就是lookup方法的參數(shù))。
jdbc20.datasources 的語(yǔ)法如下:
jdbc20.datasources=||||的作用有兩個(gè),第一,隔開(kāi)jndi_datasource 和并組成一對(duì),第二,隔開(kāi)每一對(duì)的jndi_datasource> 、元素。
和 jndi_XA_datasource有相同的語(yǔ)法:
jdbc/
jdbc關(guān)鍵字開(kāi)頭。jndi_name是datasource名字,這個(gè)名字指向jndi目錄。
例如:
jdbc20.datasources=jdbc/Merant|jdbc/XAMerant|jdbc/Finch|jdbc/XAFinch
xadatasource屬性
xadatasource..jndiname 屬性指定XA DataSource的jndi名字。語(yǔ)法如下:
xadatasource..jndiname=jdbc/
n代表每一組xadatasource。第一個(gè)jdbc2.0驅(qū)動(dòng)n為0,下一個(gè)是1,2等等。jndi_XA_datasource元素和jdbc20.datasources 指定的值對(duì)應(yīng)。The xadatasource..dbuser 和 xadatasource..dbpassword 屬性指定數(shù)據(jù)庫(kù)用戶和密碼。通常該用戶具有管理員的權(quán)限(更多的信息請(qǐng)看 2222 The distributed.transaction.recovery )。
xadatasource..prop. 指定和特定的屬性值關(guān)聯(lián)的值。實(shí)際的值可能是jdbc驅(qū)動(dòng)。
例如:
xadatasource.0.jndiname=jdbc/XAMerant
xadatasource.0.classname=com.merant.sequelink.jdbcx.datasource.SequeLinkDataSource
xadatasource.0.prop.url=jdbc:sequelink://mypc:5000/[Oracle]
7、事務(wù)
你可以編輯config/default.properties 文件控制事務(wù)發(fā)生和超時(shí)設(shè)置。distributed.transaction.recovery 屬性這個(gè)屬性控制分布事物是否發(fā)生。這些事物可以發(fā)生的話,下面的條件必須滿足:
跨庫(kù)操作時(shí)的事物范圍。
J2EE程序通過(guò)jdbc2.0 JTA驅(qū)動(dòng)訪問(wèn)數(shù)據(jù)庫(kù)
當(dāng)故障發(fā)生的時(shí)候,事物的各個(gè)的組成部分可以按照符合兩段提交協(xié)議的方式提交或回滾。
事物發(fā)生的時(shí)候,server重新啟動(dòng)后事物可以提交或回滾。
distributed.transaction.recovery的值為true或者false。J2EE安裝后默認(rèn)為false。
distributed.transaction.recovery=false
transaction.time屬性
在應(yīng)用container-managed 事物的ejb中,你可以控制事物超時(shí)的間隔通過(guò)設(shè)置transaction.timeout的值。例如:
transaction.timeout=5
在設(shè)置以后,如果事物在5秒內(nèi)沒(méi)有完成,J2EE事物管理器將回滾它。當(dāng)J2EE第一次安裝的時(shí)候,timeout的值時(shí)0代表沒(méi)有超時(shí)。
只有使用container-managed 管理事物的ejb受到timeout的影響。至于在bean-managed和JTA transactions 中你可以引用 UserTransaction 的 setTransactionTimeout方法。同時(shí)你也可以在其他組建中引用setTransactionTimeout方法:比如servlets和JSP。
8、端口
J2EE需要TCP/IP端口。修改config目錄下的相應(yīng)文件可以修改端口號(hào)。下表是端口號(hào)和相應(yīng)的文件。
EJB 9191 ejb.properties http.port=9191
HTTP 8000 web.properties port=8000
HTTPS 7000 web.properties https.port=7000
Naming and Directory 1050 orb.properties port=1050
9191 端口用于提供client下載需要的stub類(lèi)
8000 提供http服務(wù)
7000 提供https服務(wù)
1050 基于orb的jndi名字服務(wù)使用的端口
9、日志文件
J2EE server有幾個(gè)日志文件。默認(rèn)這些文件在logs目錄下。編輯config/default.properties 文件中的 log.directory 屬性可以更改默認(rèn)目錄。
log.directory=logs
同時(shí)你也可以編輯default.properties 文件更改日志文件的名字。例如:你可以修改log.output 屬性的值來(lái)修改the output.log 文件的名字。
一般來(lái)說(shuō),日志文件決定于啟動(dòng)J2EE的模式。(single還是multiple VM (virtual machine) 模式) Single VM 日志文件默認(rèn)的情況是Single VM 模式。在這種情況下,日志文件位于
$J2EE_HOME///ejb
logs是在default.properties 文件中l(wèi)og.directory 屬性指定的。host元素是計(jì)算機(jī)名稱。生成下列文件。
system.out
system.err
event.log
output.log
error.log
system.out 和system.err文件包括ejb中 System.out 和 System.err的輸出。如果你運(yùn)行J2EE -verbose數(shù),輸出被寫(xiě)到stdout(標(biāo)準(zhǔn)輸出) 和stderr(標(biāo)準(zhǔn)錯(cuò)誤。輸出)。system.out 和 system.err日志文件不建。只有config/auth.properties 文件中audit屬性值為true時(shí)audit.lo才創(chuàng)建。
Multiple VM 日志
如果你用J2EE -mutiVM啟動(dòng)server,ejb和http服務(wù)在自己的虛擬機(jī)以單獨(dú)的服務(wù)啟動(dòng)。每一個(gè)depploy的應(yīng)用程序也在自己的虛擬機(jī)中運(yùn)行。日志文件和上述的一樣,但是存放的目錄不同。目錄如下:
EJB $J2EE_HOME//ejb/ejbd
HTTP $J2EE_HOME//ejb/httpd
deployed application $J2EE_HOME//ejb/
web server日志
編輯web.properties文件中的內(nèi)容,可以改變由web server創(chuàng)建的日志文件的名字。
10、安全
未授權(quán)用戶
對(duì)于J2EE來(lái)說(shuō),當(dāng)有未授權(quán)的用戶試圖調(diào)用ejb container的時(shí)候,J2EE必須存在一般意義上的未授權(quán)用戶存在。在J2EE中這個(gè)用戶名字是guest,密碼是guest123。你可以在auth.properties 文件中修改用戶名和密碼。
default.principal.name=guest
default.principal.password=guest123
Keystore密碼
如果用戶使用公鑰訪問(wèn)https,認(rèn)證信息放在/.keystore 文件中。同時(shí)user-home是System.getProperty("user.home")的返回值。keystore是一個(gè)典型的密碼文件。默認(rèn)的密碼是changeit??梢栽趙eb.properties 文件中修改keystore.password 屬性的值來(lái)改變密碼。
ANYONE 角色
在application deployment工具的security面板中,默認(rèn)的情況下方法分配給ANYONE 角色。這樣的結(jié)果 是所有的用戶和組都可以調(diào)用它。如果你沒(méi)有影射到一個(gè)特定的角色,每一個(gè)用戶和用戶都可以調(diào)用它??梢栽赼uth.properties 文件中設(shè)置anyone.role.name 的值來(lái)改變默認(rèn)anyone角色。
鈍化發(fā)生的條件:內(nèi)存限制
當(dāng)ejb container開(kāi)始鈍化一個(gè)ejb的時(shí)候,它把ejb保存在附屬存儲(chǔ)中并且試圖重新分配內(nèi)存。默認(rèn)的情況下,如果內(nèi)存使用超過(guò)128m的時(shí)候鈍化開(kāi)始發(fā)生??梢跃庉媍onfig/default.properties 文件中passivation.threshold.memory 屬性的值來(lái)修改默認(rèn)值。
passivation.threshold.memory=128000000
值必須是一個(gè)正的整數(shù)。當(dāng)你減少這個(gè)值的時(shí)候鈍化現(xiàn)象回經(jīng)常發(fā)生。
jndi name server host
如果jndi name server和J2EE server不在同一個(gè)機(jī)器上,你必須改變config/orb.properties 文件中host屬性的值。
host=localhost
HTTP 文檔根
默認(rèn)的情況下,http和https服務(wù)的文檔是public_html。你可以編輯web.properties 文件中documentroot屬性的值來(lái)改變它。
documentroot=public_html/
到此,相信大家對(duì)“J2EE簡(jiǎn)介以及配置方式”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。