栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Cookie对象

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Cookie对象

目录

cookie是一种会话跟踪机制。

cookie对象不是JSP的内置对象,需要显示创建。

cookie是WEB服务器通过浏览器在客户机的硬盘上存储的一小段文本。JSP可以将用户登录的用户名、密码、登录时间等信息保存在客户机的cookie中。

当用户再次登录此网站时,浏览器根据用户输入的网址,在本地寻找与该网址匹配的cookie,将该网站的cookie和请求参数一起发送给服务器做处理,实现各种各样的个性化服务。

cookie对象是javax.servlet.http.cookie类的实例

JSP将信息存储在客户机cookie的方法:

①使用构造方法声明一个cookie对象
cookie cookie = new cookie("username", "Jack")

②通过response对象的addcookie()方法将该cookie对象加入到response
response.addcookie(cookie)

JSP读取客户端cookie信息的方法:

①request.getcookies()从request中读入cookie对象数组
②再遍历该数组的各个cookie元素

cookie存取中文时可能会出现乱码

保存时,需要对中文进行编码 java.net.URLEncoder.encode(String s, String enc)
读取时,需要对中文进行解码 java.net.URLDecoder.decode(String s, String enc)
这个转码需要导入java.net.*包

cookiesave.jsp

<%@ page language="java" import="java.net.*,java.text.*,java.util.*" contentType="text/html; charset=utf-8"%>


	cookie-Save


<%
	cookie cookie = new cookie(URLEncoder.encode("姓名", "UTF-8"),URLEncoder.encode("杰克", "UTF-8"));
	cookie.setMaxAge(60*60);		//设定该cookie在用户机器硬盘上的存活期为1小时
	response.addcookie(cookie);
	
	String userIP = request.getRemoteAddr();
	cookie = new cookie("userIP",userIP);
	cookie.setMaxAge(10*60);
	response.addcookie(cookie);
	
	SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日h:m:s");
	Date date = new Date();
	String logintime = sdf.format(date);
	cookie = new cookie("loginTime", URLEncoder.encode(logintime,"UTF-8"));
	cookie.setMaxAge(20*60);
	response.addcookie(cookie);
 %>
去读取cookie

cookieread.jsp

<%@ page language="java" import="java.net.*" contentType="text/html; chartset=utf-8" pageEncoding="utf-8"%>


	cookie-Read


	使用foreach循环读取cookie数组,并输出其中所有的cookie
<% if(request.getcookies() != null) { for(cookie cookie : request.getcookies()) { String name = URLDecoder.decode(cookie.getName(), "UTF-8"); String value = URLDecoder.decode(cookie.getValue(), "UTF-8"); out.println("
cookie属性:"+name+"="+value); } } %>

使用for循环,查找某个cookie
<% cookie mycookie[] = request.getcookies(); cookie cookie = null; for(int i=0;i 您好,您上次登录的IP地址是<%=cookie.getValue() %>! <%} }%>

 我们在浏览器中可以看到我们的cookie

也可以根据安全性的需求去设置是否允许在客户端生成cookie

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/286908.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号