`
eyesmore
  • 浏览: 364520 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

session基础入门使用

阅读更多

Here’s how you get a session ID from the request:
HttpSession session = request.getSession();
Here’s what this does for you:
If the session includes a session ID cookie
         then find the session matching that session ID
else (no session ID cookie or no matching session )
         create a new session

(如果浏览器第一次登陆,则request.getSession()会去创建一个新的HttpSession对象。服务端是如何判断浏览器第一登陆的呢? 就是看下请求报文中有没有JSESSION字段。如果有,还不能判断就一定是非第一次登陆,因为浏览器不一定按规矩出牌,甚至JSESSION对应的cookie有些浏览器是允许用户事先配好的。所以,非第一次访问的条件是“请求中带有JSESSION,而且该JSESSION的号码ID的确是服务器生成的 ,而且在服务端还没有过期。”。所以,一般JSESSION的号码应该要弄成不容易被猜出来。)


==Java’s session tracking API, II
Here’s how you send a cookie in the response:
HttpSession session = request.getSession();
What this does for you:
1、Creates a new HttpSession object, or retrieves a previous one
2、Creates a unique session ID (在服务端保存在HttpSessionContext中,是个从ID到HttpSession的映射。)
3、Makes a new cookie object
Associates the cookie with the session ID   (HttpSession的ID要依靠cookie传递给客户端)
Puts the cookie in the response (under the Set-Cookie header)
Notice that:
This is exactly the same call as in the previous slide
The message is sent to the request, not the response


==Using an HttpSession
session.setAttribute(String name, Object value)
You can save objects in an HttpSession
object = session.getAttribute(String name)
You can retrieve your saved objects by name
Enumeration e = session.getAttributeNames()
You can find the names of all your objects
session.removeAttribute(String name)
You can get rid of an object you no longer need
boolean session.isNew()
true if the session is newly created, rather than retrieved
String id = session.getId()
You can get the session ID (if you’re debugging, or just curious)

==Quitting an HttpSession
session.invalidate()
Quits the session and unbinds any objects in it
milliseconds = session.getCreationTime()
(since midnight January 1, 1970 GMT)
milliseconds = session.getLastAccessedTime()
(again, since 1970)
session.setMaxInactiveInterval(int seconds)   (最大非活动间隔)
Sets the time until the session is automatically invalidated
int seconds = session.getMaxInactiveInterval()
So the Session API does nearly everything you need!

分享到:
评论

相关推荐

    JavaWeb基础入门

    JavaWeb开发入门,目录:JavaScript,XML解析器,JavaWeb开发入门,Http协议,Servlet技术,请求和响应,Cookie和Session,MySQL数据库,用JDBC操作数据库,JDBC之数据库连接池,JDBC之事务,上传下载文件,酷炫的...

    PHP从入门到精通.pdf-入门教程.CHM

    包括初识.PHP、PHP环境搭建和开发工具、PHP语言基础、流程控制语句、字符串操作、正则表达式、PHP数组、PHP与Web页面交互、PHP与JavaScript交互、日期和时间、Cookie与Session、图形图像处理技术、文件系统、面向...

    ASP.NET Core MVC从入门到精通系列文章PDF版

    HttpContext,Request,Response,Session,序列化,文件上传,自动映射,Html辅助标签,模型校验,鉴权、授权基础,Identity入门,日志管理,Filter(筛选器),缓存等内容。 具体可参考本人博客

    PHP从入门到精通.pdf

    包括初识.PHP、PHP环境搭建和开发工具、PHP语言基础、流程控制语句、字符串操作、正则表达式、PHP数组、PHP与Web页面交互、PHP与JavaScript交互、日期和时间、Cookie与Session、图形图像处理技术、文件系统、面向...

    PHP从入门到精通

    Session、图形图像处理技术、文件系统、面向对象、PHP加密技术、MySQL数据 库基础、phpMyAdmin图形化管理工具、PHP操作MySQL数据库、ADODB类库、Zend Framework框架、Smarty模板技术、PHP与XML技术、PHP与Ajax...

    PHP从入门到精通(第2版)(潘凯华).(扫描版)

    包括初识PHP、PHP环境搭建和开发工具、PHP语言基础、流程控制语句、字符串操作、正则表达式、PHP数组、PHP与Web页面交互、PHP与JavaScript交互、日期和时间、Cookie与Session、图形图像处理技术、文件系统、面向对象...

    PHP从入门到精通PPT

    《PHP从入门到精通(第3版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用PHP进行网络开发应该掌握的各方面技术。全书共分4篇25章,包括初识PHP、PHP环境搭建和开发工具、PHP语言基础、...

    ASP基础入门第八篇(ASP内建对象Application和Session)

    在上一篇中作者给大家详细介绍了 ASP 内建对象 Response 的使用方法,在这一篇中作者将继续给大家介绍另两个非常实用且重要的 ASP 的内建对象 Application 和 Session。 在 ASP 的内建对象中除了用于发送、接收和...

    Laravel5.8入门实战

    章节2aravel基础入门 课时9Laravel的安装以及安装过程中常见问题24:40 课时10Laravel入门介绍08:46 课时11Laravel基本路由27:51 课时12Laravel路由参数32:25 课时13Laravel中间件22:43 章节3:项目模块设计和模板的...

    oracle基础教程

    oracle基础教程 课程说明 1 课程介绍 1 课程目标 1 相关资料 1 第1章 ORACLE数据库概述 2 1.1 产品概述 2 1.1.1 产品简介 2 1.1.2 基本概念 3 1.2 ORACLE系统结构 4 1.2.2 ORACLE物理结构 4 1.2.3 系统全局区 6 ...

    struts基础入门

    主要实现了用户的登录系统..并且验证了struts中的跳转..还有跳转到另一个action中的类型..跳转另一个action后显示出书籍信息......并且从request域中,session域和application整个应用程序域中获取信息..

    PHP 从入门到精通

    包括初识.PHP、PHP环境搭建和开发工具、PHP语言基础、流程控制语句、字符串操作、正则表达式、PHP数组、PHP与Web页面交互、PHP与JavaScript交互、日期和时间、Cookie与Session、图形图像处理技术、文件系统、面向...

    零基础Python爬虫48小时速成课.txt

    13 2.06request的session及图片验证码处理.mp4 14 3.01回顾知识点.mp4 15 3.02封装ElasticSearch操作的SDK.mp4 16 3.03re正则解析站长之家数据.mp4 17 3.04设计多任务爬虫框架.mp4 18 3.05进程_线程实现多任务...

    PHP从入门到精通 源码

    包括初识PHP、PHP环境搭建和开发工具、PHP语言基础、流程控制语句、字符串操作、正则表达式、PHP数组、PHP与Web页面交互、PHP与JavaScript交互、日期和时间、Cookie与Session、图形图像处理技术、文件系统、面向对象...

    ASP入门教程 高级教程

    第九篇 ASP内建对象Application 和 Session 第十篇 Global.asa文件的使用及Chat程序 第十一篇 ASP内建对象Server 第十二篇 数据库查询语言(1) 第十三篇 数据库查询语言(2) 第十四篇 ActiveX 组件 第十五篇 常用的...

    ThinkPHP5 快速入门教程 PDF.rar

    Session Cookie 验证码 文件上传 图像处理 单元测试 附录 A、常见问题集 B、3.2和5.0区别 C、助手函数 本文档使用 看云 构建- 2 - 零、序言 官方出品,入门TP5 必读系列 > 概述 ThinkPHP5.0 版本的优势在于: 更灵活...

    尚硅谷Redis入门视频

    在本课程中,你将了解Redis是什么、能干什么、如何用,了解NoSQL的使用场景和概念,快速掌握Redis的安装配置、五大数据类型、常用操作命令、Redis持久化、主从复制、事务控制以及用Jedis操作进行Java开发等知识。...

    jsp从入门到高级编程

    6.10 使用session对象 6.10.1 会话的概念 6.10.2 session对象可用的方法和属性 6.10.3 session对象的基本例子 6.10.4 利用session制作一个购物车 6.10.5 JavaBeans的作用域 6.10.6 利用JavaBeans制作的购物车 ...

Global site tag (gtag.js) - Google Analytics