不是很明白调用RMI接口的,问题是这样的,服务端在服务器上创建完毕并生成了 stub 代理类,客户端要调用的时候是怎么下载的,是将 stub 类用 HTTP或FTP之类的方式下载到本机,之后客户端手动的将此类添加到项目里面吗,要是这样的话 如服务端发布出的接口 为 S 里面有增删改查的方法,那在客户端调用的时候也需要手动写一个与服务端发布出来接口一样的类吗?请求各位指教。或给出例子。
解决方案 »
- 为什么我的HttpServletRequest里面没有getLocalName和getLocalAddr方法
- Hibernate异常:Unable to locate appropriate constructor on class
- java如何判断文件是否是tar.gz 类型
- 关于Struts连接数据库Struts-config.xml的配置正确吗? 在Action那样读取连接可以吗?为什么会有问题呢? 新手上路,请多帮助!
- spring连sqlserver
- 我做的jsp怎么不能被局域网访问啊?
- 各位救急!!!在线等待回复。给100分
- QQ 群发 QQ协议 批量加好友 我已经做发来了,并能批量登陆加好友,批量群发,你们谁有做过这类似的吗,交流一下。呵呵。我的QQ是 309159808
- what is IDA PRO?
- 怎样比较两个页面变量的大小(STRUTS)?
- 如果当前工程的junit测试很多很久,平时需要经常跑。如何最简单的最快的找出可能失败的.java?
- 刚学java不久,请教如何让一个Action内的多个不同DAO层事务手动提交?谢谢~~~
import java.rmi.RemoteException;
import java.util.Map;/**
* 功能说明:用户接口
* @author fengchangxue
*/
public interface IUser extends Remote {
public boolean save(String op, Map map) throws RemoteException;
}package com.cap.rmi.client;import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.Map;import com.cap.business.UserManager;
import com.cap.rmi.remote.IUser;public class User extends UnicastRemoteObject implements IUser {
public User() throws RemoteException { } public boolean save(String op, Map map) throws RemoteException { return UserManager.getInstance().save(op, map);
}
}发布接口:
LocateRegistry.createRegistry(port);Naming.bind("rmi://" + ip + ":" + port + "/IUser", user);
接口和实现类写好之后就可以发布接口了客户端:String url = "rmi://localhost" + ":" + port + "/IUser";
Object obj = (Object) java.rmi.Naming.lookup(url);
obj就是接口的对象,你可以转换成你的接口类型,也可以通过反射调用,但是客户端调用服务端的接口必须有相关接口类以及参数的自定义对象,可是客户端没有怎么办,那就得由服务器端提供第一:服务器端要把相关的接口打成jar给客户端
第二:如果你的参数包含实体对象,那就要把相关的实体打成jar给客户端大致就是这样了,其中的奥秘你得自己写了然后测试,分别用两个工程做测试,不要再同一个工程里面
最近在家里面一个事业单位上班。 放弃了我喜爱的java开发。
所以现在想在网络上找一个能够 做开发的活。 稍微给点报酬就行了。
还希望大家给我介绍一下。谢谢了 看上的老板,可以私信给我。