• session cookie


    保存会话数据的两种技术。

    HTTP是一种无状态协议

    为了保持状态,引入了Cookie技术。

     

    Cookie
    Cookie是客户端技术,服务器把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。这样,web资源处理的就是用户各自的数据了。
    Session
    Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其它web资源时,其它web资源再从用户各自的session中取出数据为用户服务。

    服务器会向客户端发送name为JSESSIONID的cookie,session会自动创建cookie,也可以自己手动创建cookie来设置。

    Session和Cookie的主要区别在于:
    Cookie是把用户的数据写给用户的浏览器。
    Session技术把用户的数据写到用户独占的session中。
    Session对象由服务器创建,开发人员可以调用request对象的getSession方法得到session对象。
    不是访问一个页面就创建session,而是遇到语句request..getSession();就创建了一个session。

    应用:

    登录的时候,把用户信息user放到session中

    request.getSession().setAttribute("user", user);

     然后,从JSP中取出来:

    <%
        User user = (User) session.getAttribute("user");
        if (user != null) {
            out.write(user.getPhone());
        } else {
            out.write("no user");
    
        }
    %>

    判断用户是否有登录(JSP页面中):

    <%
        //用户失效,跳转登录
        if(request.getSession().getAttribute("user")==null){
            response.sendRedirect("login.jsp");
            return;
        }
    %>

    退出:

    request.getSession().invalidate();

    参考:理解Cookie和Session机制    http://www.nczonline.net/blog/2009/05/05/http-cookies-explained 

  • 相关阅读:
    软件架构师是如何工作
    安装flume由于HBASE出现的错误
    学习记录(Python集合)
    bzoj4199: [Noi2015]品酒大会
    清橙A1484
    codeforces 232D Fence
    bzoj2337: [HNOI2011]XOR和路径
    bzoj3143: [Hnoi2013]游走
    codeforces 235 B. Let's Play Osu!
    bestcoder单调区间
  • 原文地址:https://www.cnblogs.com/luoa/p/10617177.html
Copyright © 2020-2023  润新知