題目:
1. (這道題是我們的一個項目有關﹐我這裡稍做修改。) 請舉出你最認為滿意的J2EE項目一個﹐用Flow Chart表示其開發流程。你在項目開發最初﹐是否有Screen的設計過程? 列舉Screen設計在項目初期能帶來的三條好處。你認為這個項目失敗的地方在哪裡? 如果開發過程重來一遍﹐你認為哪裡可以改進? 如何改進? (光這道題就花了我將近一個小時﹐導致我後面的題目來不及做。考試時間是2個半小時)
2. Strus系統中有哪五大組件? 這些組件是通過什麼途經來互相作用的? Struts中xml文件的作用是什麼? xml文件的存在給Struts系統帶來哪些缺點? 詳述HTML表單在Struts中被提交的過程。Struts中Controller的作用是什麼? 有沒有必要重載Struts的Controller?
3. 什麼是Pass-by-value﹐什麼是Pass-by-reference? J2EE裡什麼時候用pass-by-value﹐什麼時候用pass-by-value? 為什麼說程序從Remote Interface到Local Interface的遷移是不可能的﹐反過來呢? 什麼時候用Local Interface﹐什麼時候用Remote Interface?
4. Value Object (Data Transfer Object)在J2EE系統中的作用是什麼? 為什麼Value Object要實現Serializable接口? 在你的項目中Value Object是處于哪些層次之間? Value Object給J2EE系統帶來什麼麻煩(給出兩點)? 哪三種情況下Value Object要用到Collection?
5. 什麼是Optimistic Concurrency Control﹐ 什麼是Pessimistic Concurrency Control? Time Stamp在Value Object中的作用是什麼? 畫出一流程圖闡述從Client到Server到數據庫你是如何實現Optimistic Concurrency Control的?
6. 列舉JDBC Reading Pattern在EJB中的作用。什麼時候用JDBC Reading? JDBC Reading應該放在Stateless Session Bean, Stateful Session Bean, 還是Entity Bean裡? CMP是如何克服大量數據查詢時Entity BeanN+1次調用的問題?
7. 什麼是Pooling? Stateless Session Bean和Stateful Session Bean的Pooling有何不同? Stateless Session Bean和Stateful Session Bean有什麼不同? Stateful Session Bean是如何Persistent它的狀態的(圖解表示)?
8. 在本學期的課程中我們學過如何保存Session State。如果我把Session State保存在Http Session中﹐而且我使用Session Facade設計模式﹐那麼你的Session Facade是用Stateless Session Bean做呢﹐還是用Stateful Sessioin Bean? 為什麼? 闡述我們在課堂上學到的另一種保存Session State的方法。
9. Message Driven Bean的好處和壞處。(後面還有很多﹐忘記了)
10. 用戶希望在主頁面看到所有名酒清單﹐用戶可以添加﹐刪除﹐修改這些信息。並且系統有一個Top 10評分頁面﹐用戶可在此瀏覽最受歡迎的十種名酒﹐並可自己投票評選。圖解表示以上系統從瀏覽器到Servlet到EJB到數據庫各流程﹐並在關鍵處附註所使用的Design Pattern﹐比如Value Object, JDBC Reading, Session Facade等。