java - ralat semasa menambah kuki dalam servlet
滿天的星座
滿天的星座 2017-06-15 09:22:04
0
1
952

1. Ralat dilaporkan semasa menambah kuki:

An invalid character [13] was present in the Cookie value
  1. Saya menyemak beberapa laporan ralat di Internet, kebanyakannya adalah [32], [44], yang dikatakan disebabkan oleh penambahan "," atau ruang dalam kuki.

  2. Kod untuk pemprosesan log masuk adalah seperti berikut:

//登录处理 @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(); } } }

Ralat berlaku di sini dalam addCookie.

滿天的星座
滿天的星座

membalas semua (1)
代言

Selepas mencuba, saya hanya perlu komen 2 dan keluarkan 1 dalam kod asal

1. String results = TypeUtil.bytesToHexString(result); 2. //String results = Base64.encodeBase64String(result);
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!