当前位置: 首页 > news >正文

零基础做网站教程网页版传奇开服

零基础做网站教程,网页版传奇开服,设计导航网站大全see,广州网站建设设计哪家好1RMI简介 RMI(Remote Method Invocation) 远程方法调用。 RMI是从JDK1.2推出的功能#xff0c;它可以实现在一个Java应用中可以像调用本地方法一样调用另一个服务器中Java应用#xff08;JVM#xff09;中的内容。 RMI 是Java语言的远程调用#xff0c;无法实现跨语言。…1RMI简介 RMI(Remote Method Invocation) 远程方法调用。 RMI是从JDK1.2推出的功能它可以实现在一个Java应用中可以像调用本地方法一样调用另一个服务器中Java应用JVM中的内容。 RMI 是Java语言的远程调用无法实现跨语言。 2 执行流程 Registry(注册表)是放置所有服务器对象的命名空间。 每次服务端创建一个对象时它都会使用bind()或rebind()方法注册该对象。 这些是使用称为绑定名称的唯一名称注册的。 要调用远程对象客户端需要该对象的引用。即通过服务端绑定的名称从注册表中获取对象(lookup()方法)。 3 API介绍 3.1 Remote java.rmi.Remote 定义了此接口为远程调用接口。如果接口被外部调用需要继承此接口。 3.2 RemoteException java.rmi.RemoteException 继承了Remote接口的接口中如果方法是允许被远程调用的需要抛出此异常。 3.3 UnicastRemoteObject java.rmi.server.UnicastRemoteObject 此类实现了Remote接口和Serializable接口。 自定义接口实现类除了实现自定义接口还需要继承此类。 3.4 LocateRegistry java.rmi.registry.LocateRegistry 可以通过LocateRegistry在本机上创建Registry通过特定的端口就可以访问这个Registry。 3.5 Naming java.rmi.Naming Naming定义了发布内容可访问RMI名称。也是通过Naming获取到指定的远程方法。 4 代码实现 4.1 创建RMI接口 编写接口文件 package com.example.demo;import java.rmi.Remote; import java.rmi.RemoteException;// 定义一个远程服务接口。RMI强制要求必须是Remote接口的实现。 public interface FirstInterface extends Remote {// RMI强制要求所有的远程服务方法必须抛出RemoteException。String first(String name) throws RemoteException; }4.2 创建服务端 引入pom文件 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdparentartifactIdrmi_rpc/artifactIdgroupIdorg.example/groupIdversion1.0-SNAPSHOT/version/parentmodelVersion4.0.0/modelVersionartifactIdrmi_rpc_server/artifactIddependenciesdependencygroupIdorg.example/groupIdartifactIdrmi_rpc_api/artifactIdversion1.0-SNAPSHOT/version/dependency/dependencies/project 编写远程服务接口 package com.example.demo.impl;import com.example.demo.FirstInterface;import java.rmi.Remote; import java.rmi.RemoteException; import java.rmi.server.UnicastRemoteObject;// 实现远程服务接口。 所有的远程服务实现必须是Remote接口直接或间接实现类。 // 如果不会创建基于RMI的服务标准实现可以继承UnicastRemoteObject类型。 // RMI强制要求所有的方法必须抛出RemoteException包括构造方法。 public class FirstRMIImpl extends UnicastRemoteObject implements FirstInterface, Remote {public FirstRMIImpl() throws RemoteException {super();}public String first(String name) throws RemoteException {System.out.println(客户端请求参数是 name);return 你好 name;} } 创建启动类将服务注册到Registry上 package com.example.demo;import com.example.demo.impl.FirstRMIImpl;import java.rmi.Naming; import java.rmi.registry.LocateRegistry;// 主方法创建一个服务实现对象提供服务并注册到Registry上。 // RMI的Registry在创建的时候会自动启动一个子线程并升级为守护线程服务线程|精灵线程。提供持久的服务。 public class MainClass {public static void main(String[] args) {try {System.out.println(服务器启动中...);// 创建服务对象FirstInterface first new FirstRMIImpl();// 注册到Registry注册中心上。LocateRegistry.createRegistry(9999);// 绑定一个服务到注册中心。提供命名格式为rmi://ip:port/别名// 如果服务重复抛出异常。 重复的定义是命名冲突。// Naming.bind(rmi://localhost:9999/first, first);// 重新绑定一个服务到自注册中心。 和bind的区别是命名冲突直接覆盖。Naming.rebind(rmi://localhost:9999/first, first);System.out.println(服务器启动完毕);}catch (Exception e){e.printStackTrace();}} }启动服务结果如下 4.3 创建客户端 引入pom依赖 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdparentartifactIdrmi_rpc/artifactIdgroupIdorg.example/groupIdversion1.0-SNAPSHOT/version/parentmodelVersion4.0.0/modelVersionartifactIdrmi_rpc_client/artifactIddependenciesdependencygroupIdorg.example/groupIdartifactIdrmi_rpc_api/artifactIdversion1.0-SNAPSHOT/version/dependency/dependencies/project 编写服务调用RMI的RPC服务 package com.example.demo;import java.rmi.Naming;// 客户端主方法 public class ClientMainClass {public static void main(String[] args) {// 代理对象的创建。FirstInterface first null;try{// 使用lookup找服务。通过名字找服务并自动创建代理对象。// 类型是Object对象一定是Proxy的子类型且一定实现了服务接口。first (FirstInterface) Naming.lookup(rmi://localhost:9999/first);System.out.println(对象的类型是 first.getClass().getName());String result first.first(S106今天课程讲不完了);System.out.println(result);}catch (Exception e){e.printStackTrace();}} }启动服务结果如下 这时候查看服务端程序会显示连接申请的服务效果如下
http://www.hkea.cn/news/14589691/

相关文章:

  • 购物网站建设市场调查论文白酒企业网站源码
  • 学校资源网站的建设方案招商网站建设解决方案
  • 汕头做网站优化哪家好郑州市有做网站的吗
  • 福田皇岗社区做网站网站config配置教程
  • 云盘做网站文件四川建设考试培训网
  • 跨境电商网站建设方案书室内设计在线生成
  • wordpress做了个站没流量WordPress两种列表页
  • 织梦网站修改数据库表数据东营网格通下载安装包
  • 有偿做设计的网站百度关键词优化查询
  • 航运网站建设计划书网站服务器 电信
  • 自己有服务器如何建设微网站免费招商信息发布平台
  • 网站怎么做百度优化公司网站平台的作用
  • 常熟网站建设专业的公司青海网站设计高端
  • 做淘宝网站需要多少钱平台制作公司
  • 唐山模板建站系统php网站开发技术代码
  • ppt模板免费下载素材库华为seo诊断及优化分析
  • 优衣库网站建设兼职网站排行
  • 网站建设管理自查工作总结唐兴数码网站
  • 网站建设课程设计文献综述wordpress分页阅读
  • 现在外贸做哪个网站好深圳网站设计 建设首选深圳市
  • 本站由 今科云平台网站建设技术开发建设部网站进不去
  • 深圳物流公司网站常州网站建设公司好么
  • 龙华网站建设方案表wordpress置顶失败
  • 网站建设完成后期维护医院咨询
  • 简历网站后怎样才能被谷歌 百度收录吗有哪些网站制作公司
  • wordpress 大学网站设计师网上接单被骗
  • 教育培训类网站设计织梦印刷公司网站源码
  • 做网站服务器配置应该怎么选宁波seo推广公司电话
  • 手机端网站建设的注意事项关于加强政务网站建设的通知
  • 网站后台改不了设置株洲百度seo