哇咔咔...{} 2023-03-28 21:48 采纳率: 88.9%
浏览 18

tomcat Cookie解码失败

在JavaWeb项目中用URL编码解码方法传递中文到jsp文件中,解码遭遇失败
LoginServlet的核心代码

if (user != null && password.equals(user.getPassword())) {
            resp.sendRedirect("/BrandProject/index.html");
        } else {
            String s = "密码或账号错误,请重新输入";
            s = URLEncoder.encode(s, "UTF-8");
            System.out.println("servlet:  "+s);
            Cookie cookie = new Cookie("err_info", s);
            cookie.setMaxAge(60*60);
            resp.addCookie(cookie);
            resp.sendRedirect(("/BrandProject/againLogin.jsp"));
        }

jsp解码部分代码:

Cookie[] cookies=request.getCookies();
    String err_info=null;
    for(Cookie c:cookies){
        String name=c.getName();
        if("err_info".equals(name)){
            err_info=c.getValue();
            System.out.println("jsp:  "+err_info);
            err_info= URLDecoder.decode(err_info,"UTF-8");
            System.out.println("value:  "+err_info);
            break;
        }
    }

控制台截图:

img

这说明传递参数过程中没出现问题,但是为什么会发生解码失败呢?

  • 写回答

1条回答 默认 最新

  • Broken故城 2023-03-28 23:36
    关注

    很明显编码格式没对上呀,你tomcat里不是utf8,你按utf8解码了。可以去设置tomcat的编码,或者试试用iso-8859-1或gbk解码

    评论

报告相同问题?

问题事件

  • 创建了问题 3月28日

悬赏问题

  • ¥15 单纯型python实现编译报错
  • ¥15 c++2013读写oracle
  • ¥15 c++ gmssl sm2验签demo
  • ¥15 关于模的完全剩余系(关键词-数学方法)
  • ¥15 有没有人懂这个博图程序怎么写,还要跟SFB连接,真的不会,求帮助
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音