zoukankan      html  css  js  c++  java
  • JavaWeb--会话与状态管理1--cookie 基础与自动登录

     连接用户多次请求的

    会话ID(SessionID):浏览器对其发出的每个请求消息都进行标识
    在 Servlet 规范中,常用以下两种机制完成会话跟踪
      Cookie
      Session

    Cookie机制:
      cookie机制采用的是在客户端保持 HTTP 状态信息的方案
      Cookie是在浏览器访问WEB服务器的某个资源时,由WEB服务器在HTTP响应消息头中附带传送给浏览器的一个小文本文件。
      一旦WEB浏览器保存了某个Cookie,那么它在以后每次访问该WEB服务器时,都会在HTTP请求头中将这个Cookie回传给WEB服务器。

    利用Cookie自动登录

      

    login.jsp

    <%--
      Created by IntelliJ IDEA.
      User: Skye
      Date: 2017/12/12
      Time: 9:21
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <form action="index.jsp" method="post">
        loginName: <input type="text" name="loginName"/>
        <input type="submit" name="Submit"/>
    </form>
    </body>
    </html>
    

    index.jsp

    <%--
      Created by IntelliJ IDEA.
      User: Skye
      Date: 2017/12/12
      Time: 9:13
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
      <head>
        <title>$Title$</title>
      </head>
      <body>
      <%
        String name = request.getParameter("loginName");
        if(name != null && !name.trim().equals("")){
            Cookie cookie = new Cookie("name", name);
            cookie.setMaxAge(30);
            response.addCookie(cookie);
        }else{
            Cookie[] cookies = request.getCookies();
            if(cookies != null && cookies.length != 0){
                for(Cookie cookie: cookies){
                    if("name".equals(cookie.getName())){
                        String val = cookie.getValue();
                        name = val;
                    }
                }
            }
        }
    
        if(name != null && !name.trim().equals("")){
            out.print("hello" + name);
        }else{
            response.sendRedirect("login.jsp");
        }
    
      %>
      </body>
    </html>
    

      

  • 相关阅读:
    go语言中文网
    理解Golang包导入
    如何保证对象的唯一性
    模拟java.util.Collection一些简单的用法
    静态代码块,构造代码块,局部代码块演示
    java中paint方法和paintComponent方法的不同
    java中异常注意问题(发生在多态是的异常问题)
    java中异常注意的细节2
    java中异常注意的细节1
    java中匿名类的注意细节
  • 原文地址:https://www.cnblogs.com/SkyeAngel/p/7988334.html
Copyright © 2011-2022 走看看