java - SpringMvc沒(méi)有根據(jù)&符號(hào)截取參數(shù)
問(wèn)題描述
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中拼出了一個(gè)url,之后便跳轉(zhuǎn)Url。其中
reqLocation : function(url){ window.location = url; },
后端代碼:
public ModelAndView registerHtml(String itemCode, Long itemId, Long userid, HttpServletRequest request, HttpServletResponse response) { ......//業(yè)務(wù)代碼}
但是在有些情況下會(huì)由于參數(shù)問(wèn)題報(bào)錯(cuò):
【/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
正確的應(yīng)該像這樣:
【/item/zxyh/join.html】【{itemId:123},{itemCode:xyz},{userid:1}】
springMVC 并沒(méi)有根據(jù)&符號(hào),將各種參數(shù)賦值。所以導(dǎo)致我的itemCode之類的參數(shù)為空。js是手機(jī)端的,并且也只有少量請(qǐng)求會(huì)出現(xiàn)這種情況,想知道為什么,或者有沒(méi)有人遇到同樣的問(wèn)題?
問(wèn)題解答
回答1:終于找到問(wèn)題了!!問(wèn)題的原因應(yīng)該是惡意攻擊,利用工具注入了參數(shù)。具體怎么做的就不太清楚了。
回答2:@RequestParam
百度之
回答3:這個(gè)好像跟SpringMVC沒(méi)關(guān)系吧,如果JS中沒(méi)有取到itemId,服務(wù)器端拿到的自然是NULL。
回答4:出錯(cuò)的情況下,前端調(diào)試下拼出的url中,各參數(shù)值是否正常,后端查看請(qǐng)求request中是否包含以上參數(shù),以及它們的值
相關(guān)文章:
1. JavaScript將.apply()與'new'運(yùn)算符配合使用這可能嗎?2. angular.js - webpack build后的angularjs路由跳轉(zhuǎn)問(wèn)題3. java - web項(xiàng)目中,用戶登陸信息存儲(chǔ)在session中好 還是cookie中好,取決于什么?4. java - Activity中的成員變量被賦值之后,Activity被回收的時(shí)候內(nèi)存才會(huì)被釋放嗎5. 請(qǐng)求一個(gè)數(shù)據(jù)返回內(nèi)容為空或者錯(cuò)誤如何再次請(qǐng)求幾次6. 數(shù)組按鍵值封裝!7. 老師,flex-shrink: 1; 按視頻操作,不會(huì)自動(dòng)縮放8. 為什么bindClass訪問(wèn)不了的?9. Discuz! Q 有人用過(guò)嗎?10. php由5.3升級(jí)到5.6后,登錄網(wǎng)站,返回的是php代碼,不是登錄界面,各位大神有知道的嗎?
