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

首頁 > 編程 > Java > 正文

EJB輕松進階之一

2020-01-31 16:52:46
字體:
來源:轉載
供稿:網友
文章來源:硅谷動力 作者:中流砥柱

一、引言

  EJB(Enterprise JavaBeans)是Java程序設計中比較高級的內容,也是Java程序員由入門級向高手級前進的門檻。SUN公司認證Java程序員(SCJP)與SUN公司認證Java開發員(SCJD)之間的一個顯著區別就是:SCJP不考EJB,而SCJD要考。隨著越來越多的企業采用J2EE平臺開發電子商務應用系統,EJB開發已成為今天的Java程序員必須要面對的問題。

  本文首先以一個例程介紹了一般分布式對象應用程序的基本原理,然后從基本的下載、安裝、配置開始,逐步介紹EJB程序編程的方法,從而使EJB的學習成為一件輕松而有趣的事情。

二、典型的分布式對象程序

  不管是CORBA還是RMI,其實現分布式對象的策略都是相似的,我們可以用一個簡單的程序例子來模擬一個分布式對象程序的構成。

  這個例子模擬了一個遠程請求對象屬性的過程。有一個遠程對象Dog在網絡上,現在要得到它的名字(strName)屬性。程序在客戶端設一個存根(Dog_Stub)類,在服務器端啟動一個骨架(dog_Skeleton)類,這兩個類都實現了Dog接口,Dog_Stub與Dog_Skeleton通過Socket進行遠程通信。當客戶程序DogClient向Dog_Stub發出獲取名字屬性的請求時,Dog_Stub對象把方法名“getName()”作為一個字符串通過Socket發給遠程的Dog_Skeleton對象,Dog_Skeleton對象收到這個字符串后再根據字符串的內容執行DogServer對象的getName()方法,得到Dog的名字,然后又通過Socket返回給DogStub對象。整個流程通過網絡實現,但對于客戶程序DogClient來講,它并不知道真正的Dog對象在哪里,甚至也不知道這個過程通過了網絡,它只知道發出的獲取名字屬性的請求得到了滿意的結果而已。


  事實上,CORBA或Java RMI的實現方式與此類似,只不過遠沒有這么簡單而已。這個程序對于說明分布式對象應用程序的執行機理是很有用的。

程序源代碼如下所示:


文件Dog.java

public interface Dog

{

public String getName() throws Exception;

}/* Dog */

文件DogClient.java

public class DogClient

{

public static void main( String[] args ) throws Exception

{

Dog dog = new Dog_Stub();

String strName = dog.getName();

System.out.println( "姓名:" + strName );

}//main()

}/* DogClient */

文件DogServer.java

public class DogServer implements Dog

{

String strName;

int intAge;

public String getName() throws Exception

{

return strName;

}//getName()

public DogServer( String strNameInput )

{

strName = strNameInput;

}//DogServer()

public static void main( String[] args ) throws Exception

{

New Dog_Skeleton( new DogServer( "TOMCAT" ) );

}//main()

}/* DogServer */

文件Dog_Skeleton.java

import java.io.*;

import java.net.*;

public class Dog_Skeleton extends Thread

{

static ServerSocket ss = null;

DogServer ds;

public Dog_Skeleton( DogServer dsInput ) throws Exception

{

ds = dsInput;

if ( ss == null )

ss = new ServerSocket( 8000 );

this.start();

}//Dog_Skeleton()

public synchronized void run()

{

Try

{

while ( ss != null )

{

Socket socket = ss.accept();

ObjectInputStream ois = new ObjectInputStream( socket.getInputStream() );

ObjectOutputStream oos = new ObjectOutputStream( socket.getOutputStream() );

String strMethodName = ( String )ois.readObject();

if ( strMethodName.equals( "getName()" ) )

oos.writeObject( ds.getName() );

oos.flush();

ois.close();

oos.close();

socket.close();

}//while

}//try

catch( Exception e )

{

e.printStackTrace();

}//catch

}//run()

}/* Dog_Skeleton */

文件Dog_Stub.java

import java.io.*;

import java.net.*;

Public class Dog_Stub implements Dog

{

Socket socket;

ObjectOutputStream oos;

ObjectInputStream ois;

public Dog_Stub() throws Exception

{

socket = new Socket( "wudi", 8000 );

Oos = new ObjectOutputStream( socket.getOutputStream() );

Ois = new ObjectInputStream( socket.getInputStream() );

}//Dog_Stub()

public String getName() throws Exception

{

Oos.writeObject( "getName()" );

Oos.flush();

return ( String )ois.readObject();

}//getName()

}/* Dog_Stub */


運行該分布式對象程序時,首先運行DogServer,然后在客戶端運行DogClient即可看到結果。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品在线小视频| 亚洲国产小视频在线观看| 日韩美女视频中文字幕| 亚洲精品国产福利| 中文字幕v亚洲ⅴv天堂| 国产视频丨精品|在线观看| 国产精品夫妻激情| 伊人伊成久久人综合网站| 欧美视频国产精品| 日韩中文字幕久久| 国产精品亚洲第一区| 日韩hd视频在线观看| 一二美女精品欧洲| 国产视频精品自拍| 久久av在线看| 欧美最猛黑人xxxx黑人猛叫黄| 久久久亚洲天堂| 国产精品老女人视频| 26uuu日韩精品一区二区| 国产精品永久在线| 日韩精品视频免费| 欧美性猛交xxxx免费看| 国产噜噜噜噜噜久久久久久久久| 麻豆一区二区在线观看| 国产激情久久久久| 欧美另类极品videosbestfree| 这里精品视频免费| 免费97视频在线精品国自产拍| 欧美精品电影免费在线观看| 久久国产精品99国产精| 亚洲色图激情小说| 亚洲精品欧美日韩| 91美女福利视频高清| 成人精品一区二区三区电影免费| 亚洲美女黄色片| 国产成人+综合亚洲+天堂| 国产精品嫩草影院一区二区| 欧美日韩在线另类| 欧美成人一区在线| 亚洲国产高潮在线观看| 精品久久久久久中文字幕| 国产成人91久久精品| 亚洲激情视频在线播放| 色偷偷av亚洲男人的天堂| 亚洲欧美国产精品va在线观看| 97精品一区二区三区| 亚洲成人久久久| 91精品国产91久久久久久| 欧美精品999| 欧美激情一二区| 欧美激情亚洲国产| 亚洲一二在线观看| 91人成网站www| 97精品国产97久久久久久免费| 日韩欧美在线观看| 久久午夜a级毛片| 在线一区二区日韩| 日韩欧美极品在线观看| 日韩av在线免费看| 久久久亚洲国产天美传媒修理工| 欧美日韩国产中文字幕| 日本高清不卡的在线| 久久久久久久成人| 欧美视频在线观看 亚洲欧| 亚洲桃花岛网站| 国产不卡一区二区在线播放| 国产精品美女久久久久久免费| 国产一区视频在线| 亚洲精品videossex少妇| 91经典在线视频| 亚洲精品久久7777777| 亚洲欧美资源在线| 国产精品嫩草视频| 黄色一区二区三区| 欧美极品少妇与黑人| 欧美激情一区二区三区在线视频观看| 欧美性xxxx| 高跟丝袜一区二区三区| 亚洲欧美日韩中文在线| 久久精品国产亚洲一区二区| 欧美大片va欧美在线播放| 欧美性xxxxxx| 国产一区二区三区欧美| 日韩av影视综合网| 欧美乱大交xxxxx另类电影| 亚洲最大福利网| 91香蕉嫩草影院入口| 久久久久久久久久久网站| 伊人久久精品视频| 中文字幕日韩av电影| 成人激情视频网| 中文字幕在线日韩| 久热精品视频在线观看一区| 97国产一区二区精品久久呦| 狠狠综合久久av一区二区小说| 色小说视频一区| 裸体女人亚洲精品一区| 欧美在线视频一区| 7m精品福利视频导航| 亚洲免费av网址| 97视频com| 亚洲午夜久久久影院| zzijzzij亚洲日本成熟少妇| 日韩高清人体午夜| 欧美高清视频一区二区| 国内自拍欧美激情| 欧美日韩成人网| 欧美亚洲另类视频| 欧美激情一区二区三区在线视频观看| 欧美激情xxxx性bbbb| 欧美一区三区三区高中清蜜桃| 日韩激情片免费| 成人精品网站在线观看| 精品福利视频导航| 久久精品福利视频| 色吧影院999| 国内精品小视频在线观看| 欧美激情精品在线| 欧美大片大片在线播放| 日韩国产高清污视频在线观看| 欧美日韩亚洲国产一区| 中文字幕一区二区精品| 国产精品久久久久久久美男| 日韩美女免费观看| 琪琪第一精品导航| 91色中文字幕| 欧美极品xxxx| 亚洲天堂视频在线观看| 日韩欧美综合在线视频| 亚洲片国产一区一级在线观看| 精品国产一区二区三区久久| 日韩av黄色在线观看| 91在线视频九色| 国产亚洲精品久久久久久牛牛| 一区二区国产精品视频| 日韩美女在线观看一区| 国产精品视频精品| 亚洲欧美日韩精品久久亚洲区| 久久这里只有精品99| 亚洲精品动漫100p| 色悠悠久久88| 26uuu亚洲伊人春色| 日韩国产欧美区| 97成人精品视频在线观看| 国产ts一区二区| 日韩在线观看免费高清| 亚洲国产精品久久久久久| 欧美日韩国产限制| 国产精品av电影| 亚洲a区在线视频| 成人亚洲综合色就1024| 91精品国产91久久久久福利| 91久久精品国产| 亚洲一区二区免费| 欧美日韩综合视频| 久久久久久亚洲精品不卡| 日韩美女在线观看一区| 精品国产成人在线| 亚洲欧美在线免费| 一本色道久久综合狠狠躁篇的优点| 欧美床上激情在线观看| 一区二区三区国产视频| 久久久免费观看视频| 亚洲欧美中文日韩v在线观看|