亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Beans入門必讀之為Beans增加功能

2019-11-18 11:50:02
字體:
來源:轉載
供稿:網友

  EJB 上下文:通往容器的門戶
  存在如下信息:
  1、關于bean的home對象和EJB對象的信息
  2、bean的當前事務信息。
  3、 對于客戶授權的安全信息。Bean可以通過查詢環境決定客戶執行操作所需要的安全層次。
  4、 bean的環境屬性。
  容器將所有這些信息保存在一個稱為EJB context object的對象里。EJB上下文作為容器的物理部分,可以被bean訪問。這些訪問可以讓bean得到當前的狀態和改變當前的狀態。
  上下文可以在bean的生命期中被更改。
  EJB1.0 javax.ejb.EJBContext接口:
  public interface javax.ejb.EJBContext
  {
  public javax.ejb.EJBHome getEJBHome();
  public java.util.PRoperties getEnvironment();
  public java.security.Identity getCallerIdentity();
  public boolean isCallerInRole(java.security.Identity);
  public javax.jts.UserTransaction getUserTransaction();
  public void setRollbackOnly();
  public boolean getRollbackOnly();
  }
  會話bean的上下文
  上下文根據bean的不同分為:會話上下文和實體上下文。它們分別被用于會話bean和實體bean
  
  javax.ejb.EJBContext
  public interface javax.ejb.sessionContext
  extends javax.ejb.EJBContext
  {
  public javax.ejb.EJBObject getEJBObject();
  }
  注重:SessionContext接口繼續了EJBContext接口,在EJBContext中定義的方法提供了對會話bean的存取路徑。
  對于會話bean,調用setSessionContext,這個方法在javax.ejb.SessionBean接口中被定義。對于實體bean,調用setEntityContext。
  SessionContext.getEJBObject()
  在EJB中,beans可以作為其他bean的客戶端。假如一個bean需要調用另外的bean,getEJBObject()方法則是必需的。在java中,對象可以使用this要害字保存自身的參考。在EJB中,bean不能使用this要害字給其他bean傳遞對象,這是因為所有的客戶調用bean上的方法都是間接調用bean的EJB對象。Bean可以使用this要害字將自己傳給EJB對象。
  了解EJB的安全性
  首先,客戶端必須是可被鑒別的。
  其次,客戶端必須是已經授權的。
  第一步:鑒別
  不同的EJB容器擁有不同的鑒別客戶端的方法。例如:BEA的WebLogic中,當不同客戶端代碼使用JNDL定位Home對象時,提供不同的用戶名和密碼。
  Properties props = System.getProperties();
  props.put(Context.SECURITY_PRINC  props.put(Context.SECURITY_CREDENTIALS, "myPassWord1");
  Context ctx = new InitialContext(props);
  // Use the initial context to lookup home objects...
  EJB沒有制定如何鑒別的規范,因此這樣就影響了可移植性。要了解這方面,查看各類容器的文檔。
  當運行這段代碼時,應用服務器將驗證你的用戶名和密碼,這是應用服務器規范。許多應用服務器答應在屬性文件里設置用戶名和密碼。這個文件將在運行時由應用服務器讀。
  高級點的服務器支持已經存在的驗證系統的整合。例如將用戶名和密碼列表存儲在LDAP服務器中。
  第二步:授權
  只有經過授權的客戶端才可以調用bean中的方法。EJB中有兩種驗證授權的方法:declaratively和programmatically。即:由容器執行所有的授權檢驗、在程序中進行授權檢查。
  Declarative授權檢查時,要在配置描述符中聲明bean的授權需要。例如使用BEA的WebLogic服務器的配置描述符的例子:
  (accessControlEntries
  submitPurchaSEOrder [employees]
  approvePurchaseOrder [managers]
  DEFAULT [administrators]
  ); end accessControlEntries
  容器將在運行時自動的執行安全檢查。拋會出java.lang.SecurityException異常。
  Programmatic授權檢查,必須查詢EJB上下文得到當前客戶端的授權信息。由兩種方法調用CallerInRole(Identity role)和getCallerIdentity()。
  isCallerInRole()
  import java.security.Identity;
  ...
  public class MyBean implements SessionBean {
  private SessionContext ctx;
  ...
  public void foo() {
  Identity id = new MyIdentity("administrators");
  if (ctx.isCallerInRole(id)) {
  System.out.println("An admin called me");
  return;
  }
  System.out.println("A non-admin called me");
  }
  }
  
  import java.security.Identity;
  public class MyIdentity extends Identity {
  public MyIdentity(String id) {
  super(id);
  }
  }
  getCallerIdentity()
  import java.security.Identity;
  ...
  public class MyBean implements SessionBean {
  private SessionContext ctx;
  ...
  public void bar() {
  Identity id = ctx.getCallerIdentity();
  String name = id.getName();
  System.out.println("The caller's name is " + name);
  }
  }
  了解EJB對象的操作
  許多EJB應用程序需要客戶端有與bean斷開的能力,還要有與bean重建連接的能力。EJB提供了EJB object handles。EJB對象操作對于EJB對象是一個長生命期的代理??梢杂盟鼇碇亟ㄅcEJB對象的連接,并保證會話狀態不被丟失。下面是EJB對象操作的代碼
  // First, get the EJB object handle from the EJB object.
  javax.ejb.Handle myHandle = myEJBObject.getHandle();
  // Next, serialize myHandle, and then save it in
  // permanent storage.
  ObjectOutputStream stream = ...;
  stream.writeObject(myHandle);
  // time passes...
  // When we want to use the EJB object again,
  // deserialize the EJB object handle
  ObjectInputStream stream = ...;
  Handle myHandle = (Handle) stream.readObject();
  // Convert the EJB object handle back into an EJB object
  MyRemoteInterface myEJBObject =
  (MyRemoteInterface) myHandle.getEJBObject();
  // Resume calling methods again
  myEJBObject.callMethod();
  例子:The Puzzle Game “Fazuul”

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美丰满老妇厨房牲生活| 国产精品你懂得| 日韩专区在线观看| 亚洲成人1234| 黑人精品xxx一区一二区| 成人激情春色网| 亚洲丝袜av一区| 亚洲女性裸体视频| 久久久伊人欧美| 久久久天堂国产精品女人| 久久99久久99精品免观看粉嫩| 亚洲黄页网在线观看| 欧美情侣性视频| 91九色视频导航| 欧美精品xxx| 亚洲电影在线观看| 欧美最顶级丰满的aⅴ艳星| 亚洲毛片在线看| 亚洲一区二区三区成人在线视频精品| 亚洲午夜小视频| 久久久999精品免费| www.日韩视频| 欧美激情一区二区三区高清视频| 久久精品国产欧美激情| 欧美日韩亚洲系列| 国产精品视频地址| 欧美夜福利tv在线| 日韩性生活视频| 国产精品视频yy9099| 97人洗澡人人免费公开视频碰碰碰| 国产精品自产拍高潮在线观看| 国产精品成人一区二区三区吃奶| 在线看欧美日韩| 久久久女女女女999久久| 久久99热这里只有精品国产| 精品调教chinesegay| 精品国偷自产在线视频| 久久久天堂国产精品女人| 亚洲男人天堂手机在线| 欧美日韩中文在线观看| 国产精品美女久久久久av超清| 亚洲欧洲中文天堂| 亚洲国产精品久久91精品| 91免费的视频在线播放| 国产成人一区二区三区电影| 最近2019年好看中文字幕视频| 亚洲视频在线视频| 亚洲欧美国产va在线影院| 青青草精品毛片| 成人午夜黄色影院| 亚洲女人天堂av| 国产精品电影观看| 亚洲午夜未满十八勿入免费观看全集| 91中文字幕一区| 亚洲精品98久久久久久中文字幕| 国产亚洲精品久久| 日韩男女性生活视频| 亚洲第一区中文99精品| 国产精品视频精品| 日韩高清中文字幕| 色婷婷**av毛片一区| 亚洲欧美中文另类| 精品爽片免费看久久| 欧美激情伊人电影| 欧美与黑人午夜性猛交久久久| 欧美亚洲免费电影| 136fldh精品导航福利| 中日韩美女免费视频网站在线观看| 青青在线视频一区二区三区| 欧美视频国产精品| 青青在线视频一区二区三区| 一区二区三区在线播放欧美| 国内精品久久久久久影视8| 欧美福利视频在线| 亚洲新声在线观看| 亚洲国产成人在线播放| 国产精品手机播放| 欧美激情第三页| 亚洲一区二区三区乱码aⅴ| 欧美高清理论片| 欧美中文字幕视频在线观看| 91po在线观看91精品国产性色| 久热精品视频在线观看一区| 97精品伊人久久久大香线蕉| 欧美日韩高清在线观看| 久久久国产视频91| 亚洲第五色综合网| 欧美电影免费播放| 国产精自产拍久久久久久| www.久久草.com| 国产精品电影网| 播播国产欧美激情| 亚洲精品99久久久久中文字幕| 日韩免费在线免费观看| 欧美性猛交xxxx免费看久久久| 91精品国产777在线观看| 日本不卡免费高清视频| 国产精品色视频| 国产精品一区二区三区毛片淫片| 欧美成人小视频| 日韩欧美一区二区在线| 欧美精品在线免费播放| 色妞一区二区三区| 懂色av中文一区二区三区天美| 国产精品久久久久久久久久99| 欧美午夜视频在线观看| 亚洲一区二区久久| 国产精品狼人色视频一区| 日韩av影院在线观看| 亚洲第一区在线观看| 亚洲欧美制服第一页| 久久精品在线播放| 亚洲精品久久久久中文字幕二区| 亚洲国语精品自产拍在线观看| 欧美午夜激情在线| 2019国产精品自在线拍国产不卡| 成人免费在线网址| 国产精品久久久久久婷婷天堂| 日韩中文字幕不卡视频| 日本久久久久久| 国产精品jvid在线观看蜜臀| 亚洲精选在线观看| 亚洲女人初尝黑人巨大| 欧洲美女免费图片一区| 久久久视频精品| 亚洲国产精品推荐| 国产丝袜精品第一页| 亚洲精品一区中文字幕乱码| 久久资源免费视频| 中文字幕无线精品亚洲乱码一区| 久久综合国产精品台湾中文娱乐网| 在线免费看av不卡| 亚洲无限av看| 精品国产一区二区三区久久狼5月| 色综合男人天堂| 91成人天堂久久成人| 国产精品久久av| 日本一区二区三区四区视频| 国产成人精品一区| 欧美视频在线观看 亚洲欧| 日日狠狠久久偷偷四色综合免费| 国语自产精品视频在线看一大j8| 亚洲国产精品一区二区久| 成人免费视频网| 欧美一级淫片aaaaaaa视频| 日韩小视频在线| 国产99久久精品一区二区永久免费| 国产一区二区在线免费| 国产精品自拍小视频| 亚洲精品在线不卡| 欧洲中文字幕国产精品| 不卡av日日日| 91情侣偷在线精品国产| 精品欧美aⅴ在线网站| 亚洲成人在线视频播放| 国产成人在线视频| 精品无码久久久久久国产| 欧美精品免费在线| 亚洲欧美中文日韩在线| 国内免费精品永久在线视频| 精品亚洲va在线va天堂资源站| 98精品国产自产在线观看| 亚洲丁香婷深爱综合| 成人在线国产精品|