zoukankan      html  css  js  c++  java
  • cookie一些问题

    cookie是一个客户端技术,主要是为了解决页面参数传递的问题,要是通过url参数传递的话,那么传递的参数可以看到,不安全。所以才会有cookie技术。

    cookie主要有几个方法,首先创建的时候,传递的是key-value字典类型。通过key可以获取到value的值,一般是在别的页面通过key去获取到value的值。

      其次cookie有一个setMaxAge方法,这个意思是设置过期时间,>0,=0,<0三种情况:第一个就是设置一个以秒来计的过期时间,如设置一天过期那么就设置24*60*60,如果没过期的话下次进浏览器的时候自带cookie。第二个不设置cookie,当你这样设置差不多意思就是直接废掉了cookie,下个界面直接不能获取到。第三个设置cookie为会话cookie,意思是当此浏览有效,当关闭浏览器下次再浏览不会带有cookie。

      cookie还有一个方法是setPath,这个参数主要是针对访问路径的问题。举个粟子,当前servlet的@webServlet(vaue="/cookie/login"),跳转下个界面servlet的@wevServlet(value="welcome"),那么两个path其实是不一样的,如果在下个界面访问cookie的话那么getCookies就会返回空的Cookie数组。所以大多数做法就是在初始化cookie的时候设置这个path,setPath("/")由于"/"代表全路径。这样访问的时候下个界面servlet就可以获取到Cookie数组,然后就可以做事情了。

      注意点:由于cookie不支持中文,所以设置Cookie的value时候需要编码,不然访问的时候会500错误,代表服务器错误。需要通过URLEncoder.encode(String string,"UTF-8")设置编码,然后再下个servlet界面获取值的时候需要解码URLDecoder.decode(String string,"UTF-8")。

    总结:设置cookie的时候需要将初始化的cookie到response,响应给客户端,然后客户端就会自己存储,下次客户端会自己取出来,服务器只需在request.getCookies里面获取cookie,通过cookie的key去获取自己想要的value。

  • 相关阅读:
    Maven的安装与配置(eclipse,idea)
    用java代码打印九九乘法表
    HDFS的Java客户端操作代码(HDFS删除文件或目录)
    Java代码操作HDFS(在/user/root/下面創建目錄)
    第二种方式读取并显示HDFS中的内容
    HDFS的java客户端操作代码(Windows上面打jar包,提交至linux运行)
    HDFS的Java客户端操作代码(HDFS的查看、创建)
    CentOs6.8安装Git并安装oh my zsh
    搭建maven开发环境测试Hadoop组件HDFS文件系统的一些命令
    R-大数据分析挖掘(5-R基础回顾)
  • 原文地址:https://www.cnblogs.com/paoxiaoqianzibi/p/7909958.html
Copyright © 2011-2022 走看看