java - SpringMvc没有根据&符号截取参数
PHP中文网
PHP中文网 2017-04-18 10:49:01
0
4
620
  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是手机端的,并且也只有少量请求会出现这种情况,想知道为什么,或者有没有人遇到同样的问题?

PHP中文网
PHP中文网

认证0级讲师

모든 응답(4)
Ty80

드디어 문제 발견! !
문제의 원인은 매개변수를 주입하는 도구를 사용한 악의적인 공격이어야 합니다. 정확히 어떻게 해야 하는지는 명확하지 않습니다.

PHPzhong

@RequestParam

바이두

左手右手慢动作

이것은 SpringMVC와는 관련이 없는 것 같습니다. JS에서 itemId를 얻지 못하면 서버 측에서는 자연스럽게 NULL을 얻습니다.

洪涛

오류가 발생한 경우 프런트엔드 디버깅에 명시된 URL의 매개변수 값이 정상인지 확인합니다. 백엔드는 요청에 위 매개변수와 해당 값이 포함되어 있는지 확인합니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿