import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/*
* 利用Cookie实现一周内不重复登录
*/
/**
* Servlet implementation class CookieLoginServlet
*/
@WebServlet("/CookieLoginServlet.do")
public class CookieLoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public CookieLoginServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
//获取Cookie
Cookie[] allCookies = request.getCookies();
if (allCookies!=null) {
String userName = null;
String password= null;
//获取Cookie中保存的用户名和密码
for (int i = 0; i < allCookies.length; i++) {
if (allCookies[i].getName().equals("userName")) {
userName = allCookies[i].getValue();
}
if (allCookies[i].getName().equals("password")) {
password = allCookies[i].getValue();
}
}
if (userName!=null&&password!=null) {
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<meta charset=\"UTF-8\">");
out.println("<TITLE>登录成功</TITLE>");
out.println("</head>");
out.println("<body>");
out.println("<H1>用户登陆成功</H1>");
out.println("<H1>用户登录名:"+userName+"</H1>");
out.println("</body>");
out.println("</html>");
out.close();
}
return;
}
String userName = request.getParameter("userName");
String password = request.getParameter("password");
if (userName==null||password==null) {
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<meta charset=\"UTF-8\">");
out.println("<TITLE>登录成功</TITLE>");
out.println("</head>");
out.println("<body>");
out.println("<H1>用户登陆成功</H1>");
out.println("<form action='CookieLoginServlet.do' method='post'>");
out.println("用户名:<input type=text name=userName><br><br>");
out.println("密码:<input type=password name=password><br><br>");
out.println("<input type=checkbox name=keep value = 2>保存登录信息<br><br>");
out.println("<input type=submit value=登录><br><br>");
out.println("</body>");
out.println("</html>");
out.close();
}else {
//判断复选框是否被选中
String keep = request.getParameter("keep");
if (keep!=null) {
//实例化Cookie对象
Cookie userNameCookie = new Cookie("userName", userName);
Cookie passwordCookie = new Cookie("password", password);
//设置cookie一周后失效
userNameCookie.setMaxAge(7*24*3600);
passwordCookie.setMaxAge(7*24*3600);
//将cookie信息返回给客户端浏览器
response.addCookie(userNameCookie);
response.addCookie(passwordCookie);
}
response.sendRedirect("success.html");
}
}
}
//success.html页面信息
<html>
<head>
<meta charset="utf-8">
<TITLE>登录成功</TITLE>
</head>
<body>
<H1>登录成功</H1>
</body>
</html>