自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Eclipse+JBoss+EJB3編寫有狀態(tài)的SessionBean

開發(fā) 后端
面將編寫一個簡單的購物車的例子,該例子將客戶購買的商品都保存在stateful sessionbean

編寫有狀態(tài)的(Stateful)的Session Bean也非常簡單,只需要將無狀態(tài)注釋(@Stateless)改成有狀態(tài)注釋(@Stateful)即可。如果使用Stateful Sessionbean,客戶端在使用同一個SessionBean對象實例時可以保存狀態(tài),也就是說,在多次引用該對象時實際上在服務(wù)端是使用的同一個 Sessionbean的對象實例,而無狀態(tài)sessionbean使用了不同的sessionbean對象實例,因此,是無法保存狀態(tài)的。

下面將編寫一個簡單的購物車的例子,該例子將客戶購買的商品都保存在stateful sessionbean中的List對象中。然后在客戶端使用同一個sessionbean的對象實例輸出這些商品。我們首先來實現(xiàn)一個 sessionbean的遠程接口,這和無狀態(tài)sessionbean是一樣的。代碼如下:

  1. package service;  
  2. import java.util.List;  
  3. import javax.ejb.Remote;  
  4. public interface ShoppingCart  
  5. {  
  6.    //  添加某個商品信息ITPUB個人空間  
  7.     public void addCommodity (String value);  
  8.   //  獲得客戶購買的所有商品的紗銜泥ITPUB個人空間!  
  9.     public List getCommodity();  

 

為了方便,在這里只將商品名保存在List對象中,讀者也可以在List對象中保存更復(fù)雜的信息,如使用一個對象來保存商品信息。

下面來編寫具體的Stateful sessionbean,代碼如下:

  1. package service;  
  2. import java.util.ArrayList;  
  3. import java.util.List;  
  4. import javax.ejb.Stateful;  
  5. @Stateful 
  6. public class ShoppingCartBean implements ShoppingCart  
  7.     private List shoppingCart = new ArrayList();  
  8.  
  9.  public void addCommodity(String value)  
  10.  
  11.         shoppingCart.add(value);          }  
  12.       public List getCommodity()  
  13.    {        return shoppingCart;  
  14.     }      
   

最后我們編寫一個客戶端調(diào)用程序,代碼如下:

 

  1. package test;  
  2.  
  3. import java.util.List;  
  4. import java.util.Properties;  
  5. import javax.naming.InitialContext;  
  6. import service.ShoppingCart;  
  7.  
  8. public class Client  
  9. {  
  10.  
  11.     public static void main(String[] args) throws Exception  
  12.     {  
  13.         Properties prop = new Properties();  
  14.         InitialContext ctx = new InitialContext();  
  15.         ShoppingCart shoppingCart = (ShoppingCart) ctx  
  16.                 .lookup("ShoppingCartBean/remote");  
  17.         shoppingCart.addCommodity("自行車");  
  18.         shoppingCart.addCommodity("筆記本電腦");  
  19.         shoppingCart.addCommodity("液晶電視");  
  20.         List<String> commodities = shoppingCart.getCommodity();  
  21.         for(String commodity: commodities)  
  22.         {  
  23.             System.out.println(commodity);  
  24.         }  
  25.  
  26.     }  
  27.  
責任編輯:佚名 來源: BlogJava
相關(guān)推薦

2009-06-10 12:54:35

無狀態(tài)的SessionEclipse+JBo

2009-06-24 15:59:04

消息驅(qū)動Bean

2009-06-24 15:56:47

實體Bean連接策略

2009-06-10 11:42:26

Session BeaEclipse+JBo

2009-06-10 12:34:01

Session BeaEclipse+JBo

2009-06-24 15:47:13

實體Bean

2009-06-24 15:58:15

EntityManag

2009-06-10 11:09:40

配置文件SessionEclipse+JBo

2009-06-24 15:57:44

JPQL命名查詢

2009-06-24 15:53:08

Entity Bean多對多映射

2009-06-24 15:51:47

Entity Bean一對多映射

2009-06-24 16:00:00

2009-06-24 15:49:54

Entity Bean一對一映射

2009-06-24 15:55:09

EclipseJBossJ2ee

2024-10-16 15:16:37

Python裝飾器開發(fā)

2009-06-15 16:06:25

JBoss IDE

2009-06-17 08:51:26

Eclipse啟動JB

2021-01-27 11:32:12

接口測試代碼

2009-06-16 15:15:18

WebLogic EJ

2009-06-17 09:01:20

JBoss訪問EJB
點贊
收藏

51CTO技術(shù)棧公眾號