动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息

本月文章推荐
.Hibernate 3 Annotations 进阶.
.推技术聊天室的实现(上).
.开天劈地:开发 JAVA 程序的新武.
.Jini能给您带来什么.
.Jdk5.0新特性Generic Types (泛.
.在Java开源的王国中自由翱翔.
.Java如何调用C/C++(JNI).
.利用Java技术编写桌面软件基础.
.基础教程介绍——什么是SOA?.
.制作可执行JAR.
.Java的字串运算符+.
.ShortPath 属性.
.玩玩Spring之Rod Johnson与轮子理.
.树形结构的实现.
.Java游戏直棋(二).
.Java软件开发学习笔记(三).
.使用JAVA技术实现文件的上传.
.SWT/JFace开发入门指南之搭建开发.
.Spring框架快速入门之简介.
.构建可扩展的Java图表组件.

开发第一个分布式的j2ee应用

发表日期:2008-1-5 |



  这里先引用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.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.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的优点是在哪儿?什么是分布式的,在一台机器上那还叫什么分布系统吗?是不是有点可笑》现在
上一篇:构建J2EE应用程序的任务列表 人气:477
下一篇:对J2EE几点的理解 人气:441
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-10 企业网站智能管理系统(TZIMS) v6
2008-10-10 拓文asp.net网站内容管理系统 v6
2008-10-10 动网论坛PHP版 v2.0++ Build 081
2008-10-10 免费时代CMS v5.0
2008-10-10 wodig第四季中文DIGG社区 v4.1 b
2008-10-10 老Y文章管理系统 v2.2 bulid 081
2008-10-10 魔法盒动感相册 ASP+SQL版 v2.0
2008-10-10 Asoft签到管理系统 v3.0 Pack1
2008-10-10 哥特人音乐网潮流留言本 v1.1
2008-10-11 联系人分组工具 v1.1 中文破解版
2008-10-11 FaceMelter变脸 v2.0 汉化破解版
2008-10-11 PathTracker道路跟踪仪 v1.2 破解
2008-10-11 Rooms手机聊天室 v0.6.7 破解版
2008-10-11 RemoteDesktop远程桌面 v1.0 破解
2008-10-11 ProRemote远程调音台 v1.0.1 破解
2008-10-11 PicShare照片共享 v1.0.0 破解版
2008-10-11 Photogene照片编辑器 v1.5 汉化破
2008-10-11 WriteRoom共享文档 v1.0 破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成