免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Applet與Servlet的通信

前段時(shí)間給公司做LMS系統(tǒng),需要在 Applet與Servlet間進(jìn)行數(shù)據(jù)通信,查了很多的資料,看了很多高人寫的,竟不得要領(lǐng),許是高人都太高了,以高人之心度了菜鳥之腹,后來自己結(jié)合高人的指點(diǎn),多方摸索,終于算是整成功了,通己痛,以及人之痛,決定以菜鳥的角度寫出來跟大家交流交流,希望大家多多給出寶貴的意見: 

1、用輸入輸出流傳遞對(duì)象:

Applet:

import java.net.*;
import java.util.*;

URL url=new URL(getCodeBase(), ServletURL);
/**
*這里,getCodeBase()將返回applet所在的絕對(duì)路徑,ServletURL是你的servlet與applet的相對(duì)路徑
*/
URLConnection con = url.openConnection();
con.setDoOutput(true); 
con.setUseCaches(false);
con.setRequestProperty("Content-Type", "application/octet-stream"); 
ObjectOutputStream outStream = new ObjectOutputStream ( con.getOutputStream() );
/**
* 這里,con.getOutputStream() ,從URLConnection連接獲得輸出流,這個(gè)輸出流被連接到公共網(wǎng)關(guān)程
*序的(服務(wù)器端)的標(biāo)準(zhǔn)輸入流上 
*/
Hashtable setMsg = new Hashtable(); 
setMsg.put("action","getparam");
outStream.writeObject(setMsg); 
outStream.flush(); 
outStream.close(); 
/**
*把要傳送的有關(guān)數(shù)據(jù)對(duì)象(可以是任何一種對(duì)象,包括你自己定義的類。這里以Hashtable為例)寫入輸出流
*發(fā)送完畢關(guān)閉輸出流。
*/
ObjectInputStream inStream = new ObjectInputStream ( con.getInputStream() ); 
/**
* 這里,con.getInputStream() ,從URLConnection連接獲得輸入流
*值得提醒的是在執(zhí)行這一語句前servlet將不會(huì)做任何GET/POST操作
*本人當(dāng)初就虧在這里急著測(cè)試OutputStream的效果,卻不起任何作用。
*/
Hashtable getMsg=(Hashtable)inStream.readObject(); 
/**
*通過輸入流獲取從servlet傳回的對(duì)象。
*/

Servlet

public void doGet( final HttpServletRequest req ,final HttpServletResponse res ) throws IOException {
ObjectInputStream in = new ObjectInputStream ( req.getInputStream() );
/**
*通過Servlet對(duì)象的req參數(shù)的getInputStream()得到輸入流
*然后通過該對(duì)象的readObject()方法得到JAVA對(duì)象
*(這個(gè)對(duì)象即我們?cè)赼pplet中用con.getOutputStream() 所寫入的對(duì)象)。
*/ 
Hashtable getMsg=new Hashtable();
try{
getMsg=(Hashtable)in.readObject();
/**
*注意這里的對(duì)象類型必須和applet中的一致。
*/
}
catch(Exception e){}
action=(String)getMsg.get("action");
Hashtable msgs=new Hashtable();
msgs.put("uname","test");
ObjectOutputStream out = new ObjectOutputStream( res.getOutputStream() );
out.writeObject(msgs);
out.close();
/**
*通過Servlet對(duì)象的req參數(shù)的getOutputStream()所得到的輸出流新生成一個(gè)對(duì)象輸出流ObjectOutputStream
*類型的對(duì)象,然后通過該對(duì)象的writeObject()方法輸出JAVA對(duì)象
*(這個(gè)對(duì)象即我們?cè)赼pplet中用con.getInputStream() 所得到的對(duì)象)。
*/ 
}

2、在URL地址后附加參數(shù)以GET的方式實(shí)現(xiàn)參數(shù)的傳遞:

這種方法比較簡單,就是在url后面加"?p1=1&p2=2",然后在servlet中,用request.getParameter("p1")獲取參數(shù)。不過從servlet中穿數(shù)據(jù)回applet,卻仍只能是用對(duì)象模式,具體如上面說的一樣,這里就不多說了

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
初學(xué)者第70節(jié)網(wǎng)絡(luò)編程-Socket(一)
JSP實(shí)現(xiàn)文件下載的幾種方式
使用HttpURLConnection來請(qǐng)求WEB資源
利用Socket進(jìn)行Java網(wǎng)絡(luò)編程
JAVA面試題
java socket 實(shí)現(xiàn)服務(wù)端與客戶端
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服