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>

浙公网安备 33010602011771号