精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Eclipse+JBoss+EJB3編寫第一個無狀態的SessionBean

開發 后端
Eclipse+JBoss+EJB3的編寫,還有實現java.io.Serializable接口的Session Bean代碼,第一個無狀態的SessionBean的編寫

本系列教程使用的軟件版本如下:
Eclipse:3.4.2,Eclipse IDE for Java EE Developers
JBoss :5.0.1,http://www.jboss.org/jbossas/downloads/
JDK:1.6.0.14,http://java.sun.com/javase/downloads/index.jsp

在本文中將編寫一個簡單的無狀態SessionBean。在發布EJB時,一般需要將EJB程序以jar文件的形式進行發布。這些jar文件將被放在 \server\default\deploy目錄中。如果在Eclipse中開發EJB程序,需要進行一些配置。首選需要在首選項(Preferences)對話框中設置JBoss的安裝目錄(如D:\jboss5)。然后在運行配置對話框中添加jboss的運行項。在jboss4.2及以后的版本中,默認情況下jboss只接收來自localhost或127.0.0.1的請求,也就是只接收本地的訪問。為了使 jboss接收來自其他地址的請求,在啟動jboss時需要使用-b命令行參數進行設置。如下面的啟動命令所示:

 

  1. run.bat -b 200.200.200.123  
  2. run.bat -b 0.0.0.0  

 

上面的第一行命令表示jboss可以接收來自200.200.200.123的請求。第二條命令表示jboss可以接收來自任意地址的請求。如果不設置-b參數,以非本機方式訪問EJB時,JBoss會拋出如下異常:

Exception in thread "main" javax.naming.CommunicationException: Could not obtain connection to any of these urls: 192.168.17.105:1099 and discovery failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out] [Root exception is javax.naming.CommunicationException: Failed to connect to server /192.168.17.105:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server /192.168.17.105:1099 [Root exception is java.net.ConnectException: Connection refused: connect]]]
    at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1725)
    at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:689)ITPUB
    at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:682)
    at javax.naming.InitialContext.lookup(InitialContext.java:392)
    at test.Client.main(Client.java:29)
    ... ...

一、配置開發環境

在eclipse中進行開發,也需要設置-b命令行參數。在運行配置對話框中可以按著圖的方式設置-b命令行參數。

 

b命令行參數
設置-b命令行參數

二、開發無狀態Session Bean

在Eclipse中開發EJB程序首先需要建立一個EJB Project(工程名為MyEJB)。然后建立一個接口(遠程接口)和一個Session Bean。遠程接口的代碼如下:

 

  1. package service;  
  2.  
  3. import java.util.List;  
  4. import javax.ejb.Remote;  
  5. import entity.Greeting;  
  6.  
  7. @Remote  
  8. public interface Greeter  
  9. {  
  10.     public String greet(String message);  
  11.     public List<Greeting> getAllGreetings();  

 

在上面的代碼中使用了@Remote注釋將Greeter接口定義為遠程接口,也就是在其他的客戶端機器上可以通過該接口來訪問本地的Session Bean。在Greeter接口中還使用了一個Greeting類,該類的代碼如下:

 

  1. package entity;  
  2.  
  3. import java.io.Serializable;  
  4.  
  5. public class Greeting implements Serializable  
  6. {  
  7.     private int id;  
  8.     private String name;  
  9.     public int getId()  
  10.     {  
  11.         return id;  
  12.     }  
  13.     public void setId(int id)  
  14.     {  
  15.         this.id = id;  
  16.     }  
  17.     public String getName()  
  18.       
  19.         return name;  
  20.     }  
  21.     public void setName(String name)  
  22.       
  23.         this.name = name;  
  24.     }  

 

要注意的是,由于Greeting類在實例將被傳輸到客戶端,因此,該類需要實現java.io.Serializable接口。
下面來編寫Session Bean,代碼如下:

 

  1. package service;  
  2.  
  3. import java.util.ArrayList;  
  4. import java.util.List;  
  5. import javax.ejb.Stateless;  
  6. import entity.Greeting;  
  7.  
  8. @Stateless  
  9. public class GreeterBean implements Greeter  
  10. {  
  11.     @Override  
  12.     public List<Greeting> getAllGreetings()  
  13.     {  
  14.          
  15.         List<Greeting> greetings = new ArrayList<Greeting>();  
  16.         Greeting greeting = new Greeting();  
  17.         greeting.setId(12);  
  18.         greeting.setName("bill gates");  
  19.         greetings.add(greeting);  
  20.         greeting = new Greeting();  
  21.         greeting.setId(334);  
  22.         greeting.setName("李寧");  
  23.         greetings.add(greeting);  
  24.         return greetings;  
  25.     }  
  26.  
  27.     @Override  
  28.     public String greet(String message)  
  29.     {  
  30.         return "您好 " + message;  
  31.     }  
  32.  

 

在上面的代碼中使用了@Stateless注釋將GreeterBean類定義為無狀態的Session Bean。如果JBoss正處于啟動狀態,并保存上面寫的類和接口,Eclipse會自動將上面的代碼編譯,并生成jar文件,發布到jboss的 deploy目錄中。該jar文件的目錄結構如下:

MyEJB.jar
   entity\Greeting.class
   service\Greeter.class
   service\GreeterBean.class
   META-INF\MANIFEST.MF
   META-INF\jboss.xml

其中META-INF目錄中的兩個文件是Eclipse在建立EJB工程時自動生成的,我們不用去管它。讀者也可以手工去編譯上面的接口和類,并使用jar命令生成jar文件。

三、編寫客戶端程序

由于本文使用了遠程接口來訪問Session Bean,因此,在訪問時需要指定EJB所有的機器的IP地址。

 

  1. package test;  
  2.  
  3. import java.util.Properties;  
  4. import javax.naming.Context;  
  5. import javax.naming.InitialContext;  
  6. import service.Greeter;  
  7.  
  8. public class ClientITPUB  
  9. {  
  10.  
  11.    public static void main(String[] args) throws Exception  
  12.     {  
  13.         Properties prop = new Properties();  
  14.  
  15.         // 設置相關的屬性值ITPUB個人空間 kE;r_!Q }  
  16.  
  17.         prop.setProperty(Context.PROVIDER_URL, "192.168.17.105:1099");  
  18.         prop.setProperty(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.
  19. interfaces.NamingContextFactory");  
  20.         InitialContext ctx = new InitialContext(prop);(  
  21.          
  22.        // 開始調用Greeter接口的方法  
  23.          
  24.         Greeter greeter = (Greeter) ctx.lookup("GreeterBean/remote");  
  25.         System.out.println(greeter.greet("李寧"));  
  26.         System.out.println(greeter.getAllGreetings().get(0).getName());  
  27.     }  

 

在上面的代碼中,使用了Context.PROVIDER_URL設置了服務端的IP和端口號。
上面積代碼的運行結果如:


 

  1. 您好 李寧  
  2. bill gates  

 

除了在程序中設置屬性值外,也可以通過jndi.properties文件進行設置。該文件應放在Eclipse工程的src目錄中。該文件的內容如下:

 

  1. java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory  
  2. java.naming.provider.url=192.168.17.105:1099  

如果使用jndi.properties文件,就不需要在客戶端程序中設置相應的屬性值了,因此,可以使用如下的代碼來調用Session Bean:

 

  1. package test;  
  2.  
  3. import javax.naming.Context;  
  4. import javax.naming.InitialContext;  
  5. import service.Greeter;  
  6.  
  7. public class Client  
  8. {  
  9.  
  10.     public static void main(String[] args) throws Exception  
  11.     {  
  12.         //不需要在程序中設置相應的屬性值  
  13.         InitialContext ctx = new InitialContext();  
  14.         // 開始調用Greeter接口的方法ITPUB個人空間8h!w4k bI5a  
  15.         Greeter greeter = (Greeter) ctx.lookup("GreeterBean/remote");  
  16.         System.out.println(greeter.greet("李寧"));  
  17.         System.out.println(greeter.getAllGreetings().get(0).getName());  
  18.     }  
  19. }  

 

注意:在編寫客戶端程序時,需要引用\client目錄中的所有jar文件。

【編輯推薦】

  1. 使用Eclipse+JBoss+EJB3編寫有狀態的SessionBean
  2. Eclipse+JBoss+EJB3配置文件發布Session Bean
  3. 奇怪的Eclipse Debug異常
  4. Eclipse字符編碼
  5. Eclipse RCP編輯器關閉按鈕的屏蔽方法

 

責任編輯:佚名 來源: BlogJava
相關推薦

2009-06-10 11:36:45

有狀態的SessionEclipse+JBo

2009-06-24 15:47:13

實體Bean

2009-06-24 15:59:04

消息驅動Bean

2009-06-10 11:42:26

Session BeaEclipse+JBo

2009-06-24 15:56:47

實體Bean連接策略

2009-06-10 12:34:01

Session BeaEclipse+JBo

2009-06-24 15:57:44

JPQL命名查詢

2009-06-10 11:09:40

配置文件SessionEclipse+JBo

2009-06-24 15:58:15

EntityManag

2009-06-24 15:51:47

Entity Bean一對多映射

2009-06-24 15:49:54

Entity Bean一對一映射

2009-06-24 15:53:08

Entity Bean多對多映射

2009-06-24 16:00:00

2009-06-24 15:55:09

EclipseJBossJ2ee

2021-04-07 13:38:27

Django項目視圖

2010-03-15 10:37:46

Pthon腳本

2013-12-19 09:46:04

垃圾收集器

2014-07-24 14:35:26

Linux內核模塊

2019-12-31 08:00:00

DebianLinuxApple Swift

2021-12-30 11:26:31

語言編譯器腳本
點贊
收藏

51CTO技術棧公眾號

亚洲不卡视频| a视频在线播放| 日本午夜精品一区二区三区电影| 这里只有精品丝袜| 中文字幕亚洲欧洲| 波多野结衣在线高清| 久久嫩草精品久久久久| 91精品免费久久久久久久久| 久久久美女视频| 欧美综合在线视频观看| 欧美一级片在线看| 亚洲人成无码www久久久| 二区在线播放| 久久久99久久精品欧美| 91久久精品国产91久久性色tv | 一本到一区二区三区| 亚洲国产午夜伦理片大全在线观看网站| a天堂视频在线| 久久婷婷激情| 久久久伊人日本| 91无套直看片红桃在线观看| 九九热hot精品视频在线播放| 欧美调教femdomvk| 欧美综合在线播放| 国产三区视频在线观看| 久久奇米777| 国产精品白丝jk白祙| 在线观看黄色国产| 久久久久久穴| 欧美精品激情视频| 欧美偷拍第一页| 日韩大片在线播放| 亚洲欧美日韩视频一区| 亚洲成年人在线观看| 成人在线视频观看| 在线一区二区三区四区五区| 精品无码国产一区二区三区av| eeuss影院www在线观看| 99久久精品免费观看| 91成人伦理在线电影| 亚洲天堂2021av| 日韩和欧美一区二区| 91精品国产成人| 国产一级二级三级视频| 你懂的国产精品| 久久精品欧美视频| 中文字幕美女视频| 日韩国产欧美| 国产一区二区三区视频 | 国产精品久久久久精k8| 欧洲高清一区二区| 毛片网站在线| 国产欧美一区二区精品秋霞影院 | 98精品久久久久久久| 亚洲图中文字幕| 无码一区二区三区在线| 国产一区二区三区四区五区传媒| 国产视频久久久久久久| 国产精品三级在线观看无码| 一道在线中文一区二区三区| 精品夜色国产国偷在线| 丰满少妇在线观看资源站| 色婷婷久久久| 亚洲精品自产拍| 在线观看福利片| 日韩欧美午夜| 久久精品成人欧美大片| 欧美在线视频第一页| 欧美三区不卡| 午夜精品理论片| 免费黄色网址在线| 视频在线观看国产精品| 国产精品美乳一区二区免费| 一区二区视频网| 国产一区二区三区黄视频| 亚洲iv一区二区三区| 亚洲成熟女性毛茸茸| 国产91色综合久久免费分享| 精品一卡二卡三卡四卡日本乱码 | 亚洲一区在线电影| 日韩av高清在线看片| 中老年在线免费视频| 日本高清无吗v一区| 色天使在线观看| 91国内精品| 亚洲精品99久久久久| 欧美丰满美乳xxⅹ高潮www| 午夜精品久久久久久久四虎美女版| 北条麻妃一区二区三区中文字幕| 欧美极品aaaaabbbbb| 亚洲一区亚洲| 91精品视频免费看| 天堂中文在线看| 国产精品色哟哟| 黄色三级中文字幕| 希岛爱理一区二区三区av高清| 欧美日本韩国一区二区三区视频 | 久久久久久久久久国产精品| 日本视频在线观看免费| 国产一区二三区| 欧美日韩大片一区二区三区| 黄色免费网站在线| 欧美午夜片欧美片在线观看| 无尽裸体动漫2d在线观看| 8848成人影院| 日韩一级黄色av| 国产精品1000| 精品亚洲aⅴ乱码一区二区三区| 国产精品xxxx| 精品自拍一区| 欧美在线观看一区| 亚洲天堂资源在线| 综合在线视频| 国产精品美女免费看| 黄色小视频免费观看| 国产精品久久久久久久午夜片| 国产av天堂无码一区二区三区| 精品自拍视频| 亚洲一级一级97网| 99视频在线看| 国产69精品一区二区亚洲孕妇 | 自拍视频一区二区| 欧美精品黄色| 亚洲影院在线看| 在线视频三区| 在线一区二区视频| 瑟瑟视频在线观看| 国产精品五区| 国产精品一区二区av| 18视频在线观看网站| 欧美丝袜第三区| 一级黄色片大全| 亚洲视频二区| 成人午夜电影在线播放| av黄在线观看| 欧美乱熟臀69xxxxxx| 无码人妻aⅴ一区二区三区| 激情久久综合| 国产精品区一区| 丝袜综合欧美| 精品久久久久久久一区二区蜜臀| 黄色一级片中国| 国产精品亚洲第一区在线暖暖韩国| 亚洲精品一卡二卡三卡四卡| 午夜av成人| 一区二区三区动漫| 曰批又黄又爽免费视频| 国产精品久久久久久久久免费丝袜| 韩国视频一区二区三区| 欧美先锋资源| 国产日韩欧美一二三区| 午夜激情视频在线观看| 欧美精品自拍偷拍| 午夜爽爽爽男女免费观看| 国产在线一区二区综合免费视频| 影音先锋亚洲视频| 高清久久精品| 欧美激情亚洲另类| 欧美性猛交 xxxx| 欧美日韩国产一区在线| 在哪里可以看毛片| 青青国产91久久久久久| 亚洲一区免费看| 日韩一区免费| 欧美精品999| 日av在线播放| 欧美色精品在线视频| 日韩在线一卡二卡| 国产成人亚洲综合a∨婷婷| 成人免费网站入口| 美女久久久久| 国产精品偷伦视频免费观看国产| 快射av在线播放一区| 日韩午夜精品视频| 亚洲视频免费播放| 亚洲国产岛国毛片在线| 中文字幕色网站| 亚洲久久在线| 欧美日韩电影一区二区| 国产精品国产三级在线观看| 久久99精品久久久久久琪琪| 色呦呦视频在线| 在线国产电影不卡| 九九免费精品视频| 26uuu亚洲| 久久久久久综合网| 一本久道综合久久精品| 视频一区视频二区视频| 中文字幕一区二区三区四区久久 | 国产一区二区三区亚洲综合| 久久男人资源视频| 在线中文资源天堂| 亚洲国产精品免费| 一二三区在线播放| 天天综合色天天综合色h| 国产精品美女高潮无套| 高清久久久久久| 91视频免费版污| 亚洲网站啪啪| 亚洲一区二区三区欧美| 免费成人蒂法| 亚洲字幕一区二区| 偷拍精品精品一区二区三区| 久久免费精品日本久久中文字幕| 成人午夜电影在线观看| 亚洲福利视频网| 一道本无吗一区| 日本高清视频一区二区| 精品少妇一二三区| 亚洲视频一区二区在线观看| 色欲av无码一区二区三区| 国产99精品在线观看| 中文字幕第100页| 亚洲欧美日韩精品一区二区| 91传媒免费视频| 天堂美国久久| 日韩在线导航| 欧洲亚洲成人| 国产在线播放一区二区| 高清久久一区| 国产在线久久久| 亚洲伦乱视频| 97视频免费观看| 色屁屁www国产馆在线观看| 日韩在线中文字幕| 国产在线视频网| 国产午夜精品理论片a级探花| 国产黄色免费大片| 91麻豆精品国产自产在线| 国产成人精品一区二区色戒| 色综合久久综合中文综合网| 日韩欧美激情视频| 亚洲一区二区影院| 欧美成人精品一区二区免费看片| 自拍偷拍欧美激情| 波多野结衣欲乱| 国产精品久99| 精品国产大片大片大片| 亚洲色图视频免费播放| 日本少妇aaa| 国产精品久久777777| 波兰性xxxxx极品hd| 亚洲天天做日日做天天谢日日欢| 女人十八毛片嫩草av| 欧美国产日韩亚洲一区| 中文字幕 自拍| 亚洲国产精品精华液ab| 永久免费观看片现看| 国产精品欧美经典| 免费一级suv好看的国产网站| 中文字幕精品一区| 黄色精品视频在线观看| 亚洲欧美自拍偷拍色图| a在线视频播放观看免费观看| 亚洲激情校园春色| 国产亚洲欧美精品久久久www | 久久香蕉国产线看观看网| 毛片网站在线免费观看| 欧美成人精品在线视频| 免费网站在线观看人| 久久久久久久久久久免费精品| 91超碰在线| 国内精品国产三级国产在线专| 男人久久天堂| 国产精品国产三级国产aⅴ浪潮| 欧美啪啪网站| 97人人香蕉| 麻豆视频一区| 五月天亚洲综合| 亚欧美无遮挡hd高清在线视频| av 日韩 人妻 黑人 综合 无码| 国户精品久久久久久久久久久不卡| 国产v片免费观看| 久久不射2019中文字幕| 一道本在线免费视频| 国产大陆a不卡| 亚洲av片不卡无码久久| 中文字幕一区二区在线播放| 欧美日韩免费一区二区| 欧美日韩免费观看中文| 亚洲网站在线免费观看| 日韩精品资源二区在线| 青青草在线视频免费观看| 日韩小视频网址| av午夜在线观看| 国产精品旅馆在线| 草草视频在线一区二区| 日本午夜精品一区二区| 欧美在线免费一级片| 99精品视频播放| 国产乱人伦精品一区二区在线观看| 50一60岁老妇女毛片| 国产精品久久久久精k8| 国产成人免费观看视频| 欧美日韩成人激情| 凸凹人妻人人澡人人添| 精品久久国产精品| 成人福利电影| 国产精品久久不能| 一区二区三区高清在线观看| 日本欧美色综合网站免费| 中出一区二区| www.xxx亚洲| 成人免费视频国产在线观看| 亚洲无人区码一码二码三码的含义| 亚洲另类一区二区| 免费黄色片视频| 亚洲第一级黄色片| 老司机在线看片网av| 日本91av在线播放| 视频一区中文字幕精品| 亚洲砖区区免费| 久久久www| 精品人妻伦一二三区久| 国产精品高清亚洲| 不卡av电影在线| 日韩精品中文字幕有码专区| 蜜乳av一区| 亚洲va久久久噜噜噜| 成人中文在线| 国产免费成人在线| 99国产麻豆精品| 久久久久久福利| 欧美一区二区播放| 国产成人无吗| 成人a在线观看| 日韩欧美在线中字| 日本美女高潮视频| 久久久亚洲高清| 午夜毛片在线观看| 亚洲精品av在线| 9999在线视频| 国产精品免费一区二区| 红桃视频亚洲| 在线播放国产视频| 一二三区精品视频| 草草视频在线播放| 欧美老女人性视频| 亚洲视频三区| 阿v天堂2018| 99久久久无码国产精品| 国产成人亚洲精品自产在线| 亚洲精品suv精品一区二区| xxx.xxx欧美| 精品国产一区二区三| 亚洲激精日韩激精欧美精品| 亚洲一区二区在线免费| 亚洲超碰精品一区二区| 天天干天天草天天射| 91精品国产高清自在线看超| 久久99偷拍| 91黄色小网站| 欧美高清在线一区| 一区二区不卡视频在线观看| 久久精品欧美视频| 6080亚洲理论片在线观看| 婷婷五月综合缴情在线视频| 91亚洲精品久久久蜜桃网站| 国产成人综合欧美精品久久| 亚洲片av在线| 久久er热在这里只有精品66| 椎名由奈jux491在线播放| 国产一区二区三区黄视频| 久久久久久久伊人| 亚洲美女av在线| 日韩三区免费| 亚洲综合激情五月| 成人深夜视频在线观看| 五月婷婷亚洲综合| 在线看国产精品| 欧美日本三级| 免费高清在线观看免费| 国产嫩草影院久久久久| 国产伦精品一区二区三区免.费 | 污污的网站在线看| 精品一区二区三区日本| 日本欧美加勒比视频| 18岁成人毛片| 亚洲欧美日本另类| 成人午夜888| 免费看的黄色大片| 中文字幕欧美国产| 精品免费久久久| 琪琪第一精品导航| 久久久9色精品国产一区二区三区| 国产一级免费片| 欧美影视一区二区三区| 少女频道在线观看高清| 日本一区二区在线视频| 国产一二精品视频| 久久青青草原亚洲av无码麻豆| 久久天天躁夜夜躁狠狠躁2022| 美女午夜精品| 污污的视频免费观看| 色综合天天综合网天天狠天天 | 欧洲美女日日| zjzjzjzjzj亚洲女人| 欧美三级电影精品| 国产中文在线播放| 美女在线免费视频|