zoukankan      html  css  js  c++  java
  • 如何用cookie保存用户的登录的密码和用户名

    思路:绘制一个简单的登录界面的Servlet并要在此页面中读取保存密码和用户名的cookie---》在登录处理界面的servlet中把用户名和密码保存到cookie中

    //登录界面的Servlet的代码如下:

    package com.qls.view;

    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 Login extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {

    response.setContentType("text/html;charset=utf-8");
    PrintWriter out = response.getWriter();
    /**
    * 读取cookie
    * 只有cookie首先不为null才可进行读取。
    *
    */
    String password="";
    String username="";
    if(request.getCookies()!=null){
    for(Cookie cookie:request.getCookies()){
    if(cookie.getName().equals("sixi")){
    password=cookie.getValue();
    }
    if(cookie.getName().equals("river")){
    username=cookie.getValue();
    }
    }
    }
    /**
    * 登录页面
    * LogicOperation
    */
    out.println("<form action='/cookie/LogicOperation' method='post'>");
    out.println("用户名:<input type='text' name='username' value='"+username+"'/>");
    out.println("密码:<input type='password' name='password' value='"+password+"'/>");
    out.println("是否保存cookie:<input type='checkbox' name='ouyangfeng' value='villageChief'/>");
    out.println("<input type='submit' value='登录'/>");
    out.println("</form>");
    }


    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {

    response.setContentType("text/html;charset=utf-8");
    PrintWriter out = response.getWriter();
    this.doGet(request, response);
    }

    }

    //登录处理界面的servlet如下:

    package com.qls.controller;

    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 LogicOperation extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {

    response.setContentType("text/html;charset=utf-8");
    PrintWriter out = response.getWriter();
    String username = request.getParameter("username");
    String password = request.getParameter("password");
    /**
    * 验证用户到底有没有保存cookie
    */
    String value = request.getParameter("ouyangfeng");
    if(value!=null&&value.equals("villageChief")){
    //把密码保存在一个cookie中。
    Cookie cookie=new Cookie("sixi", password);
    //设置cookie的生命周期
    cookie.setMaxAge(3600);//cookie的保存时间为1个小时
    //回写(就是把cookie保存到浏览器中的Temporary file文件)
    response.addCookie(cookie);
    /**
    * 同理把用户名保存到cookie中的代码如下:
    */
    //把密码保存在一个cookie中。
    Cookie cookie2=new Cookie("river", username);
    //设置cookie的生命周期
    cookie2.setMaxAge(3600);//cookie2的保存时间为1个小时
    //回写(就是把cookie2保存到浏览器中的Temporary file文件)
    response.addCookie(cookie2);
    // request.getRequestDispatcher("/Ok").forward(request, response);
    response.sendRedirect("http://www.sohu.com/");//重定向到搜狐网站
    }else{
    response.sendRedirect("http://www.baidu.com");//重定向到百度首页。
    }
    }


    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {

    response.setContentType("text/html;charset=utf-8");
    PrintWriter out = response.getWriter();
    this.doGet(request, response);
    }

    }

  • 相关阅读:
    c++之类模板
    c++之函数模板
    c++之继承三
    c++之继承二
    c++之继承一
    c++之类类型转换
    c++之运算符重载二
    c++之运算符重载一
    Mahout学习路线路
    数据库分区
  • 原文地址:https://www.cnblogs.com/1540340840qls/p/6163258.html
Copyright © 2011-2022 走看看