zoukankan      html  css  js  c++  java
  • 会话技术——Session和Cookie

    一、会话技术

    1、什么是会话:客户打开浏览器访问一个网站,访问完毕之后,关闭浏览器。这个过程称之为一个会话。就如同打电话。

    2、会话在编程中主要解决的问题是:保存各个用户的数据信息。

    3、保存用户各自数据的主要技术:  

      客户端技术:Cookie  

      服务端技术:HttpSession

    二、Cookie

    1、获取Cookie采用request.getCookies()

    2、设置Cookie采用response.addCookie(Cookie c)

    3、cookie的属性  

      3.1maxAge:默认是浏览器的进程。也就是说不设置该属性,浏览器关闭后,cookie就被删除了。    也可以设置其存活时长,单位为妙  

      3.2path:默认是产生cookie的应用的访问路径。   

        如果设置了路径,只能被包含此路径的资源访问   

        假如设置路径为“/day06”,也就是说,该cookie只能被day06这个应用访问   

        假如设置路径为“/day07”(day06的应用增加的cookie),该cookie只能被day07访问,而day06是访问不到的   

        假如设置路径为“/”,该cookie可以被同一个服务器的所有应用访问

    三、Session

    1、IE7及以下版本,新开窗口都会开启一次新会话

    2、每个客户端都有各自的Session对象,以SessionId标识。

    3、Session技术实际上是借助Cookie技术实现的。在创建session时,会将该Session的ID以cookie:JSESSIONID=sessionId的形式写给客户端。

    4、Session默认情况下何时失效?

      时间到了,默认是30分钟

      更改Session的失效时间方法: 修改web.xml文件,在根元素中增加以下内容:

    <session-config>   
        <session-timeout>1</session-timeout><!--单位为分钟-->  
    </session-config> 
    

    5、客户端禁用了cookie怎么办?

      解决办法:URL重写。以下两个方法可以实现重写。要对该站多有的URL都要进行重写。

      (1)response.encodeRedirectURL(java.lang.String?url) :针对重定向的地址进行重写

      (2)response.encodeURL(java.lang.String?url):其他地址进行重写

    (在老的浏览器中,用localhost访问网站,即使禁用了cookie,cookie还是有效的)

  • 相关阅读:
    内置函数二
    内置函数
    【MySQL】纲举目张:打通MySQL架构和业务的任督二脉
    关闭服务器节能模式
    透明大页
    【MySQL】MySQ 8.0启用HugePage
    运维安全之Tripwire
    七字诀,不再憋屈的运维
    利用钉钉机器人发送告警信息
    【MySQL】MySQL 8.0支持utf8mb4
  • 原文地址:https://www.cnblogs.com/FlySheep/p/3405286.html
Copyright © 2011-2022 走看看