• Cookie的使用


    链接: https://pan.baidu.com/s/188chZLe-56VFzg7UvkZKUA

    提取码: jvwb 复制这段内容后打开百度网盘手机App,操作更方便哦

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>记住密码登录</title>
    <!-- <script>
    function getCookie(name){
        var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
        if(arr=document.cookie.match(reg))
        return unescape(arr[2]);
        else
        return null;
    }
    </script> -->
    </head>
    <body>
        <form action="rLogin" method="post">
            <input type="text" name="uid"><br>
            <input type="password" name="upassword"><br>
            <input type="checkbox" name="rememberMe" value="yes">记住我30天
            <input type="submit" value="登录">
        </form>
    </body>
    </html>
    
    Login.html
    package com.a;
    
    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;
    import javax.validation.constraints.Null;
    
    /**
     * Servlet implementation class rLogin
     */
    @WebServlet("/rLogin")
    public class rLogin extends HttpServlet {
        private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public rLogin() {
            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");
            request.setCharacterEncoding("UTF-8");
            PrintWriter out = response.getWriter(); //获得输出流
            
            String strID=request.getParameter("uid");
            String strPassword=request.getParameter("upassword");
            String isRemember=request.getParameter("rememberMe");
            
            boolean isExist=false;
            boolean isLogin=false;
            //校验Cookie中有无登录名信息
            Cookie[] cookies=request.getCookies();
            if (cookies==null){
                out.print("没有Cookie");
            }
            else {
                for(int i=0;i<cookies.length;i++){
                    if(cookies[i].getName().equals("uid"));
                    isExist=true;
                    out.println("拥有Cookie");
                }
            }
            
            //检查登录信息是否正确
            if("tom".equals(strID)&&"123".equals(strPassword)){
                isLogin=true;
            }
            
            //若已选择记住我且Cookie中无信息,则写入Cookie信息
            if("yes".equals(isRemember)&&isExist==false&&isLogin==true){
                Cookie user_id=new Cookie("uid", strID);
                Cookie user_password=new Cookie("upassword", strPassword);
                user_id.setMaxAge(60*60*24*30);
                user_password.setMaxAge(60*60*24*30);
                response.addCookie(user_id);
                response.addCookie(user_password);
            }
            
            
            if(isExist&&!"yes".equals(isRemember)&&isLogin==false){
                out.println("且登录失败");
            }
            //登录信息正确或Cookie中有数据,都可登录
            else if(isExist||isLogin){
                out.println("且成功登录");
            }
            else{
                out.println("且登录失败");
            }
        }
    
    }
    
    servlet中dopost方法
    

      

  • 相关阅读:
    Sikuli:创新的图形化编程技术
    缺少对象 WScript 问题解决方法
    TD8.0迁移到QC9.2,自动迁移失败,手动迁移
    QTP使用小技巧
    外部VBS的调用
    mysql 发生系统错误1067的解决方法
    Mysql 本地计算机无法启动 mysql 服务 错误 1067:进程意外终
    windows下mysql忘记root密码的解决方法
    mysql 常用命令用法总结积木学院整理版
    java、c/c++ 、python 等性能比较 杂谈(整理)
  • 原文地址:https://www.cnblogs.com/oy0411/p/10654157.html
Copyright © 2020-2023  润新知