07-通过cookie保存并读取用户登录信息(jsp内置对象)

时间:2022-09-30 23:44:06

cookie.jsp

<%@page import="java.net.URLDecoder"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>cookie</title>
</head>

<body>
<%
//从request中获取cookie对象的集合
Cookie[] cookies = request.getCookies();
//登录用户,登录时间
String user = "";
String date = "";
if (cookies != null) {
//遍历cookie对象的集合
for (int i = 0; i < cookies.length; i++) {
//如果cookie对象的名称为mrCookie
if (cookies[i].getName().equals("mrCookie")) {
//获取用户名和注册的时间
user = URLDecoder.decode(cookies[i].getValue().split(
"#")[0]);
date = cookies[i].getValue().split("#")[1];
}
}
}
//没有注册
if ("".equals(user) && "".equals(date)) {
%>
游客您好,欢迎您初次光临!
<form action="deal.jsp" method="post">
请输入姓名:<input type="text" name="user" value=""> <input
type="submit" value="确定">
</form>
<%
//注册
} else {
%>
欢迎[
<b><%=user%></b>]再次光临!
<br> 您注册的时间是:<%=date%>
<%
}
%>
</body>
</html>



 

deal.jsp

<%@page import="java.net.URLEncoder"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>用于向cookie中写入注册信息</title>
</head>
<body>
<%
//设置请求的编码方式
request.setCharacterEncoding("UTF-8");
//获取用户名
String user = URLEncoder.encode(request.getParameter("user"),
"UTF-8");
//创建并实例化cookie对象
Cookie cookie = new Cookie("mrCookie", user + "#"
+ new Date().toLocaleString());
//设置cookie有效期为30天
cookie.setMaxAge(60 * 60 * 24 * 30);
//保存cookie
response.addCookie(cookie);
%>
<%
//定位到cookie.jsp
%>
<script type="text/javascript">
window.location.href = "cookie.jsp";
</script>
</body>
</html>


07-通过cookie保存并读取用户登录信息(jsp内置对象)07-通过cookie保存并读取用户登录信息(jsp内置对象)