因为我的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传递问题,下周没解决再来问。
