在tomcat中可能出现的网络流问题解决方法

发表于:2007-07-01来源:作者:点击数: 标签:
因为我的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.setRequestProperty("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.ltesting.net