日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Servlet與Applet通訊方法

Servlet與Applet之間的聯(lián)系一般是間接的,即頁面請求由瀏覽器發(fā)送給Servlet,作為回答,Servlet將結(jié)果生成HTML文檔發(fā)送給瀏覽器。很多時候在Servlet與Applet之間建立直接的聯(lián)系是沒有必要的,但如果要顯示一些實時的動態(tài)數(shù)據(jù),如聊天室窗口、新聞顯示、股市行情等,建立兩者之間的直接聯(lián)系就很有用了。特別地,在較為復(fù)雜的分布式Java應(yīng)用中,這種通訊更是必不可少。在客戶端Java程序與服務(wù)器端Java程序之間建立這種復(fù)雜的交互方式僅僅使用Servlet與Applet API是不夠的,本文為你介紹和比較四種通訊方式:通過HTML頁面?zhèn)鬟f參數(shù),用java.net包的網(wǎng)絡(luò)功能建立直接網(wǎng)絡(luò)連接,遠程方法調(diào)用(RMI)與CORBA。
 
一、通過HTML頁面?zhèn)鬟fApplet參數(shù)

通過HTML頁面?zhèn)鬟f參數(shù)是在Servlet與Applet之間建立聯(lián)系最為常用的方法。Servlet只要把傳遞給Applet的參數(shù)寫入HTML頁面就可以了。這種通訊是單向的,用于實現(xiàn)Servlet對Applet的控制。

二、用java.net包建立雙向通訊

第二種方法是利用java.net包提供的網(wǎng)絡(luò)能力。以有連接流通訊方式為例,在服務(wù)器端的操作為一般為:

創(chuàng)建一個ServerSocket對象,在指定端口監(jiān)聽客戶端發(fā)來的請求。在接收到請求時accept()方法將返回一個Socket對象。

用上述Socket對象創(chuàng)建輸入、輸出流對象。通過輸入、輸出流與客戶交互。交互完畢,關(guān)閉輸入、輸出流與Socket。服務(wù)程序運行結(jié)束,關(guān)閉ServerSocket。實現(xiàn)代碼代碼類如:

 
 
 
  1. try{  
  2. boolean flag=true;  
  3. Socket clientSocket=null;  
  4. ServerSocket serverSocket = new ServerSocket(0);  
  5. System.out.println("Server listen on: " +serverSocket.getLocalPort());  
  6. while(flag){  
  7. clientSocket=serverSocket.accept();  
  8. DataInputStream is=new DataInputStream( new bufferedInputStream(clientSocket  
  9. .getInputStream()));  
  10. PrintStream os=new PrintStream( new bufferedOutputStream(clientSocket.getOut  
  11. putStream()));  
  12. // 處理Applet請求  
  13. os.close();  
  14. is.close();  
  15. clientSocket.close();  
  16. }  
  17. serverSocket.close();  
  18. }catch( IOException e){  
  19. System.err.println(" Exception: "+e);  

標題名稱:Servlet與Applet通訊方法
鏈接分享:http://m.5511xx.com/article/djgopoj.html