Java中Cookie的使用
1、Cookie的来历与作用
Cookie是WEB服务器通过浏览器保存在WWW用户端硬盘上的一个文本文件,这个文本文件中包含了文本信息。
文本信息的内容以“名/值”对(key/value)的形式进行存储。
可以让WEB开发者通过程序读写这个文本文件。
XP中保存Cookie的目录是“C://Documents and Settings\用户名\Cookies”
Cookie的作用
解决浏览器用户与Web服务器之间无状态通信。
2、Cookie编程
//创建对象
Date date = new Date() ;
Cookie c = new Cookie("lastVisited",date.toString()) ;
//设定有效时间 以s为单位
c.setMaxAge(60) ;
//设置Cookie路径和域名
c.setPath("/") ;
c.setDomain(".zl.org") ; //域名要以“.”开头
//发送Cookie文件
response.addCookie(c) ;
//读取Cookie
Cookie cookies[] = request.getCookies() ;
Cookie c1 = null ;
if(cookies != null){
for(int i=0;i<cookies.length;i++){
c1 = cookies[i] ;
out.println("cookie name : " + c1.getName() + " ") ;
out.println("cookie value :" + c1.getValue() + "<br>");
}
}
//修改Cookie
Cookie cookies[] = request.getCookies() ;
Cookie c = null ;
for(int i=0;i<cookies.length;i++){
c = cookies[i] ;
if(c.getName().equals("lastVisited")){
c.setValue("2010-04-3-28") ;
c.setMaxAge(60*60*12) ;
response.addCookie(c) ; //修改后,要更新到浏览器中
}
}
//删除Cookie,(将Cookie的有效时间设为0)
Cookie cookies[] = request.getCookies() ;
Cookie c = null ;
for(int i=0;i<cookies.length;i++){
c = cookies[i] ;
if(c.getName().equals("lastVisited")){
c.setMaxAge(0);
response.addCookie(c) ;
}
}
3、使用Cookie的注意事项
·Cookie的大小和数量是有限制的。
·Cookie在个人硬盘上所保存的文本信息是以明文格式进行保存的,没有任何的加密措施。
·浏览器用户可以设定不使用Cookie。
4、实例:Servlet中的Cookie编程
cookieInput.html页面
SetCookie.java
GetCookie.java
cookieInput.html页面中的参数提交到SetCookie.java中,由SetCookie.java保存在浏览器的Cookie中,在SetCookie.java中链接到GetCookie.java从而读取刚刚保存的Cookie。
SetCookie.java :
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
String username = request.getParameter("username") ;
//保存Cookie
if(username !=""){
Cookie c1 = new Cookie("username",username) ;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd") ;
Cookie c2 = new Cookie("lastVisited",sdf.format(new java.util.Date())) ;
c1.setMaxAge(60*60*60*12*30) ;
c2.setMaxAge(60*60*60*12*30) ;
response.addCookie(c1) ;
response.addCookie(c2) ;
out.println("Cookie保存成功!");
out.println("<br><br>") ;
out.println("<a href=GetCookie02>读取Cookie</a>") ;
}else{
response.sendRedirect("../cookieInput.html") ;
}
out.flush();
out.close();
}
GetCookie.java:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
//读取Cookie
Cookie cookies[] = request.getCookies() ;
Cookie c = null ;
if(cookies != null){
for(int i=0;i<cookies.length;i++){
c = cookies[i] ;
if(c.getName().equals("username")){
out.println("用户名: "+c.getValue());
out.println("<br>");
}
if(c.getName().equals("lastVisited")){
out.println("上次登录的时间: "+c.getValue());
}
}
}else{
out.println("No cookie !");
}
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
分享到:
相关推荐
当客户端浏览器再次访问该网站时,会把Cookie信息一起发送到服务器端,这样服务器就可以根据Cookie中的信息进行个性化处理。 #### 二、Cookie的创建与使用 ##### 1. 创建Cookie对象 在Java中,创建Cookie非常简单...
在 Java 中建立 Cookie 非常简单,主要通过 HttpServletResponse 对象的 addCookie() 方法来实现。下面是一个简单的示例代码: ```java HttpServletResponse response; Cookie cookie = new Cookie("cookiename", ...
我们可以使用 Java 语言来发送 HTTP 请求,并将 Cookie 信息写入到 HTTP 头部中,以便模拟用户的登陆行为。 Java 模拟 Cookie 登陆的实现 下面是一个简单的 Java 模拟 Cookie 登陆的示例代码: ```java import ...
本文将深入讲解Java中Cookie的使用方法,包括创建、设置、读取和删除Cookie,以及其在Web应用程序中的作用。 1. **Cookie的基本概念** - **定义**:Cookie是服务器发送到用户浏览器并存储在本地的一小块数据,当...
1. **安全性**: 由于Cookie数据是存储在客户端的,因此需要注意保护敏感信息,避免将其存储在Cookie中。 2. **大小限制**: 浏览器对单个Cookie的大小有限制,通常不超过4KB。 3. **隐私问题**: 使用Cookie时应考虑...
在Java中,我们可以使用HttpServletResponse的`addCookie()`方法来设置Cookie。首先创建一个Cookie对象,通过构造函数传入键值对,例如`new Cookie("key", "value")`。然后设置Cookie的存活时间,`setMaxAge()`方法...
### JAVA之cookie与session #### 一、Cookie与Session的概念 **Cookie** 与 **Session** 是两种在 Web 开发中用于跟踪用户会话的重要技术。它们的主要目标是在客户端和服务端之间保持状态。 - **Cookie** 机制...
在Java中,我们可以使用Apache Commons Codec库生成随机字符串,然后将其与图片一起发送给用户。用户输入的验证码与服务器端保存的验证码匹配,验证通过则允许执行操作: ```java // 生成验证码 Random random = ...
#### 三、在JSP中使用Cookie 在Java Web应用中,特别是在JSP页面中,可以通过Java代码来创建和操作Cookie。下面介绍两种基本的操作:写入Cookie和读取Cookie。 1. **写入Cookie** ```java // 创建并设置Cookie ...
本示例将详细介绍如何在Java Servlet中使用Cookie。 首先,我们需要了解Cookie的基本概念。Cookie是由服务器发送到浏览器,并由浏览器存储的一小段文本信息。当浏览器发起新的请求时,它会自动将该域下的所有Cookie...
标题“Discuz与Java通过Cookie共享登录”涉及的是在Web开发中如何实现不同系统间用户登录状态的共享,特别是Discuz论坛系统与基于Java的应用之间的交互。Discuz是一款流行的开源社区论坛软件,而Java是一种广泛使用...
Java Servlet和Cookie是Web开发中的两个重要概念,它们在构建动态、交互式的Web应用程序中扮演着关键角色。本文将深入探讨这两个技术,并提供详细的实践应用示例。 **Java Servlet** Java Servlet是一种Java语言...
在实际应用中,JS和Java Cookie结合使用可以实现更高级的功能。例如,服务器通过Java Cookie设置会话ID,然后在客户端通过JS读取Cookie,实现页面之间的状态保持。同时,正则表达式可用于处理和解析这些Cookie,以...
在Java中,我们主要使用`javax.servlet.http.Cookie`类来创建、读取和修改Cookie。以下是一些关键方法: 1. **创建Cookie**:通过`new Cookie(String name, String value)`创建一个新的Cookie对象,其中name为...
在Java编程中,Cookie是一种非常重要的技术,它...这个实例简单直观,适合初学者理解Cookie的工作原理以及如何在Java Web应用中使用它们。通过不断实践和深入学习,开发者可以掌握更多关于Cookie和Web开发的高级技巧。
- **验证Token**:用户再次访问时,服务器读取Cookie中的Token,与数据库中的信息对比,验证通过则自动登录。 6. **注意事项** - 遵循最佳实践,限制Cookie的有效期,不要让其永久存在。 - 对于敏感信息,除了...
在Java中,可以使用HttpURLConnection或HttpClient库来构建这样的请求。例如,使用HttpURLConnection: ```java URL url = new URL("登录接口URL"); HttpURLConnection conn = (HttpURLConnection) url.open...
本篇文章将深入探讨如何使用Java访问.NET Web服务,并在过程中获取和设置Cookie,以便实现更高效、安全的会话管理。首先,让我们理解Web服务的基本概念。 Web服务是一种通过HTTP协议提供功能的方法,使得不同系统间...
java web cookie 详解
在上面的代码中,我们使用 HttpServletRequest 对象的 getCookie() 方法获取当前路径和直接父路径的所有 Cookie 对象,然后遍历该数组,找到名为 "key" 的 Cookie 对象,并将其值修改为 "newValue"。 实现两个网站...