📄 client.java
字号:
//声明本接口所在的包
package examples.security.acl;
//声明本类引入的其他类
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.InitialContext;
/**
* 以给定的用户名调用RMI。
*
*/
public class Client {
/**
* 主方法:检查参数,查找frob target,调用frob方法,报告结果。
*/
public static void main(String[] arg) {
Context ctx = null;
if (arg.length != 3) {
//打印用法提示
System.out.println("Usage: java examples.security.acl.Client " +
"URL username password");
System.out.println("Example: java examples.security.acl.Client " +
"t3://localhost:7001 guest guest");
return;
}
try {
//获取上下文
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
env.put(Context.PROVIDER_URL, arg[0]);
env.put(Context.SECURITY_PRINCIPAL, arg[1]);
env.put(Context.SECURITY_CREDENTIALS, arg[2]);
ctx = new InitialContext(env);
///查找远程对象
Frobable f = (Frobable) ctx.lookup("frobtarget");
//调用远程方法
f.frob();
System.out.println("Frobbed successfully");
}
catch (Throwable t) {
t.printStackTrace();
System.out.println("Failed to frob");
}
finally {
try {ctx.close();}
catch (Exception e) {
// 处理任何失败
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -