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

javacookie域

发布时间: 2022-05-23 12:50:46

Ⅰ 怎么用java实现跨域cookie

通常情况下的话,可以用url的参数来实现。这需要两个站点有一套固定的规则。比如用户访问A站点之后,A站点向url添加一个参数。参数包括了cookie的内容或代表的id,然后重定向到B站点。B站点才能根据A站点传送的参数解析cookie并进行设置。

Ⅱ 怎么在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的意思、用途!

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

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

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

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

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

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

Ⅳ java能获得其他域里面的cookie吗

只有先取到document才能取到cookie。。 获取不了。。。没有这种方法。。除非你自己开发一个程序,读取指定位置的文件,那么可以获龋。但这个位置也写死了,浏览器是不可能的,安全性考虑。

Ⅳ java cookie设置

Cookie c1 = new Cookie("verifysession","shuoyi1");
Cookie c2 = new Cookie("verifysession","shuoyi2");
ServletActionContext.getResponse().addCookie(c1);
ServletActionContext.getResponse().addCookie(c2);
Cookie[] cookies = ActionUtil.getRequest().getCookies();
for (Cookie c : cookies) {
String name = c.getName();
String value = c.getValue();
System.out.println(name);
System.out.println(value);
}

//结果:
JSESSIONID

verifysession
shuoyi2

Ⅵ java cookie 设置多个domain能设置多个吗

domain就是域,cookie不能跨域设置,只能设置当前域或者更高级的域中(必须是同一个根域名下的)
比如根域名: .aaa.com 一级域名 bbb.aaa.com 二级域名 ccc.bbb.aaa.com
这时候如果是访问的ccc.bbb.aaa.com则可以设置domain是ccc.bbb.aaa.com、bbb.aaa.com和.aaa.com的cookie;如果访问bbb.aaa.com则可以设置domain是bbb.aaa.com和.aaa.com的cookie;如果访问www.aaa.com则只能设置domain是.aaa.com的cookie。

Ⅶ java中session和cookie的区别

这些都是基础知识,不过有必要做深入了解。先简单介绍一下。

二者的定义:

当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择,

都纪录下来。当下次你再光临同一个网站,WEB 服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依据 Cookie

里的内容来判断使用者,送出特定的网页内容给你。 Cookie 的使用很普遍,许多有提供个人化服务的网站,都是利用 Cookie

来辨认使用者,以方便送出使用者量身定做的内容,像是 Web 接口的免费 email 网站,都要用到 Cookie。

具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。

同时我们也看到,由于采用服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制

来达到保存标识的目的,但实际上它还有其他选择。

cookie机制。正统的cookie分发是通过扩展HTTP协议来实现的,服务器通过在HTTP的响应头中加上一行特殊的指示以提示

浏览器按照指示生成相应的cookie。然而纯粹的客户端脚本如JavaScript或者VBScript也可以生成cookie。而cookie的使用

是由浏览器按照一定的原则在后台自动发送给服务器的。浏览器检查所有存储的cookie,如果某个cookie所声明的作用范围

大于等于将要请求的资源所在的位置,则把该cookie附在请求资源的HTTP请求头上发送给服务器。

cookie的内容主要包括:名字,值,过期时间,路径和域。路径与域一起构成cookie的作用范围。若不设置过期时间,则表示这

个cookie的生命期为浏览器会话期间,关闭浏览器窗口,cookie就消失。这种生命期为浏览器会话期的cookie被称为会话cookie。

会话cookie一般不存储在硬盘上而是保存在内存里,当然这种行为并不是规范规定的。若设置了过期时间,浏览器就会把cookie

保存到硬盘上,关闭后再次打开浏览器,这些cookie仍然有效直到超过设定的过期时间。存储在硬盘上的cookie可以在不同的浏

览器进程间共享,比如两个IE窗口。而对于保存在内存里的cookie,不同的浏览器有不同的处理方式

session机制。session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。

当程序需要为某个客户端的请求创建一个session时,服务器首先检查这个客户端的请求里是否已包含了一个session标识

(称为session id),如果已包含则说明以前已经为此客户端创建过session,服务器就按照session id把这个session检索出来

使用(检索不到,会新建一个),如果客户端请求不包含session id,则为此客户端创建一个session并且生成一个与此session相

关联的session id,session id的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个session id将被在本次响应

中返回给客户端保存。保存这个session id的方式可以采用cookie,这样在交互过程中浏览器可以自动的按照规则把这个标识发送给

服务器。一般这个cookie的名字都是类似于SEEESIONID。但cookie可以被人为的禁止,则必须有其他机制以便在cookie被禁止时

仍然能够把session id传递回服务器。

经常被使用的一种技术叫做URL重写,就是把session id直接附加在URL路径的后面。还有一种技术叫做表单隐藏字段。就是服务器

会自动修改表单,添加一个隐藏字段,以便在表单提交时能够把session id传递回服务器。比如:
<form name="testform" action="/xxx">
<input type="hidden" name="jsessionid" value="!-145788764">
<input type="text">
</form>
实际上这种技术可以简单的用对action应用URL重写来代替。

cookie 和session 的区别:

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。

3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE。

4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

5、所以个人建议:
将登陆信息等重要信息存放为SESSION
其他信息如果需要保留,可以放在COOKIE中

Ⅷ Java cookie的跨域问题怎么在前端域名下添加cookie

假设你的前端站点域名为www.xxx.com 后端数据接口域名为 api.xxx.com

通常有以下2种解决方案

  1. cookie写入的时候写入xxx.com域下不要写到www.xxx.com或者api.xxx.com下

  2. 在www.xxx.com中配置反向代理,将www.xxx.com/api代理到api.xxx.com,然后cookie就正常的写到www.xxx.com域下就可以了

Ⅸ java怎么读取其他域的cookie

只有先取到document才能取到cookie。。
获取不了。。。没有这种方法。。除非你自己开发一个程序,读取指定位置的文件,那么可以获取。。但这个位置也写死了,浏览器是不可能的,安全性考虑。

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

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

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

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

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

热点内容
脚本师传奇 发布:2025-02-13 14:45:48 浏览:480
我的世界lce服务器剪辑 发布:2025-02-13 14:40:50 浏览:624
phpsftp上传 发布:2025-02-13 14:35:43 浏览:273
c学生管理系统数据库 发布:2025-02-13 14:21:41 浏览:122
传奇添加会员脚本 发布:2025-02-13 14:20:50 浏览:205
微信开发平台源码 发布:2025-02-13 14:14:20 浏览:613
安卓大屏屏幕休眠是什么意思 发布:2025-02-13 14:13:28 浏览:464
脚本的参数设置 发布:2025-02-13 14:11:57 浏览:863
androidtexture 发布:2025-02-13 14:11:57 浏览:393
怎么取消网络密码怎么设置 发布:2025-02-13 14:11:54 浏览:426