步骤 2 : 什么是cookie 步骤 3 : setCookie.jsp 步骤 4 : getCookie.jsp 步骤 5 : cookie原理示意图
有的网站,登陆的时候,会出现一个选项,问你是否要一周内或者一个月内保持登陆状态。
如果你选了,那么一周之内,都不需要再输入账号密码。 这个功能,就是靠cookie来实现的
Cookie是一种浏览器和服务器交互数据的方式。
Cookie是由服务器端创建,但是不会保存在服务器。 创建好之后,发送给浏览器。浏览器保存在用户本地。 下一次访问网站的时候,就会把该Cookie发送给服务器。
在web目录下创建一个文件 setCookie.jsp
Cookie c = new Cookie("name", "Gareen"); 创建了一个cookie,名字是"name" 值是"Gareen" c.setMaxAge(24 * 60 * 60); 表示这个cookie可以保留一天,如果是0,表示浏览器一关闭就销毁 c.setPath("/"); Path表示访问服务器的所有应用都会提交这个cookie到服务端,如果其值是 /a, 那么就表示仅仅访问 /a 路径的时候才会提交 cookie response.addCookie(c); 通过response把这个cookie保存在浏览器端 访问地址: http://127.0.0.1/setCookie.jsp 通过HTTP调试工具也可以在Cookies这一栏看到 <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="javax.servlet.http.Cookie"%>
<%
Cookie c = new Cookie("name", "Gareen");
c.setMaxAge(60 * 24 * 60);
c.setPath("/");
response.addCookie(c);
%>
<a href="getCookie.jsp">跳转到获取cookie的页面</a>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="javax.servlet.http.Cookie"%> <% Cookie c = new Cookie("name", "Gareen"); c.setMaxAge(60 * 24 * 60); c.setPath("/"); response.addCookie(c); %> <a href="getCookie.jsp">跳转到获取cookie的页面</a>
在web目录下创建文件getCookie.jsp
然后访问网页: http://127.0.0.1/getCookie.jsp Cookie[] cookies = request.getCookies(); 表示获取所有浏览器传递过来的cookie if (null != cookies ) 如果浏览器端没有任何cookie,得到的Cookie数组是null for (int d = 0; d <= cookies.length - 1; d++) { out.print(cookies[d].getName() + ":" + cookies[d].getValue() + "<br>"); } 遍历所有的cookie 可以看到name:Gareen,这个在setCookie.jsp中设置的cookie 注; JSESSIONID 这个不是我们自己设置的cookie,这是tomcat设置的cookie,会在下一章session的学习中用到 通过HTTP调试工具也可以看到浏览器在请求信息里提交了这个Cookie。 <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="javax.servlet.http.Cookie"%>
<%
Cookie[] cookies = request.getCookies();
if (null != cookies)
for (int d = 0; d <= cookies.length - 1; d++) {
out.print(cookies[d].getName() + ":" + cookies[d].getValue() + "<br>");
}
%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="javax.servlet.http.Cookie"%> <% Cookie[] cookies = request.getCookies(); if (null != cookies) for (int d = 0; d <= cookies.length - 1; d++) { out.print(cookies[d].getName() + ":" + cookies[d].getValue() + "<br>"); } %>
HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。
问答区域
2021-01-02
idea无法识别out
2 个答案
Bruce9064 跳转到问题位置 答案时间:2023-12-18 虽然idea标红,但是网页正常显示
henYuan 跳转到问题位置 答案时间:2021-01-03 已解决,tomcat9的lib包导入idea无法使用
换了tomcat8.5.61就好了
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2020-05-23
<%java 代码%>跳转 和 <a> 标签跳转 有什么区别?
2019-07-20
Cookie c=new Cookie("name","we");为啥name的属性值若改为中文则报错
2019-02-28
这句话的作用是什么import="javax.servlet.http.Cookie"%
2019-01-18
步骤三的cookie的时间问题
提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 12 条以前的提问,请 点击查看
提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
|