zoukankan      html  css  js  c++  java
  • Cookie案例:简单登录界面中的应用

    ServletDemo1.java

     1 package ztq.servlet.study;
     2 
     3 import java.io.IOException;
     4 import java.io.PrintWriter;
     5 
     6 import javax.servlet.ServletException;
     7 import javax.servlet.http.Cookie;
     8 import javax.servlet.http.HttpServlet;
     9 import javax.servlet.http.HttpServletRequest;
    10 import javax.servlet.http.HttpServletResponse;
    11 
    12 public class ServletDemo1 extends HttpServlet {
    13     public void doGet(HttpServletRequest request, HttpServletResponse response)
    14             throws ServletException, IOException {
    15         //设置服务器端以UTF-8编码进行输出
    16         response.setCharacterEncoding("UTF-8");
    17         //设置浏览器以UTF-8编码进行接收,解决中文乱码问题
    18         response.setContentType("text/html;charset = UTF-8");
    19         PrintWriter out = response.getWriter();
    20         
    21         //获取cookie
    22         String username = "";
    23         String check = "";
    24         Cookie[] cookies = request.getCookies();
    25         for(int i = 0; cookies != null && i < cookies.length; i++){
    26             Cookie c = cookies[i];
    27             if("username".equals(c.getName())){
    28                 username = c.getValue();
    29                 check = "checked = 'checked'";
    30                 break;
    31             }
    32         }
    33         
    34         //登录页面
    35         out.write("<form action = '" + request.getContextPath() + "/servlet/ServletDemo2' method = 'post'>");
    36         out.write("用户名:<input type = 'text' name = 'username' value = '" + username + "'><br />");
    37         out.write("密码:<input type = 'password' name = 'password' value = ''><br />");
    38         out.write("记住用户名:<input type = 'checkbox' name = 'remember'" + check + "'><br />");
    39         out.write("<input type = 'submit' name = 'submit' value = '登录'><br />");
    40     }
    41     public void doPost(HttpServletRequest request, HttpServletResponse response)
    42             throws ServletException, IOException {
    43         doGet(request, response);
    44     }
    45 }

    ServletDemo2.java

    package ztq.servlet.study;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.Cookie;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class ServletDemo2 extends HttpServlet {
        public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            String username = request.getParameter("username");
            String remember = request.getParameter("remember");
            response.setCharacterEncoding("UTF-8");
            response.setContentType("text/html;charset = UTF-8");
            PrintWriter out = response.getWriter();
            
            //创建一个新的Cookie
            Cookie cookie = new Cookie("username", username);
            cookie.setPath(request.getContextPath());
            if(remember != null){
                //如果选择了记住用户名,则设置Cookie的有效期为一个不为0的整数
                cookie.setMaxAge(Integer.MAX_VALUE);
            }else{
                //否则则把有效期设置为0,即命令浏览器删除该cookie
                cookie.setMaxAge(0);
            }
            //将cookie对象添加到response对象中,这样服务器在输出response对象中的内容时就会把cookie也输出到客户端服务器
            response.addCookie(cookie);
            out.write("登录成功!");
        }
    
        public void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            doGet(request, response);
        }
    }

    结果:

    输入用户名和密码,选择记住用户名,然后点击登录。

    页面显示登录成功!

    重新打开浏览器,再次访问登录界面,会显示如图。

  • 相关阅读:
    (转)Scrapy 深入一点点
    解决Scrapy shell启动出现UnicodeEncodeError问题
    js回调方法
    UGUI 之 控件以及按钮的监听事件系统 存档
    重力感应示例
    网格概念
    Flash Player11异步解码Bitmap
    打包包含已修改过的bug
    ios7官方推荐icon尺寸
    项目资源通过swc获取
  • 原文地址:https://www.cnblogs.com/zhangtianq/p/5931384.html
Copyright © 2011-2022 走看看