zoukankan      html  css  js  c++  java
  • javaee中的session的理解,你是怎么用session的

    在服务器上,通过Session来区分每一个上网用户

    用户只要一连接到服务器,则立刻分配一个Session给用户


    Session主要方法:
    1 服务器上通过Session来分别不同的用户-->Session ID
    任何连接到服务器上的用户,服务器都会位之分配唯一的一个不会重复的Session ID
    Session ID是由服务器统一管理的,人为不能控制
    方法:session.getID();
    长度:32

    2 判断是否是新的Session
    public boolean isNew();
    判断当前的Session是否是新建立的Session

    3 Session的属性设置
    设置属性:public void setAttribute(String name,Object value)
    取得属性:public Object getAttribute(String name)
    删除属性:pbulic void removeAttribute(String name)
    4 登陆验证
    通过Session能够对用户是否登陆做出验证
    public void putValue(String name,Object)-->setAttribute
    public Object getValue(String name)-->getAttribute
    public removeValue(String name)-->removeAttribute
    此三个方法已经过时,不建议再使用

    注销用户:让用户的Session失效
    如果Session失效,则在Session所保留的全部操作也会消失
    public void invalidate()使Session失效(手工)
    如果Session长时间不被使用,则也会自动失效
    5 得到Session的创建时间
    public long getCreationTime()
    此方法返回long类型,通过new Date()可以取得一个完成时间
    取得用户最后操作的时间:public long getLastAccessedTime();

    6 总结
    Session将信息保存在服务器上,而Cookie保存在客户端上
    Session比Cookie更安全,Session比Cookie更占资源
    开发原则:Session要尽量少用--尽量少向Session中保存信息
    session使用了Cookie的机制,如果Cookie被禁用,则Session也无法使用,因为客户端的session ID以cookie形式,保存在了客户端的内存当中,这个时候我们可以通过url重写,来保证session的有效性.

    重写url的方法如下

    resp.encodeURL(request.getRequestURL().toString());

    重写完URL之后,跳转的时候,看看浏览器的地址变化吧^-^



    =====================================





    在Java Servlet API中引入session机制来跟踪客户的状态。session指的是在一段时间内,单个客户与Web服务器的一连串相关的交互过程。在一个session中,客户可能会多次请求同一个网页,也有可能请求访问各种不同的服务器资源。例如在电子邮件应用中,从一个客户登录到电子邮件系统开始,经过收信,写信,和发信等,直至退出邮件系统,整个过程为一个session。再比如,在网上书店应用中,从一个客户开始购物,到最后结账,整个过程为一个session。
    会话的创建:HttpSession session = request.getSession(boolean value);
    HttpSession session = request.getSession();
    会话的使用:javax.servlet.http.HttpSession接口中定义的方法,我们常用的是有关进行数据存取的方法。
    session.setAttribute(String name , Object value);
    session.getAttribute(String name);

  • 相关阅读:
    多线程
    关于并发和并行
    文件系统
    java.util.Arrays类
    程序管理与SElinux
    用户和用户组管理总结
    useradd和adduser
    打印可见字符
    cmd中控制某个命令执行多少次
    keras模块之-优化器(optimizers)--笔记
  • 原文地址:https://www.cnblogs.com/Laupaul/p/2376986.html
Copyright © 2011-2022 走看看