国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

開發第一個分布式的j2ee應用

2019-11-18 12:30:28
字體:
來源:轉載
供稿:網友

  這里先引用Charly的Windows2000下安裝J2EE和部署J2EE應用程序中的部門內容
  1. 安裝
  可以從以下網址下載一個J2EE(j2sdkee-1_3-beta2-win.exe):http://java.sun.com/j2ee/j2sdkee-beta/index.Html。也許你已裝了舊版的J2EE SDK 產品,假如是,在安裝新下載的J2EE之前請先卸載或刪掉舊版的J2EE SDK。運行j2sdkee-1_3-beta2-win.exe,按安裝步驟安裝好J2EE。這里假設你的J2EE安裝在:C:/j2sdkee1.3 目錄下。
  
  2. 設置環境變量
  在運行J2EE SDK之前,你必須設置以下環境變量:
  J2EE_HOME - 你的J2EE SDK所安裝的目錄。如本例中的:C:/j2sdkee1.3 。
  JAVA_HOME - 你的Java 2 SDK 所安裝的目錄。
  PATH - 設置為你安裝J2EE SDK目錄下的bin目錄。如本例的的:C:/j2sdkee1.3/bin 。
  ClassPath - 增添%J2EE_HOME%/lib/j2ee.jar到ClassPath中。本例中也可寫為:C:/j2sdkee1.3/lib/j2ee.jar
  
  3. 運行J2EE
  Dos命令行敲入以下命令:
  %J2EE_HOME%/bin/j2ee -verbose
  顯示以下信息表示運行成功:(不同的版本顯示可能不同)
  J2EE server listen port: 1050
  Naming service started:1050
  Binding DataSource, name = jdbc/EstoreDB, url = jdbc:cloudscape:rmi:CloudscapeDB;create=true
  Binding DataSource, name = jdbc/DB2, url = jdbc:cloudscape:rmi:CloudscapeDB;create=true
  Binding DataSource, name = jdbc/Cloudscape, url = jdbc:cloudscape:rmi:CloudscapeDB;create=true
  Binding DataSource, name = jdbc/InventoryDB, url = jdbc:cloudscape:rmi:CloudscapeDB;create=true
  Binding DataSource, name = jdbc/DB1, url = jdbc:cloudscape:rmi:CloudscapeDB;create=true
  Binding DataSource, name = jdbc/XACloudscape, url = jdbc/XACloudscape__xa
  Binding DataSource, name = jdbc/XACloudscape__xa, dataSource = COM.cloudscape.core.RemoteXaDataSource@330913
  Starting JMS service ... Initialization complete - waiting for client requests
  Binding : < JMS Destination : jms/Queue , javax.jms.Queue >
  Binding : < JMS Destination : jms/Topic , javax.jms.Topic >
  Binding : < JMS Cnx Factory : jms/TopicConnectionFactory , Topic , No properties >
  Binding : < JMS Cnx Factory : TopicConnectionFactory , Topic , No properties >
  Binding : < JMS Cnx Factory : jms/QueueConnectionFactory , Queue , No properties >
  Binding : < JMS Cnx Factory : QueueConnectionFactory , Queue , No properties >
  Starting web service at port:8000
  Starting secure web service at port:7000
  Apache Tomcat/4.0-b4-dev
  Starting web service at port:9191
  Apache Tomcat/4.0-b4-dev
  J2EE server startup complete.
  
  啟動成功后,在IE瀏 覽 器 中 訪 問 HTTP://localhost:8000 可 以 看 到 默 認 的 主 頁 信 息 。
  
  4. 編寫和運行HelloWorld程序
  J2EE應用程序一般使用RMI(遠程方法調用)來完成客戶端與服務器的交互。當然,其間也少不了EJB的作用。本例為一個J2EE應用程序:客戶端向服務器發送一個問候語:“Hello,Remote Object”。服務器收到該問候語后打印該問候語,并返回一字符串作為應答。客戶端收到此應答后打印它。
  
  RemoteInterface.java
  
  /**
  * 第一步:
  * 定義一個新的接口繼續javax.ejb.EJBObject。新定義的接口中的每一個方法都必須拋出
  * java.rmi.RemoteException異常。
  */
  public interface RemoteInterface extends javax.ejb.EJBObject
  {
  public String message(String str)throws java.rmi.RemoteException;
  }
  
  RemoteObject.java
  
  /**
  * 第二步:
  * 定義一個類來實現javax.ejb.sessionBean接口。并在該類中實現在第一步中編寫的接口中所定義的方法。
  */
  public class RemoteObject implements javax.ejb.SessionBean
  {
  public String message(String str)throws java.rmi.RemoteException
  {
  System.out.  return "Hello,I'm Remote Object,I received your message: /'"+str+"/'"; //返回一應答字符串。
  }
  
  public RemoteObject() {}
  public void ejbCreate() {}
  public void ejbRemove() {}
  public void ejbActivate() {}
  public void ejbPassivate() {}
  public void setSessionContext(javax.ejb.SessionContext sc) {}
  }
  
  RemoteHome.java
  
  /**
  * 第三步:
  * 定義一個類繼續javax.ejb.EJBHome 。
  */
  public interface RemoteHome extends javax.ejb.EJBHome
  {
  RemoteInterface create()throws java.rmi.RemoteException,javax.ejb.CreateException;
  }
  
  Client.java
  
  /**
  * 第四步:
  * 定義客戶端類。
  */
  public class Client
  {
  public static void main(String[] args)
  {
  try
  {
  javax.naming.Context initContext=new javax.naming.InitialContext();
  Object obj=initContext.lookup("HelloWorld"); //遠程查找,由名字得到對應的對象。
  RemoteHome home=(RemoteHome)javax.rmi.PortableRemoteObject.narrow(obj,RemoteHome.class);
  RemoteInterface remote=home.create();
  String receiveFromRemote=remote.message("Hello,Remote Object!"); //遠程方法調用
  System.out.println("Client Received From Remote Object: /""+receiveFromRemote+"/"");
  }
  catch(Exception e)
  {
  e.printStackTrace();
  }
  }
  }
  
  假設以上四個Java文件存于C:/HelloWorld/下,編譯它們如:C:/HelloWorld>javac *.java 。
  
  5. 部署應用程序
  啟動Application Dopolyment Tool:新開一個Dos窗口,鍵入以下命令,%J2EE_HOME%/bin/deploytool 。該工具啟動速度可能比較慢,要耐心等待。啟動成功后會出現主界面(此時不要關閉Dos窗口)。在該界面中選 擇 File菜 單 ,再選New Application項。在 Application File Name 輸 入 :C:/HelloWorld/HelloWorld.ear 。在 Application Disply Name 輸 入 你所喜歡的顯示名如:HelloWorld。點 擊 OK,在主界面的樹形結構Files-->Applications下將增加新的一項:HelloWorld。這意味著產生了一個新的應用程序。接下來我們要做的就是部署該應用程序。在主界面的樹形結構下選中HelloWorld,然后再在主界面的File菜單中選取New-->Enterprise Bean,在彈出的名為“New Enterprise Bean - IntrodUCtion”窗口中選取Next跳過第一步,在接下來的一步中,Create New EJB File in Application項中選HelloWorld,在EJB Display Name中填上你喜歡的名字如:Hello World EJB,點擊Edit按鈕,在彈出的窗口中,Start Directory中填:C:/HelloWorld/,在Available Files中展開樹形結構C:/HelloWorld/,選取RemoteInterface.class、RemoteObject.class、RemoteHome.class、Client.class四項,點Add按鈕添加,然后按OK確定。此時在Contents框中增加了該四個class。點Next進入下一步。Session項選Stateless,意為不保存session狀態。Enterprise Bean Class選RemoteObject。Enterprise Bean Name中填上你喜歡的名字如:Hello World Bean。Remote Home Interface中選RemoteHome,Remote Interface中選RemoteInterface。選Next進入下一步。接下來的步驟可直接點Finish。這時主界面的樹形結構中Files-->Application-->Hello World中將出現Hello World EJB-->Hello World Bean子項。在主界面的樹形結構下選中Hello World,然后再在主界面的Tools菜單中選取Deploy,將彈出新的窗口名為“Deploy Hello World - Introduction”。Object to deploy中選Hello World,Target server中選localhost,選中Retuen Client Jar,在Client Jar File Name中填上:C:/HelloWorld/HelloWorldClient.jar。選Next進入下一步,在
application框的JNDI Name框中雙擊并填上HelloWorld,注重必須與Client.java中Object obj=initContext.lookup("HelloWorld")的“HelloWorld”保持一致。點Next進入下一步。點Finish完成。這時將出現Deployment Progress窗口。假如有誤,該窗口將出現異常信息。假如一切正常,點OK便完成了部署工作。
  
  6. 運行應用程序
  新開一個Dos窗口。進入C:/HelloWorld/Classes目錄下運行:C:/ HelloWorld/Classes>java -classpath %J2EE_HOME%/lib/j2ee.jar;.;HelloWorldClient.jar; Client 。運行成功則出現如下信息:Client Received From Remote Object: "Hello,I'm Remote Object,I received your message: 'Hello,Remote Object!'" 。而服務端Dos窗口(j2ee -verbose)中出現如下信息:Remote Object Received From Client: "Hello,Remote Object!" 。
  
  
  好,到了這里大家應該都開始了一個真正的j2ee程序了吧?
  可是現在有一個問題,ejb和j2ee的優點是在哪兒?什么是分布式的,在一臺機器上那還叫什么分布系統嗎?是不是有點可笑》現在

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 孟州市| 集安市| 宝坻区| 北宁市| 西华县| 乐安县| 广安市| 宜川县| 深圳市| 新宁县| 合肥市| 秭归县| 吉隆县| 赫章县| 安宁市| 遂溪县| 崇左市| 淮安市| 大同市| 抚顺市| 屏边| 崇阳县| 永年县| 梅州市| 钟祥市| 乌鲁木齐县| 南宫市| 分宜县| 双城市| 九台市| 平湖市| 临朐县| 上思县| 会同县| 乐陵市| 唐海县| 南平市| 长寿区| 历史| 抚州市| 靖江市|