- 浏览: 778648 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (256)
- ssh (18)
- webservice (8)
- java基础 (38)
- j2EE方方面面 (17)
- 随意涂鸭!呵呵 (2)
- 数据库 (22)
- work (10)
- XML与XML解析 (9)
- 测试 (2)
- sso (1)
- ldap (6)
- java 模板技术 (4)
- 版本管理 (1)
- 每日小点滴 (26)
- javascript (26)
- Jakarta Commons (2)
- css (6)
- 设计 (3)
- Eclipse插件开发 (3)
- BAP (3)
- web控件 (2)
- java加密解密 (4)
- 调优 (6)
- 界面技术 (3)
- java多线程 (6)
- 互联网 (2)
- 日志管理 (4)
- java调度 (3)
- rest (0)
- Python (2)
- mobile (2)
- 2016的故事 (4)
- Docker (1)
- NOSQL_Hadoop (0)
最新评论
-
promiseloney:
这个女程序员厉害了。。。
JVM调优:GC 参数 -
zxjlwt:
可以通过WebService上传一个文件吗?素人派http:/ ...
webservice传送XML大小估算 -
liaoshaoyang:
写的不错嘛 可以做参考
权限管理设计一 -
aaaaaaaaabaas:
谢谢,对我有帮助
Apache Commons Configuration使用入门 -
Jack_Wilshere:
com.smartdot.pdm.business.corp. ...
java导出txt
由于要做一个简单的SSO,所以学习了cookie部分,原来感觉Cookie很简单,无非就是将cookie写入response,再从request中读出来,作DEMO练习了一下,发现有好多细节得注意。
大体思路:写两个servlet,一个写入cookie,一个读出cookie,看到很多人用以下代码:
response.addCookie(cookie); javax.servlet.http.Cookie[] diskCookies = request.getCookies(); for(int i=0;i<diskCookies.length;i++){ Cookie cookie=diskCookies[i]; System.out.println( "cookie[0].getName()== "+cookie.getName()); System.out.println( "cookie[0].getValue()== "+cookie.getValue()); System.out.println( "cookie[0].getDomain() "+cookie.getDomain()); }
也就是在写入cookie后马上读取,进行测试,当然读不到,因为request内容没有刷新,要读到也是历史内容,所以还是使用response.sendRedirect("ReadCookie");转到下一个servlet进行测试吧,另外,网上有简单的cookie查看工具,还蛮好用,在附件中可以下载。
好了,开始看代码:
1、写cookie的servlet
package test; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /*@author:duanqf*/ public class TestCookie extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 如果不设置域,cookie不会写入 // 如果设为localhost也不会写入 // cookie.setDomain("localhost"); // 设置域为IP时,写入IP的域中,利用http://172.20.40.73:8088/SSOAuth/TestCookie访问可以读出 // 利用http://localhost:8088/SSOAuth/TestCookie访问读不出来。 Cookie cookie = new Cookie("duanqftest", "22222"); cookie.setDomain("172.20.40.73"); cookie.setMaxAge(60000); cookie.setPath("/"); response.addCookie(cookie); javax.servlet.http.Cookie[] diskCookies = request.getCookies(); response.sendRedirect("ReadCookie"); } }
2、读出cookie的代码
package test; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /*@author:duanqf*/ public class ReadCookie extends HttpServlet{ protected void doGet(HttpServletRequest request, HttpServletResponse response){ javax.servlet.http.Cookie[] diskCookies = request.getCookies(); for(int i=0;i<diskCookies.length;i++){ Cookie cookie=diskCookies[i]; System.out.println( "cookie[0].getName()== "+cookie.getName()); System.out.println( "cookie[0].getValue()== "+cookie.getValue()); System.out.println( "cookie[0].getDomain() "+cookie.getDomain()); } } }
javax.servlet.http.Cookie有两个比较重要的方法:setDomain()、setPath()
正常的cookie只能在一个应用中共享,即一个cookie只能由创建它的应用获得。
1.可在同一应用服务器内共享方法:设置cookie.setPath("/");
本机tomcat/webapp下面有两个应用:webapp_a和webapp_b,
1)原来在webapp_a下面设置的cookie,在webapp_b下面获取不到,path默认是产生cookie的应用的路径。
2)若在webapp_a下面设置cookie的时候,增加一条cookie.setPath("/");或者cookie.setPath("/webapp_b/");
就可以在webapp_b下面获取到cas设置的cookie了。
3)此处的参数,是相对于应用服务器存放应用的文件夹的根目录而言的(比如tomcat下面的webapp),因此cookie.setPath("/");之后,可以在webapp文件夹下的所有应用共享cookie,而cookie.setPath("/webapp_b/");
是指cas应用设置的cookie只能在webapp_b应用下的获得,即便是产生这个cookie的webapp_a应用也不可以。
4)设置cookie.setPath("/webapp_b/jsp")或者cookie.setPath("/webapp_b/jsp/")的时候,只有在webapp_b/jsp下面可以获得cookie,在webapp_b下面但是在jsp文件夹外的都不能获得cookie。
5)设置cookie.setPath("/webapp_b");,是指在webapp_b下面才可以使用cookie,这样就不可以在产生cookie的应用webapp_a下面获取cookie了
6)有多条cookie.setPath("XXX");语句的时候,起作用的以最后一条为准。
2.跨域共享cookie的方法:设置cookie.setDomain(".jszx.com");
A机所在的域:home.langchao.com,A有应用webapp_a
B机所在的域:jszx.com,B有应用webapp_b
1)在webapp_a下面设置cookie的时候,增加cookie.setDomain(".jszx.com");,这样在webapp_b下面就可以取到cookie。
2)输入url访问webapp_b的时候,必须输入域名才能解析。比如说在A机器输入:http://lc-bsp.jszx.com:8080/webapp_b,可以获取webapp_a在客户端设置的cookie,而B机器访问本机的应用,输入:http://localhost:8080/webapp_b则不可以获得cookie。
3)设置了cookie.setDomain(".jszx.com");,还可以在默认的home.langchao.com下面共享
疑问: 为什么我写cookie设置的城都是localhost,URL里也用localhost, 但是cookie写不进去??当然,也读不出来了。测试环境TOMCAT5.5 IE6.0
- cookies查看器.rar (31 KB)
- 下载次数: 137
评论
还有为什么cookie.setDomain("localhost");就是设置不进去呢?没有效果呢?
2:用ip即可,或者127.0.0.1
发表评论
-
Spring boot junit test
2020-06-16 16:06 3511. 下面的AgreementService 引用了 Fei ... -
Istio
2020-06-15 09:04 274容器编排平台使 用了实例scaling来对流量进行管理。而 ... -
Spring boot junit test
2020-06-14 11:26 272Refer to: https://www.baeldu ... -
Gradle task 接收参数
2020-06-09 09:55 1487//1. 执行gradle task 时传递参数 ./g ... -
Git
2018-07-29 11:49 476一、 跟踪分支与远程 ... -
企业级API网关
2018-07-26 21:17 634API网关就是用来代替控制器层 Controller,使用A ... -
分步式事务
2018-07-25 21:46 632分布式事务场景: 不同系统,不同数据库 例如,外卖点单后 ... -
转载:IBM红米连接wifi的方法
2014-05-05 16:47 1500转载自:http://bbs.xia ... -
English interview
2013-10-14 14:42 1017Good morning ! It is really my ... -
需要测试一下的问题
2013-04-26 10:15 0<update id="updateSit ... -
int i 引出JVM故事
2013-02-27 18:47 749public class TestDuanqf { ... -
Win7快速启动栏设置及防止消失方法
2011-03-07 10:08 2260转载自:http://blog.s ... -
渐老的愤青
2010-06-11 10:26 1547我发现自己老了,因为睡得太晚、睡眠不足身体各项机能都下降,脾气 ... -
用DIV做带横向滚动条的多选框
2010-05-10 11:36 3446<!DOCTYPE HTML PUBLIC " ... -
ibatis 缓存 cacheModel
2009-07-30 13:40 1200<cacheModel type="LRU& ... -
PropertySet 学习一
2009-05-21 16:01 2847http://www.opensymphony.com/pro ... -
java 路径的故事
2009-05-14 09:44 1435JSP中:${pageContext.request.cont ... -
发送激活码确认
2009-04-23 16:44 2909一、需求 最近做某项目的用户管理( ... -
09年03月27日--request 之 getParameterMap
2009-03-27 11:25 3436在struts1的action中, status参数通过par ... -
网络中工作组与域的解释
2009-03-16 10:30 1478为什么要组建局域网 ...
相关推荐
### Cookie介绍及应用 #### 一、Cookie的基本概念与作用 **Cookie** 是一种轻量级的数据存储技术,主要用于在用户的计算机上存储少量信息。它由服务器生成,并发送到用户的浏览器,然后浏览器会将该信息存储在本地...
【PHP课程同步笔记day39:Cookie介绍】 在Web开发中,为了跟踪用户在整个会话中的行为,常常需要用到会话跟踪技术。常见的两种方法是Cookie和Session。Cookie是在客户端存储信息来标识用户身份,而Session则是在...
【Java Cookie】 Cookie 是一种基于HTTP协议的客户端存储机制,用于在Web应用程序中实现会话跟踪和数据持久化。它的基本概念是服务器在客户端(通常是浏览器)存储一小段信息,然后在后续的请求中,客户端会将这些...
Cookie介绍 Cookie是服务器发送到用户浏览器并储存的一小块数据,可用于跟踪用户状态或记录用户偏好。在用户每次访问网站时,浏览器会将Cookie发送回服务器。 ### 4. 使用Cookie显示信息 - **设置Cookie**:在...
Cookie介绍 Cookie是Web服务器保存在用户浏览器(客户端)上的小文本文件,可以包含有关用户的信息。Cookie可以分为临时Cookie和持久Cookie。临时Cookie只在浏览器上保存一段规定的时间,一旦超过规定的时间,该...
1. Cookie 介绍:Cookie 是一种小型文本文件,用于存储用户信息,以便服务器在后续访问时能够识别用户的身份。Cookie 的主要功能是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留...
### PHP的Cookie技术介绍 #### 一、Cookie概述 在探讨PHP中的Cookie使用之前,我们首先需要明确什么是Cookie。Cookie是一种让服务器能够存储并稍后读取的小型文本文件,通常用于跟踪用户状态。它是在1994年由...
### 关于Java应用Cookie知识点详解 #### 一、Cookie简介 ...通过以上介绍,我们可以了解到Java中Cookie的基本使用方法以及相关的安全性和注意事项。这些知识点对于开发基于Java的Web应用程序非常重要。
### ASP.NET中cookie读写方法介绍 在ASP.NET应用程序中,cookie是一种常用的数据存储机制,用于在客户端存储少量的信息。本文将详细介绍ASP.NET中cookie的读写方法,并通过实例演示如何实现这些操作。 #### 一、...
jQuery 提供了一个非常方便的方式来处理这些操作,本文将详细介绍如何利用 jQuery 和其插件来设置、获取及删除 Cookie。 #### 二、环境搭建 首先,确保您的项目环境中已经包含了 jQuery 库。可以使用 CDN 方式引入...
在Cookie介绍中 我们了解到Cookie是基于Set Cookie响应头和Cookie请求头工作的 服务器通过response对象的addHeader 方法将cookie发送给浏览器 然后浏览器通过Cookie请求头将cookie再送回服务器
#### 一、背景介绍 在网络应用中,为了提供便捷的用户体验,许多网站都提供了“记住我”的功能。这一功能可以让用户在下次访问时无需重新输入用户名和密码即可直接登录。实现这一功能的一种常见方法是通过在用户的...
#### 二、功能介绍 1. **主要功能**: - 将浏览器使用的cookies加载到`cookiejar`对象中。 - 支持Python下载并获取与浏览器中看到相同的内容,无需重新登录。 - 目前支持Chrome和Firefox浏览器。 - cookies存储...
下面我们将详细介绍 Java 操作 Cookie 的基础知识和操作。 一、建立 Cookie 在 Java 中建立 Cookie 非常简单,主要通过 HttpServletResponse 对象的 addCookie() 方法来实现。下面是一个简单的示例代码: ```java...
### Extjs 中关于 Cookie 的操作 #### 一、引言 在 Web 开发中,Cookie 是一种常用的数据...通过以上介绍,开发者应该能够熟练掌握在 Extjs 中如何利用 Cookie 进行数据的存储与读取,从而提高应用程序的用户体验。
在本文中,我们将介绍 Java 模拟 Cookie 登陆的简单操作,结合实例形式分析了 Java 模拟 Cookie 登陆的相关原理与基本实现技巧。本示例主要是为了演示如何使用 Java 语言模拟 Cookie 登陆,实现自动登陆的功能。 是...
标题中的“cookie”一词指的是Web...以上是关于Cookie技术的基本介绍,具体实现细节和使用技巧可能需要参考原文档或“cookie.jsp”文件的内容。对于开发者来说,理解和熟练使用Cookie是构建高效、安全的Web应用的基础。
本文将详细介绍jQuery Cookie的使用方法及其在实际项目中的应用。 首先,我们来理解Cookie的基本概念。Cookie是由服务器发送到用户的浏览器并由浏览器保存的一小块数据,它可以包含文本信息,如用户名、会话ID等。...
### JSP中的Cookie操作 在Web开发中,Cookie是一种...通过以上介绍,我们可以了解到在JSP中如何有效地利用Cookie来进行用户状态的管理和信息的持久化存储。这对于实现登录状态保持、个性化推荐等功能具有重要意义。
本文将详细介绍HttpOnly属性的作用,以及Java和PHP后台如何设置HttpOnly属性到浏览器的Cookie。 **HttpOnly属性详解** HttpOnly属性是Cookie的一个扩展,其主要目的是增强对XSS攻击的防护。当一个Cookie被设置为...