zoukankan      html  css  js  c++  java
  • 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 

  • 相关阅读:
    [题解] LuoguP1587 [NOI2016]循环之美
    [题解] LuoguP3705 [SDOI2017]新生舞会
    [题解] LuoguP3702 [SDOI2017]序列计数
    [题解] LuoguP6476 [NOI Online 2 提高组]涂色游戏
    [题解] LuoguP4240 毒瘤之神的考验
    [题解] LuoguP6156简单题
    [题解] LuoguP6055 [RC-02] GCD
    [题解] LuoguP5050 【模板】多项式多点求值
    AtCoder Grand Contest 028题解
    Codeforces Round #421 (Div. 1) 题解
  • 原文地址:https://www.cnblogs.com/luoa/p/10617177.html
Copyright © 2011-2022 走看看