怎样在Cookie中存储中文?

Cookie不能存储中文,但是如果有这方面的需求,这个时候该如何解决呢?

这个时候,我们可以使用之前学过的一个知识点叫URL编码,所以如果需要存储中文,就需要进行转码,具体的实现思路为:

1.在AServlet中对中文进行URL编码,采用URLEncoder.encode(),将编码后的值存入Cookie中

2.在BServlet中获取Cookie中的值,获取的值为URL编码后的值

3.将获取的值在进行URL解码,采用URLDecoder.decode(),就可以获取到对应的中文值

(1)在AServlet中对中文进行URL编码

@WebServlet("/aServlet")public class AServlet extends HttpServlet {    @Override    protected void doGet(HttpServletRequest request, HttpServletResponse sponse) throws ServletException, IOException {        //发送Cookie        String value = "张三";        //对中文进行URL编码        value = URLEncoder.encode(value, "UTF-8");        System.out.println("存储数据:" + value);        //将编码后的值存入Cookie中        Cookie cookie = new Cookie("username", value);        //设置存活时间 ,1周 7天        cookie.setMaxAge(60 * 60 * 24 * 7);        //2. 发送Cookie,response        response.addCookie(cookie);    }    @Override    protected void doPost(HttpServletRequest request, HttpServletResponse ponse) throws ServletException, IOException {        this.doGet(request, response);    }}

(2)在BServlet中获取值,并对值进行解码。

@WebServlet("/bServlet")public class BServlet extends HttpServlet {    @Override    protected void doGet(HttpServletRequest request, HttpServletResponsesponse) throws ServletException, IOException {      //获取Cookie      //1. 获取Cookie数组      Cookie[] cookies = request.getCookies();      //2. 遍历数组      for (Cookie cookie : cookies) {          //3. 获取数据          String name = cookie.getName();          if("username".equals(name)){              String value = cookie.getValue();//获取的是URL编码后的值%BC%A0%E4%B8%89              //URL解码              value = URLDecoder.decode(value,"UTF-8");              System.out.println(name+":"+value);//value解码后为 张三              break;          }      }  }  @Override  protected void doPost(HttpServletRequest request, HttpServletResponseresponse) throws ServletException, IOException {       this.doGet(request, response);  }}

至此,我们就可以将中文存入Cookie中进行使用。

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/263837.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
黑马程序员黑马程序员订阅用户
上一篇 2023年5月21日 07:26
下一篇 2023年5月21日 08:30

相关推荐

  • 关于如何注册cookie账号。

    如何注册cookie Cookie 是一种在用户计算机上存储信息的小型文本文件,通常用于记录用户的浏览历史、登录状态和其他个性化设置,在 Web 开发中,了解如何注册和使用 cookie 是非常重要的,本文将详细介绍如何在各种…

    2024年6月14日
    01
  • 我来说说网站重定向次数过多(重定向次数过多清除cookie没用)(网站重定向次数过多怎么解决)。

    网站重定向次数过多的原因 1、服务器配置问题:服务器可能没有正确配置,导致用户访问时被重定向到其他页面,这种情况下,需要检查服务器的配置文件,确保正确设置了重定向规则。 2、网站内部链接错误:网站内部可…

    2024年7月26日
    02
  • 今日分享PHP header的7种用法。

    PHP header函数用于在发送HTTP响应之前输出一些信息,如HTTP状态码、内容类型等。它有7种用法,包括设置状态码、添加自定义头信息、重定向到其他URL、显示错误信息等。 在PHP中,header()函数是一个非常重要的工具…

    2024年7月24日
    01
  • html中如何显示中文。

    要在HTML中显示中文,需要遵循一定的编码规范和设置,以下是详细的技术教学,帮助您在HTML中正确显示中文字符。 (图片来源网络,侵删) 1. 设置文档类型(Doctype) 在HTML文件的开头,您需要声明文档类型,以便浏…

    2024年6月21日
    01
  • 我来分享cdn加速中常用的防盗链技术有哪些。

    CDN加速中常用的防盗链技术有哪些? 随着互联网的快速发展,网站的访问量也越来越大,为了提高用户体验,很多网站选择使用CDN加速服务,CDN加速服务的一个缺点就是容易被盗链,为了保护自己的资源不被非法使用,CDN…

    2024年7月28日
    01
  • PHP的cookie技术详解

    Cookie介绍 Cookie是客户端技术,当客户端 请求服务器的时候,随身携带数据过去 例如:我们去超市购物,买很多东西,超市会给我们办会员卡,会员卡就会保存我们购买的商品信息,以后我们只需要拿着会员卡就可以 Coo…

    2018年9月13日 PHP自学教程
    0268
  • 下载素材显示重定向过多怎么解决呢。

    当我们在浏览网页或者下载素材时,有时候会遇到“重定向过多”的问题,这个问题可能是由于网络设置、浏览器设置或者是网站本身的问题导致的,我们应该如何解决这个“重定向过多”的问题呢?下面,我将为大家详细介绍一…

    2024年6月30日
    07
  • 说说手机获取cookie的方法,cookie浏览器下载。

    手机获取Cookie的方法与浏览器下载 在互联网世界中,Cookie是一种存储在用户本地终端上的数据,用于记录用户的一些信息,如登录状态、浏览历史等,随着智能手机的普及,越来越多的用户开始在手机上使用各种应用,而…

    2024年7月15日
    02

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息