各位大神们,请教个问题,使用HttpURLConnection向servlet发送请求,如何传递object数组?
部分代码如下,传递的都是String参数,有没有办法传递Object[]?
//建立一个URL对象
URL url = new URL(path);
//1.得到打开的链接对象
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
//设置请求超时 5秒
conn.setReadTimeout(50*1000);
//请求方式 GET
conn.setRequestMethod("GET");
//发送参数
conn.setDoOutput(true);//默认是false
//参数字符串
StringBuffer paramSb=new StringBuffer("");
paramSb.append("type=").append(type);
paramSb.append("&method=").append(method);
paramSb.append("&parmsType=").append(parmsType);
paramSb.append("&parms=").append(parms);
paramSb.append("&returnType=").append(returnType);
OutputStream os = conn.getOutputStream();
os.write(paramSb.toString().getBytes());
如果是只传字符串的话
你可以用多个同样的参数,比如
p=v1&p=v2&p=v3
后台是可以取到p[]的
string[] ps= context.Request.QueryString.GetValues("p")
如果是其它实体类object[]
你就只能用post的方式,把json数据写到body里
然后你在后台进行反序列化后可以得到具体对象
using (StreamReader reader = new StreamReader(context.Request.InputStream))
{
string jsonString = reader.ReadToEnd();
List<T> listModel = JsonConvert.DeserializeObject<List<T>>(jsonString);