• 3、JSP中的Cookie 用于存储 web 页面的用户信息。


    cookie 在平时生活中的运用

    存储用户在网页上的登陆信息,包括账号和密码。

    有的网站,登陆的时候,会出现一个选项,问你是否要一周内或者一个月内保持登陆状态。
    如果你选了,那么一周之内,都不需要再输入账号密码。
    这个功能,就是靠cookie来实现的

    cookie原理示意图

    什么是cookie

    Cookie是一种浏览器和服务器交互数据的方式。
    Cookie是由服务器端创建,但是不会保存在服务器
    创建好之后,发送给浏览器。浏览器保存在用户本地
    下一次访问网站的时候,就会把该Cookie发送给服务器。

    服务器端创建cookie

    在web目录下创建一个文件 setCookie.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" import="javax.servlet.http.Cookie"%>
     
    <%
        Cookie c = new Cookie("name", "Gareen");     <%--创建了一个cookie,名字是"name" 值是"Gareen" -- %>
        c.setMaxAge(60 * 24 * 60);   <%-- 表示这个cookie可以保留一天,如果是0,表示浏览器一关闭就销毁 -- %>
        c.setPath("/");       <%-- Path表示访问服务器的所有应用都会提交这个cookie到服务端-- %><%--如果其值是 /a, 那么就表示仅仅访问 /a 路径的时候才会提交 cookie -- %>

    response.addCookie(c);  <%--通过response把这个cookie保存在浏览器端 -- %>
    %>
     
    <a href="getCookie.jsp">跳转到获取cookie的页面</a>

    访问地址:http://127.0.0.1/setCookie.jsp

    通过HTTP调试工具也可以在Cookies这一栏看到

    把该Cookie发送给服务器

    在web目录下创建文件getCookie.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" import="javax.servlet.http.Cookie"%>
     
    <%
        Cookie[] cookies = request.getCookies();<%-- 表示获取所有浏览器传递过来的cookie-- %>
        if (null != cookies)  <%--如果浏览器端没有任何cookie,得到的Cookie数组是null -- %>
               for (int d = 0; d <= cookies.length - 1; d++) {<%--遍历所有的cookie-- %>
                      out.print(cookies[d].getName() + ":" + cookies[d].getValue() + "<br>"); 
    }

    %>

    通过HTTP调试工具也可以看到浏览器在请求信息里提交了这个Cookie。

    注; JSESSIONID 这个不是我们自己设置的cookie,这是tomcat设置的cookie

     

  • 相关阅读:
    创作型---简单工厂模式
    创作型---建造者模式
    创作型---原型模式(C# ICloneable接口的实现)
    创作型---单例模式
    实时数据库简介和比较---PI
    记一次项目启动卡死不动,控制台无错误信息
    记一次jdk1.7升级jdk1.8项目报错
    javamail插件发送不同类型邮件方式
    javaweb购物车实现的几种方式
    android客户端app和服务端交互token的作用
  • 原文地址:https://www.cnblogs.com/Strugglinggirl/p/10980895.html
Copyright © 2020-2023  润新知