?

94 、 EJB2.0 有哪些內(nèi)容 ? 分別用在什么場合 ? EJB2.0 EJB1.1 的區(qū)別 ?
答: 規(guī)范內(nèi)容包括 Bean 提供者,應(yīng)用程序裝配者, EJB 容器, EJB 配置工具, EJB 服務(wù)提供者,系統(tǒng)管理員。這里面, EJB 容器是 EJB 之所以能夠運行的核心。 EJB 容器管理著 EJB 的創(chuàng)建,撤消,激活,去活,與數(shù)據(jù)庫的連接等等重要的核心工作。 JSP,Servlet,EJB,JNDI,JDBC,JMS.....
95
、 EJB JAVA BEAN 的區(qū)別?

答: Java Bean 是可復(fù)用的組件,對 Java Bean 并沒有嚴格的規(guī)范,理論上講,任何一個 Java 類都可以是一個 Bean 。但通常情況下,由于 Java Bean 是被容器所創(chuàng)建(如 Tomcat) 的,所以 Java Bean 應(yīng)具有一個無參的構(gòu)造器,另外,通常 Java Bean 還要實現(xiàn) Serializable 接口用于實現(xiàn) Bean 的持久性。 Java Bean 實際上相當(dāng)于微軟 COM 模型中的本地進程內(nèi) COM 組件,它是不能被跨進程訪問的。 Enterprise Java Bean 相當(dāng)于 DCOM ,即分布式組件。它是基于 Java 的遠程方法調(diào)用( RMI )技術(shù)的,所以 EJB 可以被遠程訪問(跨進程、跨計算機)。但 EJB 必須被布署在諸如 Webspere 、 WebLogic 這樣的容器中, EJB 客戶從不直接訪問真正的 EJB 組件,而是通過其容器訪問。 EJB 容器是 EJB 組件的代理, EJB 組件由容器所創(chuàng)建和管理??蛻敉ㄟ^容器來訪問真正的 EJB 組件。
96
EJB 是基于哪些技術(shù)實現(xiàn)的?并說出 SessionBean EntityBean 的區(qū)別, StatefulBean StatelessBean 的區(qū)別。
?
答: EJB 包括 Session?Bean Entity?Bean 、 Message?Driven?Bean ,基于 JNDI 、 RMI JAT 等技術(shù)實現(xiàn)。
SessionBean
J2EE 應(yīng)用程序中被用來完成一些服務(wù)器端的業(yè)務(wù)操作,例如訪問數(shù)據(jù)庫、調(diào)用其他 EJB 組件。 EntityBean 被用來代表應(yīng)用系統(tǒng)中用到的數(shù)據(jù)。
對于客戶機, SessionBean 是一種非持久性對象,它實現(xiàn)某些在服務(wù)器上運行的業(yè)務(wù)邏輯。
對于客戶機, EntityBean 是一種持久性對象,它代表一個存儲在持久性存儲器中的實體的對象視圖,或是一個由現(xiàn)有企業(yè)應(yīng)用程序?qū)崿F(xiàn)的實體。
Session?Bean?
還可以再細分為 ?Stateful?Session?Bean? ?Stateless?Session?Bean? ,這兩種的 ?Session?Bean 都可以將系統(tǒng)邏輯放在 ?method 之中執(zhí)行,不同的是 ?Stateful?Session?Bean? 可以記錄呼叫者的狀態(tài),因此通常來說,一個使用者會有一個相對應(yīng)的 ?Stateful?Session?Bean? 的實體。 Stateless?Session?Bean? 雖然也是邏輯組件,但是他卻不負責(zé)記錄使用者狀態(tài),也就是說當(dāng)使用者呼叫 ?Stateless?Session?Bean? 的時候, EJB?Container? 并不會找尋特定的 ?Stateless?Session?Bean? 的實體來執(zhí)行這個 ?method 。換言之,很可能數(shù)個使用者在執(zhí)行某個 ?Stateless?Session?Bean? ?methods? 時,會是同一個 ?Bean? ?Instance? 在執(zhí)行。從內(nèi)存方面來看, ?Stateful?Session?Bean? ?Stateless?Session?Bean? 比較, ?Stateful?Session?Bean? 會消耗 ?J2EE?Server? 較多的內(nèi)存,然而 ?Stateful?Session?Bean? 的優(yōu)勢卻在于他可以維持使用者的狀態(tài)。
97 EJB JAVA?BEAN 的區(qū)別?
答: Java?Bean? 是可復(fù)用的組件,對 Java?Bean 并沒有嚴格的規(guī)范,理論上講,任何一個 Java 類都可以是一個 Bean 。但通常情況下,由于 Java?Bean 是被容器所創(chuàng)建(如 Tomcat )的,所以 Java?Bean 應(yīng)具有一個無參的構(gòu)造器,另外,通常 Java?Bean 還要實現(xiàn) Serializable 接口用于實現(xiàn) Bean 的持久性。 Java?Bean 實際上相當(dāng)于微軟 COM 模型中的本地進程內(nèi) COM 組件,它是不能被跨進程訪問的。 Enterprise?Java?Bean? 相當(dāng)于 DCOM ,即分布式組件。它是基于 Java 的遠程方法調(diào)用( RMI )技術(shù)的,所以 EJB 可以被遠程訪問(跨進程、跨計算機)。但 EJB 必須被布署在諸如 Webspere WebLogic 這樣的容器中, EJB 客戶從不直接訪問真正的 EJB 組件,而是通過其容器訪問。 EJB 容器是 EJB 組件的代理, EJB 組件由容器所創(chuàng)建和管理。客戶通過容器來訪問真正的 EJB 組件。
EJB 包括( SessionBean,EntityBean )說出他們的生命周期,及如何管理事務(wù)的?
SessionBean
Stateless?Session?Bean? 的生命周期是由容器決定的,當(dāng)客戶機發(fā)出請求要建立一個 Bean 的實例時, EJB 容器不一定要創(chuàng)建一個新的 Bean 的實例供客戶機調(diào)用,而是隨便找一個現(xiàn)有的實例提供給客戶機。當(dāng)客戶機第一次調(diào)用一個 Stateful?Session?Bean? 時,容器必須立即在服務(wù)器中創(chuàng)建一個新的 Bean 實例,并關(guān)聯(lián)到客戶機上,以后此客戶機調(diào)用 Stateful?Session?Bean? 的方法時容器會把調(diào)用分派到與此客戶機相關(guān)聯(lián)的 Bean 實例。
EntityBean
Entity?Beans 能存活相對較長的時間,并且狀態(tài)是持續(xù)的。只要數(shù)據(jù)庫中的數(shù)據(jù)存在, Entity?beans 就一直存活。而不是按照應(yīng)用程序或者服務(wù)進程來說的。即使 EJB 容器崩潰了, Entity?beans 也是存活的。 Entity?Beans 生命周期能夠被容器或者 ?Beans 自己管理。
EJB
通過以下技術(shù)管理實務(wù):對象管理組織( OMG )的對象實務(wù)服務(wù)( OTS ), Sun?Microsystems Transaction?Service JTS )、 Java?Transaction?API JTA ),開發(fā)組( X/Open )的 XA 接口。
98
EJB 的角色和三個對象
答: 一個完整的基于 EJB 的分布式計算結(jié)構(gòu)由六個角色組成,這六個角色可以由不同的開發(fā)商提供,每個角色所作的工作必須遵循 Sun 公司提供的 EJB 規(guī)范,以保證彼此之間的兼容性。這六個角色分別是 EJB 組件開發(fā)者( Enterprise?Bean?Provider ? 、應(yīng)用組合者( Application?Assembler )、部署者( Deployer )、 EJB? 服務(wù)器提供者( EJB?Server?Provider )、 EJB? 容器提供者( EJB?Container?Provider )、系統(tǒng)管理員( System?Administrator
三個對象是 Remote Local )接口、 Home LocalHome )接口, Bean
99
EJB 容器提供的服務(wù)
答: 主要提供聲明周期管理、代碼產(chǎn)生、持續(xù)性管理、安全、事務(wù)管理、鎖和并發(fā)行管理等服務(wù)。
100
EJB 規(guī)范規(guī)定 EJB 中禁止的操作有哪些? ?
? 答: 1. 不能操作線程和線程 API( 線程 API 指非線程對象的方法如 notify,wait ) 2. 不能操作 awt 3. 不能實現(xiàn)服務(wù)器功能, 4. 不能對靜態(tài)屬生存取, 5. 不能使用 IO 操作直接存取文件系統(tǒng), 6. 不能加載本地庫 . , 7. 不能將 this 作為變量和返回, 8. 不能循環(huán)調(diào)用。

101
、 remote 接口和 home 接口主要作用
答: remote 接口定義了業(yè)務(wù)方法,用于 EJB 客戶端調(diào)用業(yè)務(wù)方法。
home
接口是 EJB 工廠用于創(chuàng)建和移除查找 EJB 實例
102
bean? 實例的生命周期
答: 對于 Stateless?Session?Bean Entity?Bean 、 Message?Driven?Bean 一般存在緩沖池管理,而對于 Entity?Bean Statefull?Session?Bean 存在 Cache 管理,通常包含創(chuàng)建實例,設(shè)置上下文、創(chuàng)建 EJB?Object create )、業(yè)務(wù)方法調(diào)用、 remove 等過程,對于存在緩沖池管理的 Bean ,在 create 之后實例并不從內(nèi)存清除,而是采用緩沖池調(diào)度機制不斷重用實例,而對于存在 Cache 管理的 Bean 則通過激活和去激活機制保持 Bean 的狀態(tài)并限制內(nèi)存中實例數(shù)量。
103
EJB 的激活機制
答: Stateful?Session?Bean? 為例:其 Cache 大小決定了內(nèi)存中可以同時存在的 Bean 實例的數(shù)量,根據(jù) MRU NRU 算法,實例在激活和去激活狀態(tài)之間遷移,激活機制是當(dāng)客戶端調(diào)用某個 EJB 實例業(yè)務(wù)方法時,如果對應(yīng) EJB?Object 發(fā)現(xiàn)自己沒有綁定對應(yīng)的 Bean 實例則從其去激活 Bean 存儲中(通過序列化機制存儲實例)回復(fù)(激活)此實例。狀態(tài)變遷前會調(diào)用對應(yīng)的 ejbActive ejbPassivate 方法。
104
、 EJB 的幾種類型
答: 會話( Session Bean? ,實體( Entity Bean? 消息驅(qū)動的( Message?Driven Bean
會話 Bean 又可分為有狀態(tài)( Stateful )和無狀態(tài)( Stateless )兩種

實體 Bean 可分為 Bean 管理的持續(xù)性( BMP )和容器管理的持續(xù)性( CMP )兩種
105
、客服端調(diào)用 EJB 對象的幾個基本步驟
答: 設(shè)置 JNDI 服務(wù)工廠以及 JNDI 服務(wù)地址系統(tǒng)屬性,查找 Home 接口,從 Home 接口調(diào)用 Create 方法創(chuàng)建 Remote 接口,通過 Remote 接口調(diào)用其業(yè)務(wù)方法。

應(yīng)用服務(wù)器方面

?

106 、如何給 weblogic 指定大小的內(nèi)存 ??
答: 在啟動 Weblogic 的腳本中(位于所在 Domian 對應(yīng)服務(wù)器目錄下的 startServerName ),增加 set?MEM_ARGS=-Xms32m?-Xmx200m ,可以調(diào)整最小內(nèi)存為 32M ,最大
200M
EJB
需直接實現(xiàn)它的業(yè)務(wù)接口或 Home 接口嗎,請簡述理由。

遠程接口和 Home 接口不需要直接實現(xiàn),他們的實現(xiàn)代碼是由服務(wù)器產(chǎn)生的,程序運行中對應(yīng)實現(xiàn)類會作為對應(yīng)接口類型的實例被使用。
107 、應(yīng)用服務(wù)器有那些?
答: BEA?WebLogic?Server , IBM?WebSphere?Application?Server , Oracle9i?Application?Server jBoss , Tomcat
108
、如何設(shè)定的 weblogic 的熱啟動模式 ( 開發(fā)模式 ) 與產(chǎn)品發(fā)布模式
?
答: 可以在管理控制臺中修改對應(yīng)服務(wù)器的啟動模式為開發(fā)或產(chǎn)品模式之一?;蛘咝薷姆?wù)的啟動文件或者 commenv 文件,增加 set?PRODUCTION_MODE=true 。

109
、如何啟動時不需輸入用戶名與密碼 ?
答: 修改服務(wù)啟動文件,增加 ?WLS_USER WLS_PW 項。也可以在 boot.properties 文件中增加加密過的用戶名和密碼
.
110
、在 weblogic 管理制臺中對一個應(yīng)用域 ( 或者說是一個網(wǎng)站 ,Domain) 進行 jms ejb 或連接池等相關(guān)信息進行配置后 , 實際保存在什么文件中 ?

答: 保存在此 Domain config.xml 文件中,它是服務(wù)器的核心配置文件。
111
、說說 weblogic 中一個 Domain 的缺省目錄結(jié)構(gòu) ? 比如要將一個簡單的 helloWorld.jsp 放入何目錄下 , 然的在瀏覽器上就可打入 http:// 主機 : 端口號 //helloword.jsp 就可以看到運行結(jié)果了 ? ? 又比如這其中用到了一個自己寫的 javaBean 該如何辦 ?
答: Domain 目錄服務(wù)器目錄 applications ,將應(yīng)用目錄放在此目錄下將可以作為應(yīng)用訪問,如果是 Web 應(yīng)用,應(yīng)用目錄需要滿足 Web 應(yīng)用目錄要求, jsp 文件可以直接放在應(yīng)用目錄中, Javabean 需要放在應(yīng)用目錄的 WEB-INF 目錄的 classes 目錄中,設(shè)置服務(wù)器的缺省應(yīng)用將可以實現(xiàn)在瀏覽器上無需輸入應(yīng)用名。

112
、在 weblogic 中發(fā)布 ejb 需涉及到哪些配置文件
答: 不同類型的 EJB 涉及的配置文件不同,都涉及到的配置文件包括 ejb-jar.xml,weblogic-ejb-jar.xmlCMP 實體 Bean 一般還需要 weblogic-cmp-rdbms-jar.xml?
86
、如何在 weblogic 中進行 ssl 配置與客戶端的認證配置或說說 j2ee( 標(biāo)準(zhǔn) ) 進行 ssl 的配置

缺省安裝中使用 DemoIdentity.jks DemoTrust.jks??KeyStore 實現(xiàn) SSL ,需要配置服務(wù)器使用 Enable?SSL ,配置其端口,在產(chǎn)品模式下需要從 CA 獲取私有密鑰和數(shù)字證書,創(chuàng)建 identity trust?keystore ,裝載獲得的密鑰和數(shù)字證書??梢耘渲么?/font> SSL 連接是單向還是雙向的。
113
、如何查看在 weblogic 中已經(jīng)發(fā)布的 EJB?
答: 可以使用管理控制臺,在它的 Deployment 中可以查看所有已發(fā)布的
EJB
說說在 weblogic 中開發(fā)消息 Bean 時的 persistent non-persisten 的差別

persistent
方式的 MDB 可以保證消息傳遞的可靠性 , 也就是如果 EJB 容器出現(xiàn)問題而 JMS 服務(wù)器依然會將消息在此 MDB 可用的時候發(fā)送過來,而 non persistent 方式的消息將被丟棄。

J2EE,MVC 方面

?

114 MVC 的各個部分都有那些技術(shù)來實現(xiàn) ? 如何實現(xiàn) ?
答: MVC Model View Controller 的簡寫。 "Model" 代表的是應(yīng)用的業(yè)務(wù)邏輯(通過 JavaBean , EJB 組件實現(xiàn)), "View" 是應(yīng)用的表示面(由 JSP 頁面產(chǎn)生), "Controller" 是提供應(yīng)用的處理過程控制(一般是一個 Servlet ),通過這種設(shè)計模型把應(yīng)用邏輯,處理過程和顯示邏輯分成不同的組件實現(xiàn)。這些組件可以進行交互和重用。
115
、 J2EE 是什么?
答: Je22 Sun 公司提出的多層 (multi-diered), 分布式 (distributed), 基于組件 (component-base) 的企業(yè)級應(yīng)用模型 (enterpriese application model). 在這樣的一個應(yīng)用系統(tǒng)中,可按照功能劃分為不同的組件,這些組件又可在不同計算機上,并且處于相應(yīng)的層次 (tier) 中。所屬層次包括客戶層 (clietn tier) 組件 ,web 層和組件 ,Business 層和組件 , 企業(yè)信息系統(tǒng) (EIS) 層。
116
WEB SERVICE 名詞解釋。 JSWDL 開發(fā)包的介紹。 JAXP JAXM 的解釋。 SOAP 、 UDDI,WSDL 解釋。
答: Web Service 描述語言 WSDL
SOAP
即簡單對象訪問協(xié)議 (Simple Object Access Protocol) ,它是用于交換 XML 編碼信息的輕量級協(xié)議。

UDDI
的目的是為電子商務(wù)建立標(biāo)準(zhǔn); UDDI 是一套基于 Web 的、分布式的、為 Web Service 提供的、信息注冊中心的實現(xiàn)標(biāo)準(zhǔn)規(guī)范,同時也包含一組使企業(yè)能將自身提供的 Web Service 注冊,以使別的企業(yè)能夠發(fā)現(xiàn)的訪問協(xié)議的實現(xiàn)標(biāo)準(zhǔn)。
117
J2EE 是技術(shù)還是平臺還是框架?
答: J2EE 本身是一個標(biāo)準(zhǔn),一個為企業(yè)分布式應(yīng)用的開發(fā)提供的標(biāo)準(zhǔn)平臺。
?J2EE
也是一個框架,包括 JDBC 、 JNDI RMI 、 JMS 、 EJB 、 JTA 等技術(shù)。
118 STRUTS 的應(yīng)用 ( STRUTS 架構(gòu) )
答: Struts 是采用 Java Servlet/JavaServer Pages 技術(shù),開發(fā) Web 應(yīng)用程序的開放源碼的 framework 采用 Struts 能開發(fā)出基于 MVC(Model-View-Controller) 設(shè)計模式的應(yīng)用構(gòu)架。 Struts 有如下的主要功能:
. 包含一個 controller servlet ,能將用戶的請求發(fā)送到相應(yīng)的 Action 對象。

.JSP 自由 tag 庫,并且在 controller servlet 中提供關(guān)聯(lián)支持,幫助開發(fā)員創(chuàng)建交互式表單應(yīng)用。

. 提供了一系列實用對象: XML 處理、通過 Java reflection APIs 自動處理 JavaBeans 屬性、國際化的提示和消息。

119 、 WEB?SERVICE 名詞解釋。 JSWDL 開發(fā)包的介紹。 JAXP 、 JAXM 的解釋。 SOAP 、 UDDI,WSDL 解釋。 ?
答: Web?ServiceWeb?Service 是基于網(wǎng)絡(luò)的、分布式的模塊化組件,它執(zhí)行特定的任務(wù),遵守具體的技術(shù)規(guī)范,這些規(guī)范使得 Web?Service 能與其他兼容的組件進行互操作。

JAXP(Java?API?for?XML?Parsing)?
定義了在 Java 中使用 DOM,?SAX,?XSLT 的通用的接口。這樣在你的程序中你只要使用這些通用的接口,當(dāng)你需要改變具體的實現(xiàn)時候也不需要修改代碼。
JAXM(Java?API?for?XML?Messaging)?
是為 SOAP 通信提供訪問方法和傳輸機制的 API 。
WSDL
是一種 ?XML? 格式,用于將網(wǎng)絡(luò)服務(wù)描述為一組端點,這些端點對包含面向文檔信息或面向過程信息的消息進行操作。這種格式首先對操作和消息進行抽象描述,然后將其綁定到具體的網(wǎng)絡(luò)協(xié)議和消息格式上以定義端點。相關(guān)的具體端點即組合成為抽象端點(服務(wù))。
SOAP
即簡單對象訪問協(xié)議 (Simple?Object?Access?Protocol) ,它是用于交換 XML 編碼信息的輕量級協(xié)議。 ?
UDDI?
的目的是為電子商務(wù)建立標(biāo)準(zhǔn); UDDI 是一套基于 Web 的、分布式的、為 Web?Service 提供的、信息注冊中心的實現(xiàn)標(biāo)準(zhǔn)規(guī)范,同時也包含一組使企業(yè)能將自身提供的 Web?Service 注冊,以使別的企業(yè)能夠發(fā)現(xiàn)的訪問協(xié)議的實現(xiàn)標(biāo)準(zhǔn)。

120
、 C/S? ?B/S? 區(qū)別:
答:
有如下八個方面的不同:
1.硬件環(huán)境不同 :?
   C/S? 一般建立在專用的網(wǎng)絡(luò)上 ,? 小范圍里的網(wǎng)絡(luò)環(huán)境 ,? 局域網(wǎng)之間再通過專門服務(wù)器提供連接和數(shù)據(jù)交換服務(wù)
.
   B/S? 建立在廣域網(wǎng)之上的 ,? 不必是專門的網(wǎng)絡(luò)硬件環(huán)境 , 例與電話上網(wǎng) ,? 租用設(shè)備 .? 信息自己管理 .? 有比 C/S 更強的適應(yīng)范圍 ,? 一般只要有操作系統(tǒng)和瀏覽器就行
?
2.對安全要求不同
?
   C/S? 一般面向相對固定的用戶群 ,? 對信息安全的控制能力很強 .? 一般高度機密的信息系統(tǒng)采用 C/S? 結(jié)構(gòu)適宜 .? 可以通過 B/S 發(fā)布部分可公開信息
.
   B/S? 建立在廣域網(wǎng)之上 ,? 對安全的控制能力相對弱 ,? 可能面向不可知的用戶。

3.對程序架構(gòu)不同 ?
   C/S? 程序可以更加注重流程 ,? 可以對權(quán)限多層次校驗 ,? 對系統(tǒng)運行速度可以較少考慮
.
   B/S? 對安全以及訪問速度的多重的考慮 ,? 建立在需要更加優(yōu)化的基礎(chǔ)之上 .? C/S 有更高的要求 ?B/S 結(jié)構(gòu)的程序架構(gòu)是發(fā)展的趨勢 ,? MS .Net 系列的 BizTalk?2000?Exchange?2000 ,? 全面支持網(wǎng)絡(luò)的構(gòu)件搭建的系統(tǒng) .?SUN? IBM 推的 JavaBean? 構(gòu)件技術(shù)等 , 使 ?B/S 更加成熟
.?
4.軟件重用不同
?
   C/S? 程序可以不可避免的整體性考慮 ,? 構(gòu)件的重用性不如在 B/S 要求下的構(gòu)件的重用性好
.
   B/S? 對的多重結(jié)構(gòu) , 要求構(gòu)件相對獨立的功能 .? 能夠相對較好的重用 . 就入買來的餐桌可以再利用 , 而不是做在墻上的石頭桌子
?
5.系統(tǒng)維護不同
??
   C/S? 程序由于整體性 ,? 必須整體考察 ,? 處理出現(xiàn)的問題以及系統(tǒng)升級 .? 升級難 .? 可能是再做一個全新的系統(tǒng)

   B/S? 構(gòu)件組成 , 方面構(gòu)件個別的更換 , 實現(xiàn)系統(tǒng)的無縫升級 .? 系統(tǒng)維護開銷減到最小 . 用戶從網(wǎng)上自己下載安裝就可以實現(xiàn)升級 .?
6.處理問題不同
?
   C/S? 程序可以處理用戶面固定 ,? 并且在相同區(qū)域 ,? 安全要求高需求 ,? 與操作系統(tǒng)相關(guān) .? 應(yīng)該都是相同的系統(tǒng)

   B/S? 建立在廣域網(wǎng)上 ,? 面向不同的用戶群 ,? 分散地域 ,? 這是 C/S 無法作到的 .? 與操作系統(tǒng)平臺關(guān)系最小 .?
7.用戶接口不同
?
   C/S? 多是建立的 Window 平臺上 , 表現(xiàn)方法有限 , 對程序員普遍要求較高

   B/S? 建立在瀏覽器上 ,? 有更加豐富和生動的表現(xiàn)方式與用戶交流 .? 并且大部分難度減低 , 減低開發(fā)成本 .?
8.信息流不同
?
   C/S? 程序一般是典型的中央集權(quán)的機械式處理 ,? 交互性相對低

   B/S? 信息流向可變化 ,?B-B?B-C?B-G 等信息、流向的變化 ,? 更像交易中心。
121 、什么是 web 容器
答:
給處于其中的應(yīng)用程序組件( JSP SERVLET )提供一個環(huán)境,使 JSP,SERVLET 直接更容器中的環(huán)境變量接 ** 互,不必關(guān)注其它系統(tǒng)問題。主要有 WEB 服務(wù)器來實現(xiàn)。例如: TOMCAT,WEBLOGIC,WEBSPHERE 等。該容器提供的接口嚴格遵守 J2EE 規(guī)范中的 WEB?APPLICATION? 標(biāo)準(zhǔn)。我們把遵守以上標(biāo)準(zhǔn)的 WEB 服務(wù)器就叫做 J2EE 中的 WEB 容器。 122 、什么是 EJB 容器
答:
Enterprise?java?bean? 容器。更具有行業(yè)領(lǐng)域特色。他提供給運行在其中的組件 EJB 各種管理功能。只要滿足 J2EE 規(guī)范的 EJB 放入該容器,馬上就會被容器進行高效率的管理。并且可以通過現(xiàn)成的接口來獲得系統(tǒng)級別的服務(wù)。例如郵件服務(wù)、事務(wù)管理
123 、 什么是 JNDI
答:
Java?Naming?&?Directory?Interface JAVA 命名目錄服務(wù)。主要提供的功能是:提供一個目錄系統(tǒng),讓其它各地的應(yīng)用程序在其上面留下自己的索引,從而滿足快速查找和定位分布式應(yīng)用程序的功能。
124 、什么是 JMS
答:
Java?Message?Service JAVA 消息服務(wù)。主要實現(xiàn)各個應(yīng)用程序之間的通訊。包括點對點和廣播。
125 、什么是 JTA
答:
Java?Transaction?API JAVA 事務(wù)服務(wù)。提供各種分布式事務(wù)服務(wù)。應(yīng)用程序只需調(diào)用其提供的接口即可。
126 、什么是 JAF
答:
Java?Action?FrameWork JAVA 安全認證框架。提供一些安全控制方面的框架。讓開發(fā)者通過各種部署和自定義實現(xiàn)自己的個性安全控制策略。
RMI/IIOP:
Remote?Method?Invocation?/internet 對象請求中介協(xié)議)他們主要用于通過遠程調(diào)用服務(wù)。例如,遠程有一臺計算機上運行一個程序,它提供股票分析服務(wù),我們可以在本地計算機上實現(xiàn)對其直接調(diào)用。當(dāng)然這是要通過一定的規(guī)范才能在異構(gòu)的系統(tǒng)之間進行通信。 RMI JAVA 特有的。
127 MVC 的各個部分都有那些技術(shù)來實現(xiàn) ? 如何實現(xiàn) ??
答:
MVC Model View Controller 的簡寫。 "Model"? 代表的是應(yīng)用的業(yè)務(wù)邏輯(通過 JavaBean , EJB 組件實現(xiàn)), ?"View"? 是應(yīng)用的表示面(由 JSP 頁面產(chǎn)生), "Controller"? 是提供應(yīng)用的處理過程控制(一般是一個 Servlet ),通過這種設(shè)計模型把應(yīng)用邏輯,處理過程和顯示邏輯分成不同的組件實現(xiàn)。這些組件可以進行交互和重用。

?

設(shè)計模式方面

?

128 、開發(fā)中都用到了那些設(shè)計模式 ? 用在什么場合 ?
答: 每個模式都描述了一個在我們的環(huán)境中不斷出現(xiàn)的問題,然后描述了該問題的解決方案的核心。通過這種方式,你可以無數(shù)次地使用那些已有的解決方案,無需在重復(fù)相同的工作。主要用到了 MVC 的設(shè)計模式。用來開發(fā) JSP/Servlet 或者 J2EE 的相關(guān)應(yīng)用。簡單工廠模式等。
129 、說說你所熟悉或聽說過的 j2ee 中的幾種常用模式 ? 及對設(shè)計模式的一些看法
答: Session?Facade?Pattern :使用 SessionBean 訪問 EntityBean
Message?Facade?Pattern
:實現(xiàn)異步調(diào)用

EJB?Command?Pattern
:使用 Command?JavaBeans 取代 SessionBean ,實現(xiàn)輕量級訪問
Data?Transfer?Object?Factory
:通過 DTO?Factory 簡化 EntityBean 數(shù)據(jù)提供特性
Generic?Attribute?Access
:通過 AttibuteAccess 接口簡化 EntityBean 數(shù)據(jù)提供特性
Business?Interface
:通過遠程(本地)接口和 Bean 類實現(xiàn)相同接口規(guī)范業(yè)務(wù)邏輯一致性
EJB架構(gòu)的設(shè)計好壞將直接影響系統(tǒng)的性能、可擴展性、可維護性、組件可重用性及開發(fā)效率。項目越復(fù)雜,項目隊伍越龐大則越能體現(xiàn)良好設(shè)計的重要性。
130 、 j2ee 常用的設(shè)計模式?說明工廠模式。
? 答: Java 中的 23 種設(shè)計模式:
Factory
(工廠模式), ??????Builder (建造模式), ???????Factory?Method (工廠方法模式),
Prototype
(原始模型模式), Singleton (單例模式), ????Facade (門面模式),
Adapter
(適配器模式), ????Bridge (橋梁模式), ????????Composite (合成模式),
Decorator
(裝飾模式), ????Flyweight (享元模式), ?????Proxy (代理模式),
Command
(命令模式), ??????Interpreter (解釋器模式), ?Visitor (訪問者模式),
Iterator
(迭代子模式), ???Mediator (調(diào)停者模式), ????Memento (備忘錄模式),
Observer
(觀察者模式), ???State (狀態(tài)模式), ?????????Strategy (策略模式),
Template?Method
(模板方法模式), ?Chain?Of?Responsibleity (責(zé)任鏈模式)
工廠模式:工廠模式是一種經(jīng)常被使用到的模式,根據(jù)工廠模式實現(xiàn)的類可以根據(jù)提供的數(shù)據(jù)生成一組類中某一個類的實例,通常這一組類有一個公共的抽象父類并且實現(xiàn)了相同的方法,但是這些方法針對不同的數(shù)據(jù)進行了不同的操作。首先需要定義一個基類,該類的子類通過不同的方法實現(xiàn)了基類中的方法。然后需要定義一個工廠類,工廠類可以根據(jù)條件生成不同的子類實例。當(dāng)?shù)玫阶宇惖膶嵗螅_發(fā)人員可以調(diào)用基類中的方法而不必考慮到底返回的是哪一個子類的實例。
131 、 UML 方面
答: 標(biāo)準(zhǔn)建模語言 UML 。用例圖 , 靜態(tài)圖 ( 包括類圖、對象圖和包圖 ), 行為圖 , 交互圖 ( 順序圖 , 合作圖 ), 實現(xiàn)圖 ,
UML 方面 ?

?

CORBA 方面

132 、 CORBA 是什么 ? 用途是什么 ?
答: CORBA 標(biāo)準(zhǔn)是公共對象請求代理結(jié)構(gòu) (Common Object Request Broker Architecture) ,由對象管理組織 (Object Management Group ,縮寫為 OMG) 標(biāo)準(zhǔn)化。它的組成是接口定義語言 (IDL), 語言綁定 (binding: 也譯為聯(lián)編 ) 和允許應(yīng)用程序間互操作的協(xié)議。 其目的為:
用不同的程序設(shè)計語言書寫
在不同的進程中運行

為不同的操作系統(tǒng)開發(fā)

LINUX 方面

133 、 LINUX 下線程, GDI 類的解釋。
答: LINUX實現(xiàn)的就是基于核心輕量級進程的"一對一"線程模型,一個線程實體對應(yīng)一個核心輕量級進程,而線程之間的管理在核外函數(shù)庫中實現(xiàn)。
GDI類為圖像設(shè)備編程接口類庫。
134 LINUX 下線程, GDI 類的解釋。

LINUX 實現(xiàn)的就是基于核心輕量級進程的 " 一對一 " 線程模型,一個線程實體對應(yīng)一個核心輕量級進程,而線程之間的管理在核外函數(shù)庫中實現(xiàn)。 ?
GDI
類為圖像設(shè)備編程接口類庫。