课程目标:

通过这节课,我们能够学会加入session,学会调用session,以及大概懂得session存在的情况。

课程具体:

1.Session仅仅是存在于浏览器。比方我们打开浏览器获得我们所须要的session,我们在同一个浏览器再打开,我们所须要的这个session是还存在的。

可是假设我们换用其它的浏览器或者直接关闭浏览器,那么这个session就会过期。

2.Session
–Session 是用来跟踪用户当前状态的一种机制,是针对浏览器和server的一对一关系。
–Session 的一般使用方法是,在用户登录时将用户的登录信息保存到session中,以便以后使用。

3.Session 接口HttpSession

通常我们仅仅使用HttpSession接口,接口的实现由web容器来完毕
–能够从HttpServletRequest中获得HttpSession
request.getSession();
–将信息保存在HttpSession中
session.setAttribute(“UserSession”,obj);【特别注意:这里是能够直接存放obj对象的,打个例如我们这里能够直接存放一个user对象】

–从HttpSession中获得信息
session.getAttribute(“UserSession”);
–使HttpSession失效
session.invalidate();

4.实例解说:

事实上这个session的使用我认为和cookie的使用基本差点儿相同。

设置Session Servlet
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {HttpSession session = request.getSession();    session.setAttribute("session_name", "session_value");
}获得Session Servlet
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {HttpSession session = request.getSession();  String value = (String)session.getAttribute("session_name");System.out.println(value);
}

5. Session 实例,登录Session

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stub//为了获取前台传过来的数据:username and passwordString username = request.getParameter("username");String password = request.getParameter("password");//调用dao的实现逻辑:比方要验证用户账号和密码是否正确//假设正确,再通过username和password查询出全部须要的信息,然后再封装成一个user对象UserDao dao = new UserDaoImpl();User u = dao.login(username, password);if(u!=null){//推断,假设用户存在,就封装一个user对象,发给jspHttpSession session = request.getSession();session.setAttribute("user", u);request.getRequestDispatcher("welcome.jsp").forward(request, response);}else{//推断,假设用户不存在,那么直接跳转到错误页面request.getRequestDispatcher("error.html").forward(request, response);}}

Servlet 第六课: Session的使用相关推荐

  1. Servlet第六篇【Session介绍、API、生命周期、应用、与Cookie区别】

    2019独角兽企业重金招聘Python工程师标准>>> 什么是Session Session 是另一种记录浏览器状态的机制.不同的是Cookie保存在浏览器中,Session保存在服 ...

  2. 第六课 大数据技术之Fink1.13的实战学习-Table Api和SQL

    第六课 大数据技术之Fink1.13的实战学习-Table Api和SQL 文章目录 第六课 大数据技术之Fink1.13的实战学习-Table Api和SQL 第一节 Fink SQL快速上手 1. ...

  3. 第六课.NLP文本分类任务

    第六课目录 NLP文本分类简介 IMDB数据集准备 设置随机种子 下载IMDB并划分数据集 构建词汇表 使用torchtext生成batch WordAveraging 模型定义 加载由glove.6 ...

  4. 【C语言探索之旅】 第一部分第六课:条件表达式

    内容简介 1.课程大纲 2.第一部分第六课:条件表达式 3.第一部分第七课预告:循环语句 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. ...

  5. C#之windows桌面软件第六课:(上集)串口工具实现数据校验、用灯反应设备状态

    C#之windows桌面软件第六课:(上集)串口工具实现数据校验.用灯反应设备状态 using System; using System.Collections.Generic; using Syst ...

  6. Linux云自动化运维第六课

    Linux云自动化运维第六课 第九单元  openssh-server 一.openssh-server 功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell 二.客户端连接方式 ss ...

  7. Coursera公开课笔记: 斯坦福大学机器学习第六课“逻辑回归(Logistic Regression)”

    Coursera公开课笔记: 斯坦福大学机器学习第六课"逻辑回归(Logistic Regression)" 斯坦福大学机器学习第六课"逻辑回归"学习笔记,本次 ...

  8. NeHe OpenGL教程 第三十六课:从渲染到纹理

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  9. oracle过滤器基础,Oracle培训(四十六)——Servlet第六章知识点总结——过滤器编程...

    Oracle培训(四十六)--Servlet第六章知识点总结--过滤器编程 目标 编写一个过滤器 部署一个过滤器 了解请求和响应包装器 在请求分发器下的过滤器 知识点预览 过滤器 过滤器 1. 什么是 ...

最新文章

  1. Unity3D中的函数方法及解释
  2. 如何参与一个顶级开源项目
  3. Python模拟弹道轨迹
  4. Segment Routing — Overview
  5. RESTful_基础知识
  6. 复随机变量及高斯熵的概念
  7. cv::parallel_for_ 的一个例子
  8. 解决LoggerFactory is not a Logback LoggerEither remove Logback or the competing implementation (class
  9. 机器学习数据集的获取和测试集的构建方法
  10. Spring Data —— 完全统一的API?
  11. python调用实例做父类_Python super() 调用父类方法, 但是父类中 self 并不是父类的实例而是子类的实例?...
  12. 【图片识别算法】黑白图片输出为二进制矩阵 --python代码
  13. <Android开发> Android系统开发-GNSS流程分析及实现
  14. 为什么你不能体面地做自己
  15. python从右向左第三个字符_字符串是一个字符序列,例如,字符串s,从右侧向左第3个字符用什么索引?_学小易找答案...
  16. Win2003合并磁盘分区
  17. python怎么解压rar文件_Python解压 rar、zip、tar文件的方法
  18. Unity接入Google登录
  19. 一个深度为L的满k叉树的性质
  20. C++ UML类图关系

热门文章

  1. python语言格式化输出_Python format()格式化输出方法详解
  2. 一条SQL要28秒 mysql_一条简单的 SQL 执行超过 1000ms,纳尼?
  3. FPGA逻辑设计回顾(1)新手易犯的逻辑综合错误之always块
  4. HDLBits 系列(32)Sequence recognition(序列检测)
  5. 控制信号(单脉冲信号)的跨时钟域传输问题
  6. 【 MATLAB 】信号处理工具箱的信号产生函数之 sawtooth 函数简记
  7. 【Verilog HDL】设计硬件电路时,如何避免生成锁存器?
  8. 用 TypeScript 编写一个 React 服务端渲染库(1)
  9. 变量/值类型/引用类型/常量/枚举
  10. pyhon 数据类型转换函数