当前位置:首页 » 编程语言 » cookiesjava

cookiesjava

发布时间: 2023-02-10 07:29:29

1. 怎么在java中使用cookie

一、java保存写入Cookie
JSP程序片段如下:
//保存写入Cookie
<%
String cookieName="Sender";
Cookie cookie=new Cookie(cookieName, "Test_Content");
cookie.setMaxAge(10); //存活期为10秒
response.addCookie(cookie);
%>
解读一下这段代码:
Cookie cookie=new Cookie(cookieName, "Test_Content");
这一行建立了一个Cookie对象,初始化有两个参数,第一个参数cookieName定义了Cookie的名字,后一个参数,也是一个字符串,定义了Cookie的内容。也就是用户希望网页在用户的机器上标识的文件内容。
接下来一行:cookie.setMaxAge(10),调用了Cookie中的setMaxAge方法,设定Cookie在用户机器硬盘上的存活期为10秒。一个Cookie在用户的硬盘里面存在的时间并不是无限期的,在建立Cookie对象的时候,我们必须制定Cookie的存活期,超过了这个存活期后,Cookie文件就不再起作用,会被用户的浏览器自行删除。如果用户希望用户在下次访问这个页面的时候,Cookie文件仍然有效而且可以被网页读出来的话,用户可以将Cookie的存活期设得稍微长一些。比如cookie.setMaxAge(365*24*60*60)可以让Cookie文件在一年内有效。
二、 读取出Cookie
Cookie文件创建好后,自然还需要用户把它读出来,代码片段如下:
<%
Cookie cookies[]=request.getCookies(); //读出用户硬盘上的Cookie,并将所有的Cookie放到一个cookie对象数组里面
Cookie sCookie=null;
String svalue=null;
String sname=null;
for(int i=0;i<cookies.length-1;i++{ //用一个循环语句遍历刚才建立的Cookie对象数组
sCookie=cookies; //取出数组中的一个Cookie对象
sname=sCookie.getName(); //取得这个Cookie的名字
svalue=sCookie.getValue(); //取得这个Cookie的内容
%>
<%
}
%>
name value
<%=name%> <%=svalue%>
这一小段JSP文件可以读出用户硬盘上的所有有效的Cookie,也就是仍然在存活期内的Cookie文件。并用表格的形式列出每个Cookie的名字和内容。
解读一下这段代码:
Cookie cookies[]=request.getCookies() 我们用request.getCookies()读出用户硬盘上的Cookie,并将所有的Cookie放到一个cookie对象数组里面。
接下来我们用一个循环语句遍历刚才建立的Cookie对象数组,我们用sCookie=cookies取出数组中的一个Cookie对象,然后我们用sCookie.getValue()和sCookie.getName()两个方法来取得这个Cookie的名字和内容。
通过将取出来的Cookie的名字和内容放在字符串变量中,我们就能对其进行各种操作了。在上面的例子里,可通过循环语句的遍历,将所有Cookie放在一张表格中进行显示。

2. java如何改变cookie的值

java中通过Cookie[] cs = request.getCookies()语句来获取所有的cookie,然后对cookie数组进行遍历,假使你要对名为id的cookie进行修改,那么在遍历cookie数组时对每个cookie进行判断c.getName().equals("id"),如果找到了名为id的cookie,那么直接新建一个cookie对象,覆盖名为id的cookie,Cookie cookie = new Cookie("id", id)即可达到改变cookie值的效果。
java中修改cookie值通常使用覆盖的方式,如果服务器端发送重复的Cookie那么会覆盖原有的Cookie,例如客户端的第一个请求服务器端发送的Cookie是:Set-Cookie: a=A;第二请求服务器端发送的是:Set-Cookie: a=AA,那么客户端只留下一个Cookie,即:a=AA。

3. Java中的Cookie的意思和用途是什么

cookie就是把一些信息存放到浏览器能够读取的到的地方,一般为ie的临时目录

可以通过js或者java来读取自己域内的cookie信息

存放在cookie的好处是前后台都可以读取,速度相对比较快

用途:一些不常改变的信息,可以保存在cookie里,这样就可以减少读取数据库,降低数据库的压力

4. Java中的Cookie的意思、用途!

cookie首先并不是java的概念,是web编程里一种客户端存储数据的方式(通常是加密过的)。

有些数据,不是特别重要,但用户又经常要用到的,比如:网站用户的登录信息、历史查看记录等等,这些数据保存在服务器上会让服务器承担很大的压力,因此变产生了cookie这样一种客户端数据存储的方式。意思就是说把你个人的一些数据保存在本地,这样服务器减少了压力,并且下次你访问网站的时候,服务器会主动去你的机器上读取这些数据并展现出来。

比较常见的例子,有些网站登录的时候会有一个“记住登录状态”的选择,选了以后用户以后再来这个网站会发现不用再登录了,比如网络知道、猫扑等等;再比如最近优酷、腾讯视频上的的历史观看记录,不用登录,就可以记录你的机器上次看了哪些视频,看到多少分多少秒了,下次来直接点就能接着看,特别实用~~~~ PS.我最近一直在用,哈哈

cookie虽然有诸多好处,但使用的过程中还是需要注意风险,因为客户端的不确定性,对安全和隐私要求较高的数据建议还是不要放在cookie里存储,比如网络游戏账号密码信息、电子银行账户信息等等。

最后再说一个实例,当你清除浏览器缓存的时候,一般会有选择是否清除cookie,或者360安全卫士帮助你清除上网痕迹的时候,都会把本地cookie清除掉,这时候你会发现,你很长时间都不用登录的网站,比如网络知道、猫扑(原谅我经常上的网站就这俩,没别的例子可举- -!......),现在都需要重新登录了,原因就是cookie被清除掉了

一字一句全是手打,望楼主采纳~~

5. 怎么用java获取cookie

ookie实际上是一个存在你硬盘里的数据,但是这些数据很特殊,只能由web应用提交给浏览器帮助存储,并且我们还能读取浏览器存在本地的cookie
web应用一般只在cookie中存储一些用户信息等少量且暂时的数据,数据量大则不适合存储在cookies
ava通过httpServletRequest接口来访问浏览器请求中的cookies数据(这里先了解一下cookies来龙去脉,代码待会一并给出)
每个cookie有两个属性:键 ,值(无特定格式字符串,所以可以diy存数据,不过要注意URL编码问题,编码问题待会和代码一同讲)
如果我们需要存储新的cookie我们可以new一个cookie实例 并通过httpservletRsponse提交到浏览器,进而存储到本地

6. 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" +
"<head><title>" + title + "</title></head>\n" +
"<body bgcolor=\"#f0f0f0\">\n" +
"<h1 align=\"center\">" + title + "</h1>\n" +
"<ul>\n" +
" <li><b>名字</b>:"
+ request.getParameter("first_name") + "\n</li>" +
" <li><b>姓氏</b>:"
+ request.getParameter("last_name") + "\n</li>" +
"</ul>\n" +
"</body></html>");
}
}

7. 在JAVA中cookies和session的区别

无论在哪里,cookies和session的却别都是一样的。
cookies:用于在客户端来存储一些东西,如果浏览器禁用了cookies就麻烦了,咱们写的一些程序就不能正确地表达咱们原来的意思了,并且cookies的安全性不好,你就不能用cookies来保存密码什么的,否则很容易被盗取,所以不要用cookies保存隐私信息。
session:用于在服务器端,开始于用户登录,结束于用户离开,当然我们可以设置session的有效期,在服务器端的webconfig里面。它全局有效,在任何的页面都可以访问。

8. java中如何获取cookie

1.设置cookie到客户端
Cookie c1 = new Cookie("username","hzh");
response.addCookie(c1);

Cookie c2 = new Cookie("password","123");
//设置生命周期为1小时,秒为单位
c2.setMaxAge(3600);
response.addCookie(c2);

response.getWriter().print("ok");

查看此时的cookie文件,发现只写入了password,因为此时未给 username设置生命周期,它还在客户端的内存中,并为写到文件中(此时客户端关闭此浏览器窗口,就丢失了),想写到客户端,需要加入c1.setMaxAge(3600)在 response.addCookie(c1);之前

以下是写入我电脑中的cookie



2.读取cookie文件

Cookie[] cookies = request.getCookies();
for(Cookie c :cookies ){
System.out.println(c.getName()+"--->"+c.getValue());
}

控制台输出结果如下:
username--->hzh
password--->123
JSESSIONID--->


注意:
1.服务器可以向客户端写内容, 只能是文本内容
2.客户端可以阻止服务器写入,禁用cookies
3.只能读取自己webapp写入的东西

9. 怎么在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返回this 发布:2025-10-20 08:28:16 浏览:582
制作脚本网站 发布:2025-10-20 08:17:34 浏览:876
python中的init方法 发布:2025-10-20 08:17:33 浏览:571
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:757
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:673
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1000
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:244
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:103
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:795
python股票数据获取 发布:2025-10-20 07:39:44 浏览:701