java - SpringMvc没有根据&符号截取参数
问题描述
var url = $(’input[name='itemCode']’).val() +’/join.html?userid=’+ $(’input[name='userid']’).val()+’&telphone=’+phone+’&axdversion=’+ version +’&itemId=’+ $(’input[name='itemId']’).val(); request.reqLocation(url);
Js中拼出了一个url,之后便跳转Url。其中
reqLocation : function(url){ window.location = url; },
后端代码:
public ModelAndView registerHtml(String itemCode, Long itemId, Long userid, HttpServletRequest request, HttpServletResponse response) { ......//业务代码}
但是在有些情况下会由于参数问题报错:
【/item/zxyh/join.html】【{userid=14&itemCode=xyz&itemId=8:}】 java.lang.NullPointerException at channel.web.item.OpenItemController.down(OpenItemController.java:468) at sun.reflect.GeneratedMethodAccessor165.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorIm
正确的应该像这样:
【/item/zxyh/join.html】【{itemId:123},{itemCode:xyz},{userid:1}】
springMVC 并没有根据&符号,将各种参数赋值。所以导致我的itemCode之类的参数为空。js是手机端的,并且也只有少量请求会出现这种情况,想知道为什么,或者有没有人遇到同样的问题?
问题解答
回答1:终于找到问题了!!问题的原因应该是恶意攻击,利用工具注入了参数。具体怎么做的就不太清楚了。
回答2:@RequestParam
百度之
回答3:这个好像跟SpringMVC没关系吧,如果JS中没有取到itemId,服务器端拿到的自然是NULL。
回答4:出错的情况下,前端调试下拼出的url中,各参数值是否正常,后端查看请求request中是否包含以上参数,以及它们的值
相关文章:
1. golang - 用IDE看docker源码时的小问题2. 请问“由于 Cookie “PHPSESSID”的“SameSite”属性设置为“None”,但缺少“Secure”属性,此 Cookie 未来将被拒绝。”请问出现这个问题怎么办?3. Docker for Mac 创建的dnsmasq容器连不上/不工作的问题4. 前端 - 类到底该如何去命名 .newsList 这种的命名难道真的不是过度语义化吗?~5. docker images显示的镜像过多,狗眼被亮瞎了,怎么办?6. docker start -a dockername 老是卡住,什么情况?7. docker api 开发的端口怎么获取?8. docker容器呢SSH为什么连不通呢?9. 如何解决Centos下Docker服务启动无响应,且输入docker命令无响应?10. python小白,关于函数问题

网公网安备