SpringMvc3 接收不到客户端传过来的post参数

服务器端再SpringMvc3 controller中接收客户端传来的String参数,接收方式如下:
第一种使用HttpServletRequest方式:
 @RequestMapping(value = "/mine", method = RequestMethod.POST,
produces = "text/html;charset=UTF-8")
@ResponseBody
public String mineData(HttpServletRequest request, String token) {
token = request.getParameter("token");
UserCenter userCenter = new UserCenter();
String result = userCenter.queryUserByToken(token);//请求后台数据
return result;
}

断点进去接收过来的token为空。
第二种使用注解方式@RequestBody:
 @RequestMapping(value = "/mine", method = RequestMethod.POST,
produces = "text/html;charset=UTF-8")
@ResponseBody
public String mineData(@RequestBody String token) {
UserCenter userCenter = new UserCenter();
String result = userCenter.queryUserByToken(token);//请求后台数据
return result;
}

断点进去接收过来的token为:"token=xxxxxxxxxxxxxxxxxxx",这个时候把token=这个字符串也带进来了。
其他接收方式也试过,都不行,请问有没有更好的接收方式使得我接收过来的token直接就是:"xxxxxxxxxxxxxx"?
附模拟post请求数据界面:
...全文
285 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
树成 2016-08-22
  • 打赏
  • 举报
回复
如果你不适用浏览器提交,而是用第三方工具提交的话,请将提交请求head参数的Content-Type设置为application/x-www-form-urlencoded 否则请用request.getOutputStream来解析提交的参数。
java竹雨 2016-08-22
  • 打赏
  • 举报
回复
哪个是一个参数 直接就写成参数就行@RequestParam
  • 打赏
  • 举报
回复
引用 7 楼 fanpengkai01 的回复:
把请求方式改成post试试
请求方式就是POST的啊
fanpengkai01 2016-08-21
  • 打赏
  • 举报
回复
把请求方式改成post试试
  • 打赏
  • 举报
回复
引用 5 楼 sinat_34379584 的回复:
http://www.cnblogs.com/SkySoot/archive/2012/04/17/2453010.html这里是json的数据格式,get可以获得可能是类似在搜索页面追加?user=xxxxxx;类似哦
不是说json格式对不对,是移动端那边传过来就是token=xxxxxxx,移动端那边用get方式(就是在url后面加参数),我这边(服务端)用token可以接收到"xxxxxxx"的内容,移动端那边就是这么传数据的,难道我要他们直接传内容过来?那如果有三个参数,移动端那边直接传内容不小心顺序搞乱了那我这边接收也会出错的啊,那么传过来肯定是token=xxxxx,userId=xxxx这么传的,而不是xxxxx,xxxxx
sinat_34379584 2016-08-21
  • 打赏
  • 举报
回复
http://www.cnblogs.com/SkySoot/archive/2012/04/17/2453010.html这里是json的数据格式,get可以获得可能是类似在搜索页面追加?user=xxxxxx;类似哦
  • 打赏
  • 举报
回复
引用 3 楼 sinat_34379584 的回复:
你传回是用什么,ajax??不过这种情况是说你的request里没有“token”,那边接受的第二个接受的格式也不对啊,不应该出现=的,就是你传回的是字符串‘token=xxxxxxxxxxxxxxxxxxx’不是token和其对应的值
我是接收移动端(app)传过来的json数据,json数据就是token=xxxxxxxxxxxxxxxxxxx(参见问题中的那个模拟post传参图),如果我改为method = RequestMethod.GET就可以正常接收token
sinat_34379584 2016-08-21
  • 打赏
  • 举报
回复
你传回是用什么,ajax??不过这种情况是说你的request里没有“token”,那边接受的第二个接受的格式也不对啊,不应该出现=的,就是你传回的是字符串‘token=xxxxxxxxxxxxxxxxxxx’不是token和其对应的值
  • 打赏
  • 举报
回复
引用 1 楼 sinat_34379584 的回复:
mineData(HttpServletRequest request, String token),里的t, String token删掉,在方法里建,实施

你有试过吗?我断点进去还是为空啊。。。
sinat_34379584 2016-08-21
  • 打赏
  • 举报
回复
mineData(HttpServletRequest request, String token),里的t, String token删掉,在方法里建,实施

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧