Cookie实现记住用户名案例

LoginUIServlet.java文件:

package com.neu;

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 LoginUIServlet 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 = "";
        String checked = "";
        //得到指定的cookie
        Cookie cs[] = request.getCookies();
        for(int i=0;cs!=null&&i<cs.length;i++){
            if("loginInfo".equals(cs[i].getName())){
                username = cs[i].getValue();
                checked="checked='checked'";
                break;
            }
        }


        out.write("<form action='"+request.getContextPath()+"/servlet/LoginServlet' method='post'>");
        out.write("用户名:<input type='text' name='username' value='"+username+"'/><br/>");
        out.write("密码:<input type='password' name='password' value=''/><br/>");
        out.write("记住用户名:<input type='checkbox' name='remember' "+checked+"/><br/>");
        out.write("<input type='submit' value='登录'/>");
        out.write("</form>");
    }

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

        doGet(request, response);
    }

}

LoginServlet.java文件:

package com.neu;

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 LoginServlet 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");
        String remember = request.getParameter("remember");//没有选中就是null

        Cookie c = new Cookie("loginInfo", username);
        c.setPath(request.getContextPath());
        if(remember==null){
            //没有选中:删cookie
            c.setMaxAge(0);
        }else{
            //用户记住用户名:存cookie
            c.setMaxAge(Integer.MAX_VALUE);
        }
        response.addCookie(c);
        out.write("登录成功");
    }

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

        doGet(request, response);
    }

}

运行:http://localhost:8080/Cookie/servlet/LoginServlet
结果:登陆成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值