动态网站制作指南 [  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教程 ]的信息

本月文章推荐
.专家讲解优化Derby数据库程序性能.
.对象“友好的”访问.
.Java 的 finalize()用途何在.
.用Java生成gif动画.
.Servlet 容器的工作原理 ( 三 ).
.详细解析抽象类和接口的区别.
.eclipse反编译插件Jadclipse介绍.
.开发Java系统程序员要注意的基本.
.抽象类(abstract class)和接口.
.审查Java 代码的十一种常见错误.
.MD5的JavaBean实现.
.给JavaBeans 增加XPath功能.
.JDBC 连接 各种数据库方法.
.使P2P能进行交互操作:Jxta 的故.
.Properties类不直接支持多语言属.
.如何调用部署在其他服务器上的EJ.
.Weblogic81和Hibernate 的集成问.
.EJB概述:分布式多层体系结构.
.JPanel加载图像的过程.
.保存Java程序状态及设置Properti.

Java远程方法调用(4)

发表日期:2008-1-5 |



  Java远程方法调用(4)

· 代理
因为RMI答应使用Java实现下载属性,所以您可使用RMI 编写代理系统。代理的最简单格式如下:

import java.rmi.*;
public interface AgentServer extends Remote {
void accept(Agent agent)
throws RemoteException, InvalidAgentException;
}
public interface Agent extends java.io.Serializable {
void run();
}
启动一个代理也就创建了实现Agent (代理)接口、找到服务器、激活接受该代理对象的类。该代理的执行程序将被下载到服务器上运行。accept方法将启动一个该代理的新线程,激活其run方法,然后返回,从而使该代理一直执行到run方法返回为止。代理可通过激活在另一台主机上运行的服务程序的accept方法而移植到该主机,而其本身则作为将被接受的代理来传递,并结束其在原来主机上的线程。
面向对象的代码重用与设计模式

   面向对象的编程是一项答应代码重用的强大技术。很多企业组织都使用面向对象的编程来减轻创建程序的负担和提高系统的灵活性。RMI是完全面向对象的--信息被发送给远程对象,而且对象可以被传递和返回。

Design Patterns (设计模式)目前在描述面向对象设计的实践活动中获得了相当大的成功。首先是因为Design Patterns 的创新工作而使之大受欢迎,这些编程方式是一种正式描述解决某类特定问题的完整方法的途径。所有这些设计模式都依靠于创建一个或多个抽象概念,这些抽象概念答应不同的实现,从而答应和增强软件重用。软件重用是面向对象技术的主要优势,而设计模式则是促进重用的最受欢迎的技术之一。

所有设计模式都依靠面向对象的多态性--这是对象( 如Task )拥有多个实现的能力。算法的普通部分(如compute 方法)不必知道使用了哪个实现,它只需知道得到一个对象后应该对该对象采取什么操作。非凡地,计算服务器就是Command (指令)模式的一个例子,它可使您将请求 (任务)表示为对象,并对其进行调度。

只有当包括执行程序在内的完整对象能在客户机和服务器之间传递时,才会存在这样的多态性。DCE和DCOM等传统的RPC系统以及CORBA等基于对象的RPC系统不能下载并执行程序,因为它们不能把真实对象作为参数传递,而只能传递数据。

   RMI可传递包括执行程序在内的所有类型,所以您可以在分布式计算解决方案中,而不仅仅是本地计算中使用面向对象的编程--包括设计方式。假如没有RMI这样完全面向对象的系统,那么您就必须放弃很多分布式计算系统中的设计方式--以及面向对象的软件重用的其它形式。

· 与现有服务器的连接

   人们常说,RMI主要是“从Java到Java”,但这种说法掩盖了这样一个事实:Java可使用被称为JNI的本机方法接口,很轻易地与现有和原有系统连接。JNI和RMI的混合使用与任何其它Java程序一样简单。您可使用JDBC,再结合RMI,与现有的关系数据库连接。也就是说,您可使用RMI连接二层次和三层次系统--即使双方都不是用Java 编写的亦可。这样做有很大的好处和优势,下面会具体阐述。但首先让我们看一看它是如何完成的。

假定您现在有一台在关系数据库中存储了有关客户订单信息的服务器。在任何多层次系统中,您都得设计一个远程接口,以便于客户机访问服务器--利用作为Remote 接口的RMI:

import java.rmi.*;
import java.sql.SQLException;
import java.util.Vector;
public interface OrderServer extends Remote {
Vector getUnpaid() throws RemoteException, SQLException;
void shutDown() throws RemoteException;
// ... other methods (getOrderNumber, getShipped, ...)
}
java.sql包包含JDBC包。每个远程方法均可被服务器采用实际数据库的JDBC调用,或通过采用其它数据库访问机制的本机方法实现。上面所示的方法返回一个Order (订单) 对象的Vector (列表)。Order (订单)就是在您的系统中定义的、用来保存客户订单的类。
本节将介绍如何使用JDBC实现getUnpaid,和如何使用JNI 实施shutDown。

· JDBC -- 连接数据库

   使用JDBC实现getUnpaid的OrderServerImpl如下:

上一篇:Java之util类 人气:816
下一篇:Java的网络功能与编程 一 人气:521
浏览全部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 PicShare照片共享 v1.0.0 破解版
2008-10-11 Photogene照片编辑器 v1.5 汉化破
2008-10-11 WriteRoom共享文档 v1.0 破解版
2008-10-11 XBMC-Remote远程媒体控制 v1.0 破
2008-10-11 TN5250-AS/400商用服务器 v1.1破
2008-10-11 TVForecast电视节目导航 v1.0 破
2008-10-11 Spend花销明细 v1.25 破解版
2008-10-11 SpaceEnvi空间画廊 v1.0.2 破解版
2008-10-11 VoiceDial语音拨号 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対策 中国語教室 ホームページ作成