温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Servlet与Applet怎么通讯

发布时间:2021-07-14 15:57:12 来源:亿速云 阅读:135 作者:chen 栏目:编程语言

本篇内容主要讲解“Servlet与Applet怎么通讯”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Servlet与Applet怎么通讯”吧!

Servlet与Applet之间的联系一般是间接的,即页面请求由浏览器发送给Servlet,作为回答,Servlet将结果生成HTML文档发送给浏览器。很多时候在Servlet与Applet之间建立直接的联系是没有必要的,但如果要显示一些实时的动态数据,如聊天室窗口、新闻显示、股市行情等,建立两者之间的直接联系就很有用了。特别地,在较为复杂的分布式Java应用中,这种通讯更是必不可少。在客户端Java程序与服务器端Java程序之间建立这种复杂的交互方式仅仅使用Servlet与Applet API是不够的,本文为你介绍和比较四种通讯方式:通过HTML页面传递参数,用java.net包的网络功能建立直接网络连接,远程方法调用(RMI)与CORBA。

一、通过HTML页面传递Applet参数

通过HTML页面传递参数是在Servlet与Applet之间建立联系最为常用的方法。Servlet只要把传递给Applet的参数写入HTML页面就可以了。这种通讯是单向的,用于实现Servlet对Applet的控制。

二、用java.net包建立双向通讯

第二种方法是利用java.net包提供的网络能力。以有连接流通讯方式为例,在服务器端的操作为一般为:

创建一个ServerSocket对象,在指定端口监听客户端发来的请求。在接收到请求时accept()方法将返回一个Socket对象。

用上述Socket对象创建输入、输出流对象。通过输入、输出流与客户交互。交互完毕,关闭输入、输出流与Socket。服务程序运行结束,关闭ServerSocket。实现代码代码类如:

try{  boolean flag=true;  Socket clientSocket=null;  ServerSocket serverSocket = new ServerSocket(0);  System.out.println("Server listen on: " +serverSocket.getLocalPort());  while(flag){  clientSocket=serverSocket.accept();  DataInputStream is=new DataInputStream( new bufferedInputStream(clientSocket  .getInputStream()));  PrintStream os=new PrintStream( new bufferedOutputStream(clientSocket.getOut  putStream()));  // 处理Applet请求  os.close();  is.close();  clientSocket.close();  }  serverSocket.close();  }catch( IOException e){  System.err.println(" Exception: "+e);  }

到此,相信大家对“Servlet与Applet怎么通讯”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI