站内搜索: 请输入搜索关键词

当前页面: 开发资料首页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后正确。


↑返回目录
前一篇: 帮人问 J2ME (MICRO EDITION) 实现 加密 数据传输 问题
后一篇: 关于手机键盘的方向导航键的问题