JSP cookie记住用户名密码


login.jsp
<body>
<%
// 获取cookie
Cookie[] cookies = request.getCookies();
String username="";
String password="";
if(cookies!=null){
for(Cookie c:cookies){
if("USERNAME".equals(c.getName())){
username=c.getValue();
}
if("PASSWORD".equals(c.getName())){
password=c.getValue();
}
}
}
%>
<form action="check.jsp" method="get">
<input type="text" name="username" placeholder="请输入用户名" value="<%=username %>">
<br> <br> <input type="password" name="password"
placeholder="请输入用密码" value="<%=password %>"> <br> <br> <input
type="checkbox" name="logincheck">是否记住用户名及密码 <br> <br>
<input type="submit" value="登录">
</form>
</body>
check.jsp
<body>
<%
String username=request.getParameter("username");
String password=request.getParameter("password");
String logincheck=request.getParameter("logincheck");
request.setAttribute("book", "javaWeb");
if("admin".equals(username)&&"123456".equals(password)){
//
if(logincheck!=null){
// 创建cookie
Cookie USERNAME=new Cookie("USERNAME",username);
Cookie PASSWORD=new Cookie("PASSWORD",password);
// 设置有效期
USERNAME.setMaxAge(60);
PASSWORD.setMaxAge(60);
response.addCookie(USERNAME);
response.addCookie(PASSWORD);
}
session.setAttribute("UserName", username);
// 重定向
response.sendRedirect("main.jsp");
// 转发
//request.getRequestDispatcher("main.jsp").forward(request, response);
//RequestDispatcher rd=request.getRequestDispatcher("main.jsp");
//rd.forward(request, response);
}else{
response.sendRedirect("login.jsp");
}
%>
</body>
loginout.jsp
<body>
<%
session.invalidate();
response.sendRedirect("login.jsp");
%>
</body>
main.jsp
<body>
<%
Object obj =session.getAttribute("UserName");
if(obj==null){
response.sendRedirect("login.jsp");
}
%>
<h1>login seccess</h1>
欢迎
<h1><%=session.getAttribute("UserName") %></h1>
<a href="logout.jsp">退出登录</a>
</body>
本文详细介绍了一种使用JSP和Cookie实现用户登录状态记忆的方法。通过在login.jsp页面读取和设置Cookie,用户可以选择是否记住其登录信息,如用户名和密码。在check.jsp页面,系统检查登录信息并根据用户选择设置Cookie的有效期。此过程涉及了HTTP请求参数的读取、Session管理和Cookie操作等关键步骤。
474

被折叠的 条评论
为什么被折叠?



