1.HTTP协议无状态:客户端的请求与服务器的响应所发生的一系列行为
简单的说是客户发送了请求,服务器就给客户端响应,
它们彼此之间都没有记录下来。
如:
顾客与自动售货机
普通顾客(非会员)与商场

2.cookie:把用户信息存放在客户端浏览器中,名-值
1)分类:
A.不设置过期时间:cookie存放在内存,浏览器关闭,则cookie消失
B.设置过期时间:cookie存放在硬盘上,浏览器关闭再打开,cookie还在,
直到超过过期时间。浏览器可共享此cookie的数据。

2)操作步骤:
第一:实例化Cookie对象:Cookie ck = new Cookie("名","值") ;

第二:添加Cookie对象:响应对象.addCookie(cookie对象) ;
注:在发送客户端浏览器之前可以,设置存活时间:
cookie对象.setMaxAge(秒) ;

第三:读取Cookie对象的数据
Cookie[] cookie数组对象 = request.getCookies()

for (Cookie ck : cookie数组对象) {
System.out.println(ck.getName()+"->"+ck.getValue());
}

3.HttpSession:HttpSession依赖Cookie,所以说,要是你报cookie禁用了,那么HttpSession就失效,把用户信息存放在服务器中的web容器中
工作原理

3.HttpSession:会话对象
1)获取会话对象
请求对象.getSession(false):
获取会话对象,如果存在会话对象,则返回,如果不存在会话对象,则返回null

请求对象.getSession() 等同于 请求对象.getSession(true)
获取会话对象,如果存在会话对象,则返回,如果不存在会话对象,则创建一个新的会话对象

2)常见方法
setAttribute(“属性名”,”属性值”) 根据属性名设值
getAttribute(“属性名”) 根据属性名 获取对应的值
removeAttribute(“属性名”) 根据属性名删除

getId():获取Session唯一的ID
invalidate():使HttpSession对象失效
setMaxInactiveInterval(时间):设置Session过期时间,单位是秒
getCreationTime():获取HttpSession对象创建时间
getLastAccessedTime():获取HttpSession最近一次请求时间

3)会话失效的方法有:
a.超时
b.手动失效:调用invalidate()方法
c.程序结束(web服务器关闭,切记不是浏览器关闭)

注:浏览器关闭后,Session对象失效了码? -> 答案:没有失效,在服务器仍然存在,

4.地址重写
1)响应对象.encodeRedirectURL("地址")

2)形式(语法)
a.URL地址;jsessionid=4BA4A5C6F5268E1FE3227AEB1A251E97
b.URL地址?参数名1=值1&参数名2=值2&...&参数名n=值n;jsessionid=4BA4A5C6F5268E1FE3227AEB1A251E97

5.表单隐藏域
<form action="" method="">
相关的表单控件...

<input type="hidden" name="参数名1" value="参数值1"/>
...
<input type="hidden" name="jsessionid" value="xxxxx"/>
<input type="hidden" name="参数名n" value="参数值n"/>
</form>

JAVA Web 实现会话跟踪的技术笔记的更多相关文章

  1. java web Session会话技术(原理图解+功能+与Cookie的区别+基本使用)

    java web Session会话技术(原理图解+功能+与Cookie的区别+基本使用) 这是我关于会话技术的第二篇文章,对 Cookie有不了解的兄弟可以点击下方的Cookie跳转 Cookie链 ...

  2. 五分钟学Java:如何才能学好Java Web里这么多的技术

    原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者. 系列文章介绍 本文是<五分钟学Java>系列文章的一篇 本系列文章主要围绕Java程序员必须掌握的核心技能,结合我个人三年 ...

  3. Java Web之会话技术

    客户端与服务器通信过程中,会产生一些数据.比如,A和B分别登陆了某宝购物网站,A买了一个Android手机,B买了一个iPhone手机,当结账时,web服务器需要分别对用户A和B的信息分别保存.根据J ...

  4. Java Web(三) 会话机制,Cookie和Session详解

    很大一部分应该知道什么是会话机制,也能说的出几句,我也大概了解一点,但是学了之后几天不用,立马忘的一干二净,原因可能是没能好好理解这两种会话机制,所以会一直遗忘,一直重新回过头来学习它,今天好好把他总 ...

  5. Java Web(三) 会话机制,Cookie和Session详解(转载)

    https://www.cnblogs.com/whgk/p/6422391.html 很大一部分应该知道什么是会话机制,也能说的出几句,我也大概了解一点,但是学了之后几天不用,立马忘的一干二净,原因 ...

  6. WEB中会话跟踪

    一.     什么叫会话跟踪 记录用户一段时间内的逻辑上相关联的不同访问请求个过程叫“会话跟踪”.通过用户在每次对服务请求时的唯一标识,可以跟踪会话. 二.     会话跟踪产生的原因 我们都知道In ...

  7. WEB中会话跟踪[转]

    今天晚上去华工参加睿智融科的笔试,问到web会话跟踪,一脸懵比,这个词听都没听过,回来后百度下,发现其实会话跟踪的内容我基本都了解的~_~ 转自:http://www.cnblogs.com/gaop ...

  8. Java Web编程的主要组件技术——JDBC

    参考书籍:<J2EE开源编程精要15讲> JDBC(Java DataBase Connectivity)是Java Web应用程序开发的最主要API之一.当向数据库查询数据时,Java应 ...

  9. 《Java web 开发实战经典》读书笔记

    去年年末,也就是大四上学期快要结束的时候,当时保研的事情确定了下来,终于有了一些空闲的时间可以学点实用的技术. 之前做数据库课程设计的时候,也接触过java web的知识,当时做了一个卖二手书籍的网站 ...

随机推荐

  1. 第24/24周 数据库维护(Database Maintenance)

    哇哦,光阴似箭!欢迎回到性能调优培训的最后一期.今天我会详细讲下SQL Server里的数据库维护,尤其是索引维护操作,还有如何进行数据库维护. 索引维护 作为一个DBA,数据库维护是你工作中非常重要 ...

  2. ASP.NET MVC在布局页上使用模型(model)

    看到这标题有点怪,一般情况之下,我们很容易在视图与部分视图中使用模型(model),但是如果想在布局页_Layout.cshtml页中使用模型(model),按照普通方式也许没有达到预期的效果,在实现 ...

  3. vs2010 用户控件拖到aspx页面不可用

    错误描述: 在web项目中添加一个用户控件,直接拖动用户控件ascx到aspx页面出现a标签而不是控件标签 解决办法: 把“源”切换为“设计”视图,然后拖动ascx用户控件到页面即可:

  4. httpclient 调用WebAPI

    1.创建webapi项目,提供接口方法如下: /// <summary> /// 获取租户.位置下的所有传感器 /// </summary> /// <returns&g ...

  5. 第一讲:WCF介绍

    代码 https://yunpan.cn/cPns5DkGnRGNs   密码:3913                                                         ...

  6. 基于TCP和多线程实现无线鼠标键盘-Socket(2)

    在(1)中,实现了Windows服务端与Android客户端的连接,本节将实现在Windows服务端与Android客户端之间传递数据. Android客户端的发送线程SendThread.java代 ...

  7. BaaS模式的开发思路

    如今,有一种BaaS服务(后端即服务)的模式,即无需编程即可生成后端应用及相应API. Drupal这套CMS下,有一款插件Services,可以在线直接自定义各种格式如json.xmlrpc.web ...

  8. 一个bug

    bug原因: maven的project重新更新了一下project name,然后在更新过程中,卡死了,就强制退出.结果,就再也进不去eclipse了.看了eclipse的启动日志,各种报错,找不到 ...

  9. JS的预编译和执行顺序 详析(及全局与局部变量)

    最近在复习javascript的事件处理时发现了一个问题,于是总结一下:javascript的预编译和执行顺序的问题:   <html> <head> <title> ...

  10. Scalaz(8)- typeclass:Monoid and Foldable

    Monoid是种最简单的typeclass类型.我们先看看scalaz的Monoid typeclass定义:scalaz/Monoid.scala trait Monoid[F] extends S ...