java中Cookie被禁用后Session追踪问题
这篇文章主要介绍了Java中Cookie被禁用后Session追踪问题,非常不错,具有参考借鉴价值,需要的朋友可以参考下
一.服务器端获取Session对象依赖于客户端携带的Cookie中的JSESSIONID数据。如果用户把浏览器的隐私级别调到最高,这时浏览器是不会接受Cookie、这样导致永远在服务器端都拿不到的JSESSIONID信息。这样就导致服务器端的Session使用不了。
Java针对Cookie禁用,给出了解决方案,依然可以保证JSESSIONID的传输。
Java中给出了再所有的路径的后面拼接JSESSIONID信息。
在 Session1Servlet中,使用deURL(url) 对超链接路径拼接 session的唯一标识
// 当点击 的.时候跳转到 session2
ontentType("text/html;charset=utf-8");
//此方法会在路径后面自动拼接sessionId
String path = deURL("/day11/session2");
tln(path);
//页面输出
riter()tln("ip地址保存成功,想看 请<a href='" + path + "'>点击</a>");
二.在response对象中的提供的encodeURL方法它只能对页面上的超链接或者是form表单中的action中的路径进行重写(拼接JSESSIONID)。
如果我们使用的重定向技术,这时必须使用下面方法完成:其实就是在路径后面拼接了 Session的唯一标识 JSESSIONID。
// 重定向到session2
String path = deRedirectURL("/day11/session2");
tln("重定向编码后的路径:" + path);
Redirect(path);
session2代码,获得session1传过来的ID
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 需求:从session容器中取出ip
// 获得session对象
HttpSession session = ession();
// 获取ip地址
String ip = (String) ttribute("ip");
// 将ip打印到浏览器中
ontentType("text/html;charset=utf-8");
riter()tln("IP:" + ip);
}
session1代码
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 需求:将ip保存到session中
// 获取session
HttpSession session = ession();
// 获得ip
String ip = emoteAddr();
// 将ip保存到session中
ttribute("ip", ip);
// 需求2:手动的将 session对应的cookie持久化,关闭浏览器再次访问session中的数据依然存在
// 创建cookie
Cookie cookie = new Cookie("JSESSIONID", d());
// 设置cookie的最大生存时间
axAge(60 * 30);
// 设置有效路径
ath("/");
// 发送cookie
ookie(cookie);
// 当点击 的时候跳转到 session2
// ontentType("text/html;charset=utf-8");
// String path = deURL("/day11/session2");
// tln(path);
// riter()tln("ip地址保存成功,想看 请<a href='" + path + "'>点击</a>");
// 重定向到session2
String path = deRedirectURL("/day11/session2");
tln("重定向编码后的路径:" + path);
Redirect(path);
}
以上所述是小编给大家介绍的java中Cookie被禁用后Session追踪问题,希望对大家有所帮助!
-
Java基本元素详解
生活呆以是甜的,也可以是苦的,但不能是没味的。你可以胜利,也可以失败,但你不能屈服,以下是小编为大家搜索整理了Java基本元素详解,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!第二章基本元素第一章总结:一平台&JDK&JRE&JVM&A...
-
经典的Java main方法面试题10个
在java中,main()方法是java应用程序的入口方法。本文是本站小编搜索整理的关于经典的Javamain方法面试题10个,特别适合参加Java面试的朋友阅读,希望对大家有所帮助!想了解更多相关信息请持续关注我们应届毕业生考试网!1.不用main方法如何定义一个类?不行,没有main方...
-
java的应用范围
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。自从sun公司推出java语言以来,java极大受到开发者和企业的欢迎,在互联网如此发达的今天,java语言得到了广泛的应用,比如网站,游戏,电子商务等,java语言在这些领域开发占很大的比例。在全球云计算和移动互...
-
关于java如何配置MyEclipse Maven环境具体方法
虽然我的大部分项目已经迁到Idea上去了,但是在写部分小的测试程序的时候还是习惯性的会点开MyEclipse。之前使用第三方库的时候我会习惯的下载jar包,然后buildpath导入,但是在idea中貌似通过配置maven依赖更方便,于是我在MyEclipse中也想使用来导入依赖,在尝试的过...
相关文章
- Unit 2 I think that mooncakes are delicious说课稿范文
- Some words for this special occasion英文美文欣赏
- 六年级英语上册Unit2 New York is in the east of America说课稿
- 英语阅读:African Union Leaders Talk Mali, Chinese Investmen
- Time To Stop Worrying About Invasive Species美文欣赏
- Is a Test of Spoken English Necessary英语四级作文
- Unit six Opening and Closing Ceremonies口译材料
- Chinas Liu to seek injury advice in US soon英语作文
- 英语阅读:Life is inevitable consequence of physics
- 初一英语Unit 12 My favorite subject is science 课后练习题答