CSDN - 技术频道 - 文档中心 - Java 标题 带你步入J2EE殿堂:最易懂的J2EE实例 CharlyOnline(原作) 要害字 J2EE Java J2EE安装与下载 J2EE模型 J2EE构建企业模型 Charly J2EE构建企业模型(一) Windows2000下安装J2EE和部署J2EE应用程序 Charly(09/05/2001) 1. 安装 可以从以下网址下载一个J2EE SDK(j2sdkee-1_3-beta2-win.exe):http://java.sun.com/Download5?referer=&download-name=j2sdkee-1_3-beta2-win.exe&config-file=j2sdkee-1_3-beta2.config&platform=win&domain-checked=unknownhostname&DEBUG=&document=license&button=ACCEPT 。假如这个地址不行,很可能是Sun的页面更新了的缘故,不要紧,可从这里下载:http://java.sun.com/j2ee/j2sdkee-beta/index.Html 。建议从后面那个地址下载,这样可有更多的选择余地,非凡是Sun将J2EE SDK升级了的话。也许你已装了旧版的J2EE SDK 产品,假如是,在安装新下载的J2EE SDK之前请先卸载或删掉旧版的J2EE SDK。运行j2sdkee-1_3-beta2-win.exe,按安装步骤安装好J2EE SDK。这里假设你的J2EE SDK安装在: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.println(\"Remote Object Received From Client: \\"\"+str+\"\\"\"); //打印(从客户端)接收到的字符串。 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.clas
|