在tomcat中可能出現的網絡流問題解決方法
發表于:2007-07-04來源:作者:點擊數:
標簽:
因為我的client是帶form的c#或 java application,java代碼為: ArrayList vData; UrlConnection vUc; ... 網絡 連接代碼得到 vUc實例.... ...設置vUc屬性。。。 vUc.set RequestPro perty(Content-Type,application/x-www-form-urlencoded);//設置server處理
因為我的client是帶form的c#或
java application,java代碼為:
ArrayList vData;
UrlConnection vUc;
...
網絡連接代碼得到 vUc實例....
...設置vUc屬性。。。
vUc.set
RequestProperty("Content-Type","application/x-www-form-urlencoded");//設置server處理流方式
ObjectOutputStream vObjOut=new ObjectOutputStream(vUc.getOutputStream());
vObjOut.writeObject(vData); //傳送ArrayList對象到
服務器......
vObjOut.flush();
vObjeOut.close();
修改:
在設置server處理流方式中,應該這么寫:vUc.setRequestProperty("Content-Type","application/octet-stream").
這在本質上是一個與對象的序列化相分離的發送、接收附加信息的非正式途徑。將“Content-Type”類型設置為“application”可通知系統,流有意讓傳輸的數據由安裝在本地的程序來解釋.
server代碼:
ObjectInputStream vObject=new ObjectInputStream(request.getInputStream()); //出先前面我說到的錯誤。
ArrayList vData=(ArrayList)vObject.readObject();
順利通過。
如果你的client是jsp,就沒必要這么處理了,直接用session或rquest.setAttribute("")來處理了。
項目移植中幾個問題都基本解決了,最后還有一個session在application傳遞問題,下周沒解決再來問。
原文轉自:http://www.anti-gravitydesign.com