java - 在servlet中添加cookie报错
问题描述
1.在添加cookie的时候报错:
An invalid character [13] was present in the Cookie value
在网上查了一些报错,大部分都是[32]、[44],据说是因为cookie里面添加了“,”或者空格导致的。
登陆处理的代码是这样的:
//登录处理 @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'); //把加密的字节数组转换成16进制// 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(); }} }
报错的地方发生在addCookie这里。
问题解答
回答1:经过尝试,把原来的代码2注释,1 放开就可以了,哪位大佬可以解释一下啊
1. String results = TypeUtil.bytesToHexString(result);2. //String results = Base64.encodeBase64String(result);
相关文章:
1. javascript - 如何用最快的速度C#或Python开发一个桌面应用程序来访问我的网站?2. javascript - 项目用IE浏览器打开修改前端内容,后台数据修改了,但是前端页面内容不变,用谷歌浏览器测试前端页面可以刷新,求大神解决。3. javascript - 看一些高手写代码单独用 “$”和“_” 来表示变量,什么时候单独使用这两个字符?4. 前端 - 使用vue2服务端渲染的时候,如何在服务端请求数据,然后给vue渲染5. mysql 存储过程 和 函数有什么用??6. python - 关于beautifulsoup获取文档内容7. java - springMVC配置的controller无法返回jsp文件8. html5 - video ios不能播放怎么办?9. javascript - weex和node,js到底是怎样一个关系呢?10. mysql - jdbc的问题
