java - 在servlet中添加cookie報(bào)錯(cuò)
問(wèn)題描述
1.在添加cookie的時(shí)候報(bào)錯(cuò):
An invalid character [13] was present in the Cookie value
在網(wǎng)上查了一些報(bào)錯(cuò),大部分都是[32]、[44],據(jù)說(shuō)是因?yàn)閏ookie里面添加了“,”或者空格導(dǎo)致的。
登陸處理的代碼是這樣的:
//登錄處理 @RequestMapping(value = '/login/validate', method = RequestMethod.POST) public void Validate(@RequestParam('username') String username, @RequestParam('password') String password, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {String md5 = MD5Util.stringToMD5(password);if (userService.verification(username, md5)) { User user = userService.selectByUsername(username); Long id = user.getId(); Long createDate = new Date().getTime(); String str = id + '=' + createDate; //加密 byte[] result = DESUtil.desCrypto(str, '12345678'); //把加密的字節(jié)數(shù)組轉(zhuǎn)換成16進(jìn)制// String results = TypeUtil.bytesToHexString(result); String results = Base64.encodeBase64String(result); Cookie cookie = new Cookie('token', results); cookie.setMaxAge(60 * 60 * 24 * 7);//7天 cookie.setPath('/'); System.out.println('新生成cookie和其MaxAge:' + cookie.getName() + '-->' + cookie.getMaxAge()); httpServletResponse.addCookie(cookie); HttpSession session = httpServletRequest.getSession(); session.setAttribute('user', user); for (Cookie c : httpServletRequest.getCookies()) {System.out.println('cookes添加到response后重新獲取cookies和其MaxAge:' + c.getName() + '-->' + c.getMaxAge()); } try {httpServletResponse.sendRedirect('/index.html');//httpServletRequest.getRequestDispatcher('/index.html').forward(httpServletRequest, httpServletResponse); } catch (Exception e) {e.printStackTrace(); }} else { try {httpServletResponse.sendRedirect('no.html'); } catch (IOException e) {e.printStackTrace(); }} }
報(bào)錯(cuò)的地方發(fā)生在addCookie這里。
問(wèn)題解答
回答1:經(jīng)過(guò)嘗試,把原來(lái)的代碼2注釋,1 放開(kāi)就可以了,哪位大佬可以解釋一下啊
1. String results = TypeUtil.bytesToHexString(result);2. //String results = Base64.encodeBase64String(result);
相關(guān)文章:
1. 為什么我ping不通我的docker容器呢???2. java - 自己制作一個(gè)視頻播放器,遇到問(wèn)題,用的是內(nèi)置surfaceview類,具體看代碼!3. 服務(wù)器端 - 采用nginx做web服務(wù)器,C++開(kāi)發(fā)應(yīng)用程序 出現(xiàn)拒絕連接請(qǐng)求?4. javascript - 有什么兼容性比較好的辦法來(lái)判斷瀏覽器窗口的類型?5. 關(guān)于docker下的nginx壓力測(cè)試6. javascript - vue 移動(dòng)端的input 數(shù)字輸入優(yōu)化7. javascript - Angular controlller控制域和原生js的關(guān)系8. javascript - npm start 運(yùn)行’webpack-dev-server’報(bào)錯(cuò) Cannot find module ’webpack’9. HTML5禁止img預(yù)覽該怎么解決?10. python - pandas按照列A和列B分組,將列C求平均數(shù),怎樣才能生成一個(gè)列A,B,C的dataframe
