当前页面: 开发资料首页 → J2ME 专题 → POST方法向服务端发送信息,Servlet的req.getParameter()取不到值?
POST方法向服务端发送信息,Servlet的req.getParameter()取不到值?
摘要: POST方法向服务端发送信息,Servlet的req.getParameter()取不到值?
在客户端实现了URLEncoder,测试编码正确
Midlet端:
HttpConnection con = (HttpConnection)Connector.open("http://127.0.0.1:8080/jsmartsales/ReverseServlet");
//指定POST
con.setRequestMethod(HttpConnection.POST);
con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
con.setRequestProperty("User-Agent","Profile/MIDP-1.0 Configuration/CLDC-1.0" );
con.setRequestProperty("Content-Language", "en-US" );
//在request中输入数据
String message1 =URLEncoder.encode("name=dodo");
System.out.println("encode String is "+message1);
con.setRequestProperty("Content-Length",Integer.toString(message1.getBytes().length));
DataOutputStream dos = con.openDataOutputStream();
//dos.writeUTF(message1);
dos.write(message1.getBytes());
dos.flush();
dos.close();
服务器端
res.setContentType("text/plain");
PrintWriter out = res.getWriter();
String s = req.getParameter("name");
System.out.println("The name is"+s);
out.println("success!");
问题:
为何服务器端取不到req.getParameter("name")呢?总是提示为NULL
服务器上有getHeader
请Mailbomb详细解释一下“服务器上有getHeader“,谢谢
关注
up
大家帮忙啊
你有 con.setRequestProperty("name","") 吗?没有啊.
我感觉你需要自己读取流,然后解析才可以。否则你就直接用get的方式,也可以。直接在url中带参数。
lz之前做jsp得吧。j2me下面这样不行得。自己制定数据包格式,然后解析吧
还是不行啊,各位帮忙!!
'='不能编码的,其它部分需要,多个参数时'&'也不能编码,如:
name=aaa&value=bbb
flush 去掉
谢谢prok!
去掉flush后正确。