zoukankan      html  css  js  c++  java
  • 会话管理

    会话管理

    内容摘录: JSP&Servlet学习笔记(第二版) 林信良

     

    会话管理的基本原理

    使用隐藏域

    隐藏域就是主动告知服务器多次请求之间必要信息的方式之一。以问卷作答为例,上一页的问卷答案,可以用隐藏域的方式放在下一页的窗体中,这样发送下一页窗体时,就可以一并发送这些隐藏域,每一页的问卷答案就可以保存下来。

    使用隐藏域的方式,在关掉网页后,显然会遗失先前请求的信息所以仅适用一些简单的状态管理。由于在查看网页源代码时,可以看到隐藏域的值,因此该方法不适用于隐密性高的数据。

    隐藏域不是Servlet/Jsp实际管理会话时的机制,在这边实现隐藏域,只是为了说明,由浏览器主动告知必要的信息,为实现web应用程序会话管理的基本原理。

    使用cookie

    使用URL重写

    使用HttpSession

    然后就可以通过request.getSession().setAttribute(“login”,user);将登录信息(也叫指令牌)放入session,让web应用程序的内存来存储、管理数据。

    浏览器关闭前,浏览器会使用同一个Session实例(分配一个随机的sessionId),程序从中可以获取信息,判定用户的登录情况。

    如用户退出,或让会话中止可通过HttpSession.invalidate()方法来注销session

    而在session中无法查到有效的指令牌的request,都可以被重跳转到登陆页面,提示用户登录。

    注意:可以存放属性对象的地方:

    1.HttpRequestServlet .setAttribute()

    2.HttpSession .setAttribute()

    3.ServletContext. setAttribute()


     

    HttpSession会话管理原理

    HttpSessionUrl重写

    HttpSession默认使用Cookie存储Session ID(浏览器端的依据),如果用户关掉浏览器接受cookie的功能的情况下,还打算使用httpSession,那么可以搭配URL重写。向浏览器发送一段超链接UrlURl后附加Session Id,当用户点击URL时,将Session idget的方式发给web应用程序。

    略。

    小结

     

     

     

     

     

     

     

     

     





    附件列表

  • 相关阅读:
    France '98
    【笔记】《通俗详细地讲解什么是P和NP问题》的概念记录
    130831组队赛-Regionals 2011, Asia
    Android 解屏幕锁与点亮屏幕
    Android 点亮屏幕
    利用FFT 计算生成离散解析信号
    hdu5246 超级赛亚ACMer
    用srvctl命令配置service
    MySQL优化之——权限管理
    JS 点击复制Copy插件--Zero Clipboard
  • 原文地址:https://www.cnblogs.com/redcoatjk/p/3881203.html
Copyright © 2011-2022 走看看