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>

最新文章

  1. java 学习框架
  2. MVC 解决 readonly 问题
  3. 字节流、字符串、16进制字符串转换__Java(转)
  4. node.js 基础学习笔记3 -http
  5. fastDFS 一二事 - 简易服务器搭建(单linux)
  6. shell脚本步骤调试
  7. MVC从服务器端返回js到客户端的方法(总结)
  8. linux kernel.shmall shemax shemin 參數解釋
  9. Sql Server 维护计划 备份覆盖
  10. 如何生成publish windows app 用到的 pfx 文件
  11. js 超级玛丽(未完成)
  12. jdbc03 使用servlet实现
  13. 编译boost python模块遇到的错误:../../libraries/boost_1_44_0/boost/python/detail/wrap_python.hpp:75:24: fatal error: patchlevel.h: No such file or directory
  14. adbetj657k
  15. Linux安装mysql 在/etc下没有my.cnf 解决办法
  16. Optaplanner - 入门介绍
  17. 随心测试_软测基础_007&lt;软测学习路线建议&gt;
  18. shell实现大批量word转码然后分析相关字段
  19. 特殊字符的过滤,防止xss攻击
  20. Dapper.net Insert mssql unicode 乱码问题

热门文章

  1. Objective-c——UI进阶开发第一天(UIPickerView和UIDatePicker)
  2. @proprety数组字典字符串用copy和strong区别(深浅拷贝)
  3. 【递归】斐波那契数列第n个数
  4. SocketTcpServer
  5. selenium多个窗口切换
  6. 建立一个简单的SpringMVC程序
  7. zookeeper 笔记
  8. 第四周psp
  9. 在linux下获取帮助
  10. ubuntu 清除缓存