得到post object的方式
一。序列化数据
public String testPost2() throws IOException{
System.out.println("得到POST传递过来的对象——doPost");
InputStream in = ServletActionContext.getRequest().getInputStream();
ObjectInputStream ois = new ObjectInputStream(in);
try{
LoginObj lo = (LoginObj)(ois.readObject());
System.out.println(lo.ip);
System.out.println(lo.port);
System.out.println(lo.uin);
TwoDimensionalCodeValidate tdcv = new TimeStampUUIDValidate();
System.out.println("validate:"+tdcv.validate(lo.two_dim_code));
if(tdcv.validate(lo.two_dim_code)){
System.out.println("--");
CacheOperation co = new MemCachedOperation();
co.saveData(lo);
}
}catch(Exception e){
e.printStackTrace();
}
return null;
}
二。非序列化数据
public String testPost() throws IOException{
System.out.println("----得到POST传递过来的对象——doPost start----");
InputStream in = ServletActionContext.getRequest().getInputStream();
byte[] bytes = new byte[1024*4];
int read = in.read(bytes);
System.out.println("read:"+read);
JSONObject returnjson = new JSONObject();
LoginObj obj = new LoginObj();
if( read > 0 )
{
String str = new String(bytes,0,read);
System.out.println(str );
try {
JSONObject json = new JSONObject(str);
obj.getValue(json);
TwoDimensionalCodeValidate tdcv = new TimeStampUUIDValidate();
System.out.println("validate:"+tdcv.validate(obj.two_dim_code));
if(tdcv.validate(obj.two_dim_code)){
CacheOperation co = new MemCachedOperation();
co.saveData(obj);
returnjson.put("ret", 1);
}else{
returnjson.put("ret", 2);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
PrintWriter out;
ServletOutputStream ps ;
ps = ServletActionContext.getResponse().getOutputStream();
//ps.print(returnjson.toString().getBytes("UTF-8"));
byte[] out_bytes = returnjson.toString().getBytes("UTF-8");
ps.write(out_bytes, 0, out_bytes.length);
ps.flush();
ps.close();
return null;
}else{
try {
returnjson.put("ret", 0);
} catch (JSONException e) {
e.printStackTrace();
}
PrintWriter out;
out = ServletActionContext.getResponse().getWriter();
out.print(returnjson);
return null;
}
}