JavaWeb基础—会话管理之Session

一、什么是session

  session类似于客户端在服务器端的账户。使用Map存放

  一个会话锁定一个用户(一般情况下是一个客户端,即一个浏览器独占一个session对象),即使使用浏览器访问其他程序资源,也可以共享这个session

  (如何确定是同一个用户?创建session时把sessionID以cookie的形式传给客户端,客户端访问时再把此sessionID传过去进行校验

JSESSIONID

)

二、session和cookie的区别

  cookie 把用户的数据保存到浏览器端,session 把用户的数据保存到服务器端

  cookie保存在浏览器不安全(cookie欺骗),但可以减轻服务器压力

  session保存在服务器端更安全,但增大了服务器压力

  浏览器一般只允许存放300个Cookie,每个站点最多存放20个Cookie,每个Cookie的大小限制为4KB

  一般把登陆密码等重要信息放session 其它相对不太重要的信息放cookie

  补更:

  Cookie是浏览器实现的一种数据存储功能

  session 字面意思就是会话,会话就要知道你在和谁说话,session也是类似的道理,服务器要知道当前发请求给自己的是谁

三、session的操作

  request.getSession()方法得到session 在这个方法第一次调用时才真正创建session(可以通过isNew()方法判断是否为新的)

  默认session的存活时间为30分钟,可以在web.xml中配置过期时间

 <session-config>
       <session-timeout>15</session-timeout>
 </session-config>  程序中使用session.invalidate()手动设置过期

  cookie被禁用时的解决方案(cookie被禁用后JSESSIONID无处存放):

    解决方案:URL重写
      response. encodeRedirectURL(String url) 
      用于对sendRedirect方法后的url地址进行重写。
      response. encodeURL(String url)
      用于对表单action和超链接的url地址进行重写

    这两个都是比较智能的方法,会在合适的时机进行重写

时间: 2024-10-10 07:39:22

JavaWeb基础—会话管理之Session的相关文章

JavaWeb基础—会话管理之Cookie

一.什么是会话 打开浏览器,浏览各种资源,点击各种超链接,直至关闭浏览器,整个过程称为会话 二.会话管理的两种技术 1.Cookie 基于客户端.以cookie的形式写给用户各自的浏览器.当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去. 2.Session 基于服务端.session类似于客户端在服务器端的账户.使用Map存放.服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象. 三.Cookie的用途 Cookie的用途: 服务器用来跟踪客户端状态

[ASP.NET][Session] 使用会话管理解决 Session 丢失问题

使用会话管理解决 Session 丢失问题 步骤 1.在 CMD 中输入命令 cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 再执行 语法:aspnet_regsql.exe -S 服务器ip -U 数据库登录名 -P 数据库密码 -d 所要放入的数据库 -ssadd -sstype c 实例:aspnet_regsql.exe -S localhost -U sa -P 123456 -d ZSZ -ssadd -sstype c 执行成功的结

javaWeb基础知识----Cookie,Session

?HTTP协议是一种无状态的协议,WEB服务器本身不能识别出哪些请求是同一个浏览器发出的,浏览器的每一次请求都是完全孤立的 ?即使 HTTP1.1支持持续连接,但当用户有一段时间没有提交请求,连接也会关闭. ?怎么才能实现网上商店中的购物车呢:某个用户从网站的登录页面登入后,再进入购物页面购物时,负责处理购物请求的服务器程序必须知道处理上一次请求的程序所得到的用户信息. ?作为 web 服务器,必须能够采用一种机制来唯一地标识一个用户,同时记录该用户的状态 1.会话和会话状态 ?WEB应用中的会

JavaWeb基础 - 会话

会话概述 什么是会话 简单的理解:用户打开浏览器,点击多个超链接,访问Web服务器上多个资源,然后关闭浏览器,整个过程称之为一次会话. 需要解决的问题 每个用户在使用浏览器与服务器会话的过程中,会产生一些用户数据,如用户登陆标记,WEB应用程序必须要为每个用户在一次或多次会话过程中保存这些数据. 两种技术 CookieCookie是客户端技术,WEB应用程序把每个用户数据以Cookie的形式发送给各自的的浏览器,当用户使用浏览器再次访问WEB应用时,就会带上这些Cookie,这样,WEB应用可以

会话管理cookie&amp;session

1.会话技术:从浏览器开始访问服务器,到关闭浏览器,这期间发生了许多次请求和响应,这个过程就叫做一次会话.2.问题:如何在一次会话中保存会话相关的数据.3.Cookie:将会话相关的数据保存到浏览器中,并且在每次访问服务器时都带过去.(浏览器端技术)    3.1javax.servlet.http.Cookie,可以直接利用此类的构造方法创建一个Cookie,创建出来的Cookie需要设置一个名称和值    3.2response身上具有addCookie的方法,可以将创建出来的组织成响应消息

测开之路一百三十八:会话管理之session

session管理和使用,需要用到flask的session模块和设置安全码:app.secret_key 比如列表页和编辑功能只能给admin用 列表页 编辑页 添加session 登录成功时,把username添加到session里面 app.secret_key = 'qoihf2397r21380r2/./ad' # 加密的安全码,越复杂越好,flask后台自动进行加密 @app.route('/login/', methods=['GET', 'POST'])def login():

第十章 会话管理——《跟我学Shiro》

Shiro提供了完整的企业级会话管理功能,不依赖于底层容器(如web容器tomcat),不管JavaSE还是JavaEE环境都可以使用,提供了会话管理.会话事件监听.会话存储/持久化.容器无关的集群.失效/过期支持.对Web的透明支持.SSO单点登录的支持等特性.即直接使用Shiro的会话管理可以直接替换如Web容器的会话管理. 会话 所谓会话,即用户访问应用时保持的连接关系,在多次交互中应用能够识别出当前访问的用户是谁,且可以在多次交互中保存一些数据.如访问一些网站时登录成功后,网站可以记住用

JavaWeb-10(会话技术之session&amp;amp;JSP)

JavaWeb-会话技术之session&JSP 会话管理之Session技术 一.Session 在WEB开发中,server能够为每一个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此.在须要保存用户数据时.server程序能够把用户数据写到用户浏览器独占的session中,当用户使用浏览器訪问其他程序时,其他程序能够从用户的session中取出该用户的数据,为用户服务. 1.Session和Cookie的主要差别在于: a.

JavaWeb-10(会话技术之session&amp;JSP)

JavaWeb-会话技术之session&JSP 会话管理之Session技术 一.Session 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的session中取出该用户的数据,为用户服务. 1.Session和Cookie的主要区别在于: a. Cookie是