當前位置:開發者網絡 >> 技術教程 >> JSP教程 >> J2EE/EJB/服務器 >> 內容
精彩推薦
分類最新教程
分類熱點教程
    
學習j2ee初有領悟的小總結
作者:未知
日期:2005-04-20
人氣:
投稿:(轉貼)
來源:未知
字體:
收藏:加入瀏覽器收藏
以下正文:
  
總覺得j2ee tutorial書寫的很好,但是很零散,令初學者不得要領。
本文就筆者研習一段時間的j2ee並結合這本書寫一些東西。
1.國際化
  比如我有名叫Messages_*.properties的資源包。
  管理客戶端:
  public BankAdmin(Locale currentLocale)
  messages = ResourceBundle.getBundle("Messages",currentLocale);
  web客戶端:
  從請求中提取區域信息(由瀏覽器的語言偏好設置),打開對應的資源包,然後把該包作為一個會話的屬性存儲起來:
  ResourceBundle messages = (ResourceBundle)session.getAttribute("messages");
  if(messages==null){
 Locale locale = request.getLocale();
 messages = ResourceBundle.getBundle("Messages",locale);
 session.setAttribute("messages",messages);
}
注意:為顯示中文,程序裡部件需選擇指定字體,如在顯示中文時使用"MS Song"不然界面會有方框。
2.Context是接口(所有命名操作都與其有關),initialContext是類,直接繼承於Object
3.RequestDispather
  接受客戶端請求並發送到任何服務器上資源,能包裝servlets但是servlet容器能生成RequestDispatcher封裝任何類型的資源。
4.deploytool中的幾個重要的選項卡
  首先注意的是不是所有選項卡都是對於每個組件都有用。
  1).Env. Enties 環境入口,設置環境變量(和程序邏輯無關且經常變動的內容),調用環境變量通過JNDI Naming方式,
ic.lookup("java:comp/env/變量名").存儲在企業Bean的配置描述符中,允許定制企業Bean的業務邏輯而無需改動源碼的名字值對。
  2).Ejb Refs 在coded name中輸入企業Bean的應用名字。是JNDI查找Client的邏輯名字。如果在JNDI的lookup中查找企業Bean的應用像這樣

     java:comp/env/ejb/OtherBean
     則輸入ejb/OtherBean
  3).Resource Refs
     resource reference name是JNDI查找的資源的邏輯名稱。有六種類型:
  DataSource是jdbc/
 Session  mail/
 URL  url/
 QueueConnectionFactory和TopicConnectionFactory  jms/
 ConnectionFactory  env/
      註:QueueConnectionFactory和TopicConnectionFactory,ConnectionFactory  需要用戶名和密碼請寫到用戶名和密碼域中,
Cloudscape 不需要用戶名和密碼。
  4).Resource Environment Refs
 對於在代碼中出現jms/的
5.如果組件應用了本地實體Bean,則需要在Enterprise Bean Name域中給出來被引用Bean的名字。
6.傳遞企業Bean的對象引用
  例如你可以通過引用使企業Bean可以調用另一個企業Bean的方法。你無法訪問this引用因為它指向在EJB容器中運行的Bean實例,只有容器可
以直接調用Bean實例的方法。客戶端通過遠程接口實現對像間接調用Bean的方法,通過這些對像(遠程接口實現對像)的引用企業Bean可以互
相訪問。
會話Bean調用SessionContext接口定義的getEJBObject方法獲得它的遠程接口對像引用。
實體Bean調用的是EntityContext接口定義的getEJBObject方法。
這兩個借口提供企業Bean訪問EJB容器管理的上下文對象。
典型情況下,企業Bean通過setSessionContext方法保存它的上下文對象。下面的代碼片斷說明了會話Bean如何使用這些方法:
public class WagonBean implements SessionBean {
   
   SessionContext context;
   ...
   public void setSessionContext(SessionContext sc) { 
      this.context = sc; 
   }
   ...
   public void passItOn(Basket basket) {
   ...
      basket.copyItems(context.getEJBObject()); 
   } 
7.META-INF必須用大寫。
8.include(request,response) 目的:加入一個資源。
  從web組件中返回的響應包含,如:版權信息和標示信息
資源分為:靜態和web組件
9.service服務方法通常模式
  從請求中提取信息---訪問外部資源---然後基於這些信息發佈響應
  發佈響應步驟:1.響應頭 2.從響應得到輸出流 3.輸出流中寫入響應體
10.對一個不懂的工具看他的幫助是最直接的手段,別的什麼也比不上。
相關文章: