关于javacookies的信息

博主:adminadmin 2023-01-17 00:57:08 416

今天给各位分享javacookies的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

怎么在java中使用cookie

1、Cookie的来历与作用

Cookie是WEB服务器通过浏览器保存在WWW用户端硬盘上的一个文本文件,这个文本文件中包含了文本信息。

文本信息的内容以“名/值”对(key/value)的形式进行存储。

可以让WEB开发者通过程序读写这个文本文件。

XP中保存Cookie的目录是“C://Documents and Settings\用户名\Cookies”

Cookie的作用

解决浏览器用户与Web服务器之间无状态通信。

2Cookie编程

//创建对象

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

c1 = cookies[i] ;

out.println("cookie name : " + c1.getName() + " ") ;

out.println("cookie value :" + c1.getValue() + "

");

}

}

//修改Cookie

Cookie cookies[] = request.getCookies() ;

Cookie c = null ;

for(int i=0;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

c = cookies[i] ;

if(c.getName().equals("lastVisited")){

c.setMaxAge(0);

response.addCookie(c) ;

}

}

4、使用Cookie的注意事项

·Cookie的大小和数量是有限制的。

·Cookie在个人硬盘上所保存的文本信息是以明文格式进行保存的,没有任何的加密措施。

·浏览器用户可以设定不使用Cookie。

5、实例:Servlet中的Cookie编程

cookieInput.html页面

SetCookie.java

GetCookie.java

cookieInput.html页面中的参数提交到SetCookie.java中,由SetCookie.java保存在浏览器的Cookie中,在SerCookie.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("

") ;

out.println("读取Cookie") ;

}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("

");

out.println("");

out.println("

");

out.println("

");

//读取Cookie

Cookie cookies[] = request.getCookies() ;

Cookie c = null ;

if(cookies != null){

for(int i=0;i

c = cookies[i] ;

if(c.getName().equals("username")){

out.println("用户名: "+c.getValue());

out.println("

");

}

if(c.getName().equals("lastVisited")){

out.println("上次登录的时间: "+c.getValue());

}

}

}else{

out.println("No cookie !");

}

out.println("

");

out.println("

");

out.flush();

out.close();

}

java 怎么设置cookie

java设置cookie是通过 Servlet 设置的。

通过 Servlet 设置 Cookies 包括三个步骤:

(1) 创建一个 Cookie 对象:您可以调用带有 cookie 名称和 cookie 值的 Cookie 构造函数,cookie 名称和 cookie 值都是字符串。

Cookie cookie = new Cookie("key","value");

请记住,无论是名字还是值,都不应该包含空格或以下任何字符:

[ ] ( ) = , " / ? @ : ;

(2) 设置最大生存周期:您可以使用 setMaxAge 方法来指定 cookie 能够保持有效的时间(以秒为单位)。下面将设置一个最长有效期为 24 小时的 cookie。

cookie.setMaxAge(60*60*24);

(3) 发送 Cookie 到 HTTP 响应头:您可以使用 response.addCookie 来添加 HTTP 响应头中的 Cookies,如下所示:

response.addCookie(cookie);

(4)完整实例:

// 导入必需的 java 库

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

// 扩展 HttpServlet 类

public class HelloForm extends HttpServlet {

public void doGet(HttpServletRequest request,

HttpServletResponse response)

throws ServletException, IOException

{

// 为名字和姓氏创建 Cookies

Cookie firstName = new Cookie("first_name",

request.getParameter("first_name"));

Cookie lastName = new Cookie("last_name",

request.getParameter("last_name"));

// 为两个 Cookies 设置过期日期为 24 小时后

firstName.setMaxAge(60*60*24);

lastName.setMaxAge(60*60*24);

// 在响应头中添加两个 Cookies

response.addCookie( firstName );

response.addCookie( lastName );

// 设置响应内容类型

response.setContentType("text/html;charset=UTF-8");

PrintWriter out = response.getWriter();

String title = "设置 Cookies 实例";

String docType =

"!doctype html public \"-//w3c//dtd html 4.0 " +

"transitional//en\"\n";

out.println(docType +

"html\n" +

"headtitle" + title + "/title/head\n" +

"body bgcolor=\"#f0f0f0\"\n" +

"h1 align=\"center\"" + title + "/h1\n" +

"ul\n" +

" lib名字/b:"

+ request.getParameter("first_name") + "\n/li" +

" lib姓氏/b:"

+ request.getParameter("last_name") + "\n/li" +

"/ul\n" +

"/body/html");

}

}

在java中如何用cookies保存数据?

一、java保存写入Cookie

JSP程序片段如下:

//保存写入Cookie

<%

String cookieName="Sender";

Cookie cookie=new Cookie(cookieName, "Test_Content");

cookie.setMaxAge(10);   //存活期为10秒

response.addCookie(cookie);

%>

二、读取出Cookie

Cookie文件创建好后,自然还需要用户把它读出来,代码片段如下:

<%

Cookie cookies[]=request.getCookies(); //读出用户硬盘上的Cookie,并将所有的Cookie放到一个cookie对象数组里面

Cookie sCookie=null;

String svalue=null;

String sname=null;

for(int i=0;icookies.length-1;i++{    //用一个循环语句遍历刚才建立的Cookie对象数组

sCookie=cookies;   //取出数组中的一个Cookie对象

sname=sCookie.getName(); //取得这个Cookie的名字

svalue=sCookie.getValue(); //取得这个Cookie的内容

%>

<%

}

%>

name value

<%=name%> <%=svalue%>

怎么用java获取cookie

ookie实际上是一个存在你硬盘里的数据,但是这些数据很特殊,只能由web应用提交给浏览器帮助存储,并且我们还能读取浏览器存在本地的cookie

web应用一般只在cookie中存储一些用户信息等少量且暂时的数据,数据量大则不适合存储在cookies

ava通过httpServletRequest接口来访问浏览器请求中的cookies数据(这里先了解一下cookies来龙去脉,代码待会一并给出)

每个cookie有两个属性:键 ,值(无特定格式字符串,所以可以diy存数据,不过要注意URL编码问题,编码问题待会和代码一同讲)

如果我们需要存储新的cookie我们可以new一个cookie实例 并通过httpservletRsponse提交到浏览器,进而存储到本地

javacookies的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、javacookies的信息别忘了在本站进行查找喔。