创建登录页面login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
<html>
<head>
<title>用户登录</title>
</head>
<body>
<h3 style="text-align: center">用户登录</h3>
<form action="do_login.jsp" method="post">
<table border="1" cellpadding="10" style="margin: 0px auto">
<tr>
<td align="center">用户名</td>
<td><input id="uname" type="text" name="username"/></td>
</tr>
<tr>
<td align="center">密 码</td>
<td><input id="upwd" type="password" name="password"/></td>
</tr>
<tr align="center">
<td colspan="2">
<input id="saveuname" type="checkbox" name="save" value="记住用户名"/>记住用户名
<input id="saveupwd" type="checkbox" name="save" value="记住密码" onclick="setchkuname()"/>记住密码
</td>
</tr>
<tr align="center">
<td colspan="2">
<input type="submit" value="登录"/>
<input type="reset" value="重置"/>
</td>
</tr>
</table>
</form>
<%
String uname = "";
String upwd = "";
String saveuname = "";
String saveupwd = "";
Cookie[] cookies = request.getCookies();
for (Cookie cookie: cookies) {
if (cookie.getName().equals("uname")) {
uname = cookie.getValue();
}
if (cookie.getName().equals("upwd")) {
upwd = cookie.getValue();
}
if (cookie.getName().equals("saveuname")) {
saveuname = cookie.getValue();
}
if (cookie.getName().equals("saveupwd")) {
saveupwd = cookie.getValue();
}
}
String errMsg = (String) session.getAttribute("errMsg");
if (errMsg != null){
errMsg = new String(errMsg.getBytes("iso-8859-1"),"utf-8");
out.print("<script>alert('" + errMsg + "')</script>");
}
%>
<script type="text/javascript">
// 显示用户做出的是否记住用户名的选择
var chkSaveUname = document.getElementById("saveuname");
var saveuname = "<%= saveuname %>";
if (saveuname == "yes") {
chkSaveUname.checked = true;
}
// 显示用户做出的是否记住密码的选择
var chkSaveUpwd = document.getElementById("saveupwd");
var saveupwd = "<%= saveupwd %>";
if (saveupwd == "yes") {
chkSaveUpwd.checked = true;
}
var txtUname = document.getElementById("uname");
var txtUpwd = document.getElementById("upwd");
// 根据用户做出的选择,决定是否自动填充用户名或密码
if (chkSaveUname.checked) {
txtUname.value = "<%= new String(uname.getBytes("iso-8859-1"), "utf-8") %>";
}
if (chkSaveUpwd.checked) {
txtUpwd.value = "<%= upwd %>";
}
/**
* 选择【记住密码】复选框,自动会选择【记住用户名】复选框
*/
function setchkuname() {
if (chkSaveUpwd.checked) {
chkSaveUname.checked = true;
}
}
</script>
</body>
</html>
创建do_login.jsp
<%
String name = request.getParameter("name");
if(name != null && !name.trim().equals("")){
Cookie cookie = new Cookie("name",name);
cookie.setMaxAge(300);
response.addCookie(cookie);
}else{
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("")){
response.sendRedirect("login.jsp");
}else{//否则重定向到登录界面
response.sendRedirect("success.jsp");
}
%>
创建登录成功页面success.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登录成功</title>
</head>
<body>
<%
String uname = "";
Cookie[] cookies = request.getCookies();
for (Cookie cookie:cookies){
if (cookie.getName().equals("uname")){
uname = cookie.getValue();
}
}
%>
<h3><%= new String(uname.getBytes("iso-8859-1"),"utf-8")%>,登录成功!</h3>
</body>
</html>
输入正确的用户名密码【无心剑】【903213】
显示登录成功
设置cookie的有效时间为5分钟
不输入用户名密码【登录成功】