六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

用RMI實(shí)現(xiàn)J2EE分佈試應(yīng)用之試驗(yàn)手記

[摘要]//*****************************************//* 用RMI實(shí)現(xiàn)J2EE分佈試應(yīng)用之試驗(yàn)手記//* 試驗(yàn)人:火火火//* EMAIL :jun_bai@sohu.com//* 試驗(yàn)時(shí)間:2001/12/22 下午 于虎門大板地//*************...
//*****************************************
//* 用RMI實(shí)現(xiàn)J2EE分佈試應(yīng)用之試驗(yàn)手記
//* 試驗(yàn)人:火火火
//* EMAIL :jun_bai@sohu.com
//* 試驗(yàn)時(shí)間:2001/12/22 下午 于虎門大板地
//*****************************************
//遠(yuǎn)程方法調(diào)用(RMI)機(jī)制可以把面向?qū)ο蟮乃枷脒M(jìn)一步擴(kuò)展,因?yàn)槟憧梢哉{(diào)用
//的對象不僅可以在本機(jī)上,也可以在別的主機(jī)上。本文就簡單介紹rmi的編程方法。
//下面就通過一個(gè)例子來說明編寫的過程。
//  
//*1.編寫服務(wù)器的接口:這一步是最主要的部分,因?yàn)榻涌谑沁B接客戶機(jī)
//*與服務(wù)器的關(guān)鍵部分。在這個(gè)例子中,接口很簡單,代碼如下:Rem.java
//************************************************************************
//*Rem.java
//************
import java.rmi.*;
public interface Rem extends Remote
{
public String getMessage() throws RemoteException;
public String getAuthor() throws RemoteException;
}
//************************************************************************

//*************************************
//*2.編寫服務(wù)器對象:RemServer.java
//************************************************************************
//*RemServer.java
//****************
import java.rmi.*;
import java.net.*;
public class RemServer
{
public static void main(String[] args)
{
try
{
RemImpl localObject = new RemImpl();
Naming.rebind("rmi://localhost/Rem",localObject);
}catch(RemoteException re)
{
System.out.println("RemoteException:"+re);
}
catch(MalformedURLException mfe)
{
System.out.println("MalformedURLException:"+mfe);
}
}
}
//************************************************************************


//*************************************
//*3.編寫創(chuàng)建服務(wù)器對象的服務(wù)器程序:RemImpl.java
//************************************************************************
//*RemImpl.java
//************
import java.rmi.*;
import java.rmi.server.*;
public class RemImpl extends UnicastRemoteObject implements Rem
{
public RemImpl() throws RemoteException
{
}
public String getMessage() throws RemoteException
{
return "Here is a remote message.";
}
public String getAuthor() throws RemoteException
{
return "fancy.";
}
}

//************************************************************************


//*************************************
//*4.編寫客戶端代碼:RemClient.java
//************************************************************************
//*RemClient.java
//************
import java.rmi.* ;
import java.net.* ;
import java.io.*;

public class RemClient
{
 public static void main(String[] args)
 {
try
{
String host =(args.length>0)?args[0]:"192.1.1.23"; //改為你的RMI遠(yuǎn)程務(wù)器的IP地址.
Rem remObject=(Rem)Naming.lookup("rmi://"+ host +"/Rem");
System.out.println(remObject.getMessage()+"<br>");
System.out.println(remObject.getAuthor());
}
catch(RemoteException re)
{
System.out.println("RemoteException:" + re);
}
catch(NotBoundException nbe)
{
System.out.println("NotBoundException:" + nbe);
}
catch(MalformedURLException mfe)
{
System.out.println("MalformedURLException:" + mfe);
}
}
}
//************************************************************************


//*************************************
//*5.編寫JSP客戶端代碼:Rem.jsp
//************************************************************************
//*Rem.jsp
//************

<%@ page import="java.rmi.*" %>
<%@ page import="java.net.*" %>
<%@ page import="java.io.*"%>
<%@ page import="Rem"%>

<%
try{
String host ="192.1.1.23" ;//改為你的RMI遠(yuǎn)程務(wù)器的IP地址.
Rem remObject=(Rem)Naming.lookup("rmi://"+ host +"/Rem");
out.println(remObject.getMessage()+"<br>");
out.println(remObject.getMessage());
}
catch(RemoteException re)
{
out.println("RemoteException:" + re);
}
catch(NotBoundException nbe)
{
out.println("NotBoundException:" + nbe);
}
catch(MalformedURLException mfe)
{
out.println("MalformedURLException:" + mfe);
}
%>
//************************************************************************


/*
//************************************************************************
步驟說明:(假設(shè)你的JDK安裝在C:\jdk1.3.0_01下)
1.編譯javac_RemSverver.bat服務(wù)器端代碼
c:\> C:\jdk1.3.0_01\bin\javac RemServer.java
2.編譯RemImpl.java編寫創(chuàng)建服務(wù)器對象的服務(wù)器程序
c:\> C:\jdk1.3.0_01\bin\rmic RemImpl
將會自動產(chǎn)生RemImpl_Skel.class,RemImpl_Stub.class兩個(gè)文件.
3.運(yùn)行rmiregistry程序,啟動注冊系統(tǒng),使得服務(wù)器可以注冊在機(jī)器上,以供客戶調(diào)用。
 c:\> start C:\jdk1.3.0_01\bin\rmiregistry
4.編譯javac_RemClient.bat客戶端代碼
c:\> C:\jdk1.3.0_01\bin\javac RemClient.java
5.運(yùn)行服務(wù)器程序RemServer.class
c:\> start C:\jdk1.3.0_01\bin\java RemServer
6.運(yùn)行客戶程序RemClient.class
c:\> C:\jdk1.3.0_01\bin\java RemClient
在DOS可以看到結(jié)果:
Here is a remote message.
fancy.
7.運(yùn)行JSP客戶程序Rem.jsp
要將Rem.class,RemImpl_Stub.class兩個(gè)文件拷貝到Rem.jsp客戶端的classpass(WEB-INFO)
下,確保可以被Rem.jsp找到.
在IE可以看到結(jié)果:
Here is a remote message.
fancy.

全文完.





參考書籍:
編程高手成長之路6---JSP高級編程第4章2小節(jié) ;
//************************************************************************
*/






主站蜘蛛池模板: 欧美专区第一页 | 午夜黄色毛片 | 天堂网在线视频 | 亚欧色视频在线观看免费 | 日韩精品福利视频一区二区三区 | 亚洲综合资源 | 日本免费色 | 一级黄色片在线播放 | 日本高清视频免费观看 | 亚洲人成综合在线播放 | 天天做人人爱夜夜爽2020 | 日韩国产欧美成人一区二区影院 | 欧美亚洲国产精品 | 在线亚洲精品国产成人二区 | 午夜性爽爽爽 | 深夜视频在线观看免费 | 在线观看中文字幕第一页 | 日本中出视频 | 四虎在线永久免费观看 | 色在线视频播放 | 欧美性xxxx偷拍 | 午夜影视网站 | 天堂中文网| 日韩美香港a一级毛片 | 日本一道高清不卡免费 | 亚洲欧洲在线观看 | 亚洲 欧美 清纯 丝袜 另类 | 污污视频在线免费观看 | 日韩福利视频一区 | 欧美洲大黑香蕉在线视频 | 伊人免费在线观看高清版 | 亚洲爱爱网站 | 色网站免费 | 亚洲国产美女精品久久 | 天堂资源地址在线 | 在线亚洲+欧美+日本专区 | 午夜久久久久久亚洲国产精品 | 日韩激情成人 | 亚洲啪啪网站 | 日韩欧美国产三级 | 亚洲一区视频 |