Cookie学习
利用Cookie进行自动登录
自动登录
- 需求:不需要填写用户名和密码等信息,可以自动登录到系统。
具体实现
[1]index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
//若可以获取到请求参数loginName,则打印出欢迎信息
//吧登录信息存储到cookie中,并设置cookie的最大时效为30s
String name=request.getParameter("name");
if(name!=null&&!name.trim().equals("")){
Cookie cookie=new Cookie("name",name);
cookie.setMaxAge(30);
response.addCookie(cookie);
}else{
//从cookie中读取用户信息,若存在则打印欢迎信息
Cookie[] cookies=request.getCookies();
if(cookies!=null&&cookies.length>0){
for(Cookie cookie:cookies){
String cookieName=cookie.getName();
if("name".equals(cookieName)){
String val=cookie.getValue();
name=val;
}
}
}
}
if(name!=null&&!name.trim().equals("")){
out.println("Hello:"+name);
}else{
//若既没有请求参数,也没有Cookie,则重定向到login.jsp
response.sendRedirect("login.jsp");
}
%>
</body>
</html>
[2]login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="index.jsp" method="post">
name:<input type="text" name="name" />
<input type="submit" value="submit" />
</form>
</body>
</html>