问一个java RMI问题 不知道有人看过<<java网络高级编程>>这本书,在这本书的第二章有一个java RMI的例子,我把它抄下来了,也按步骤弄好了,但客户端在运行的时候,抛出了一个AccessControlException显示访问被拒绝,不知道怎么回事?在客户端运行的时候,rmiregistry与服务器都已经被启动了呀。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这书用的是老的(JDK5之前的)技术。客户端启动也要用参数:-Djava.security.policy=你的policy文件要么就像书上那样用appletviewer来启动客户端。 代码如下://Upper.javaimport java.rmi.*;public interface Upper extends Remote{ String upperCase(String s)throws RemoteException;}//UpperImpl.javaimport java.rmi.*;import java.rmi.server.UnicastRemoteObject;public class UpperImpl extends UnicastRemoteObject implements Upper{ public UpperImpl()throws RemoteException { super(); } public String upperCase(String s)throws RemoteException { return s.toUpperCase(); } public static void main(String[]args) { System.setSecurityManager(new RMISecurityManager()); try { UpperImpl obj=new UpperImpl(); Naming.rebind("UpperString",obj); System.out.println("UpperString bound in registry"); } catch(Exception e) { System.out.println("UpperImpl err:"+e.getMessage()); e.printStackTrace(); } }}//UpperClient.javaimport java.rmi.*;public class UpperClient{ public static void main(String[]args) { System.setSecurityManager(new RMISecurityManager()); Upper obj=null; try { obj=(Upper)Naming.lookup("UpperString"); String results=obj.upperCase("abc"); System.out.println("Result:"+results); } catch(Exception e) { System.out.println("RMI Exception:"+e.getMessage()); e.printStackTrace(); } }}//RMIpolicy.policygrant{ permission java.security.AllPermission;};大家看看这些代码哪儿有问题,还是其他的问题我的计算机上的运行结果是这个是客户端运行的结果:进行读取时出现 I/O 异常: E:\UpperClient (系统找不到指定的文件。)不知道为什么 代码没问题。运行方式的问题。找不到的文件是policy文件吧? 没看过<<java网络高级编程>> 不知道对J2EE程序员来说帮助大不? 我刚入行 数组求和问题? 菜鸟提问。。。请多关照 对象的塑型与方法的查找,很混乱,能否帮忙一下 新手:java调用存贮过程问题,请各位近来帮个忙,,急,在线等. 很小一个问题,望赐教. 问一个线程的问题 Vector 的问题,十万火急,在线等! JDBC连接数据库查询表中数据时出错,求助!!! help,来的都有分,在线等待 请问java中有类似vc的atof和atoi的语句吗? Java中的一道求斜率,平行题!求解决 Exception in thread "main" java.lang.NullPointerException大神们这是什么问题
客户端启动也要用参数:
-Djava.security.policy=你的policy文件要么就像书上那样用appletviewer来启动客户端。
//Upper.java
import java.rmi.*;public interface Upper extends Remote
{
String upperCase(String s)throws RemoteException;
}
//UpperImpl.java
import java.rmi.*;
import java.rmi.server.UnicastRemoteObject;public class UpperImpl extends UnicastRemoteObject implements Upper
{
public UpperImpl()throws RemoteException
{
super();
}
public String upperCase(String s)throws RemoteException
{
return s.toUpperCase();
}
public static void main(String[]args)
{
System.setSecurityManager(new RMISecurityManager());
try
{
UpperImpl obj=new UpperImpl();
Naming.rebind("UpperString",obj);
System.out.println("UpperString bound in registry");
}
catch(Exception e)
{
System.out.println("UpperImpl err:"+e.getMessage());
e.printStackTrace();
}
}
}
//UpperClient.java
import java.rmi.*;
public class UpperClient
{
public static void main(String[]args)
{
System.setSecurityManager(new RMISecurityManager());
Upper obj=null;
try
{
obj=(Upper)Naming.lookup("UpperString");
String results=obj.upperCase("abc");
System.out.println("Result:"+results);
}
catch(Exception e)
{
System.out.println("RMI Exception:"+e.getMessage());
e.printStackTrace();
}
}
}
//RMIpolicy.policy
grant
{
permission java.security.AllPermission;
};
大家看看这些代码哪儿有问题,还是其他的问题
我的计算机上的运行结果是
这个是客户端运行的结果:
进行读取时出现 I/O 异常: E:\UpperClient (系统找不到指定的文件。)不知道为什么
运行方式的问题。找不到的文件是policy文件吧?