Cookie登录记住用户名

Cookie登录记住用户名_第1张图片

package com.heima.login;

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="";
		String checked="";
		//得到客户端保存的cookie数据
		 Cookie[] cookies=request.getCookies();
		 for (int i = 0;cookies!=null&& i < cookies.length; i++) {
			if ("userName".equals(cookies[i].getName())) {//复选框选中之后就会有cookie
				userName=cookies[i].getValue();
				checked="checked='checked'";
				
			}
		}
		 out.write("
"); out.write("用户名:"); out.write("密码:
"); out.write("记住用户名
"); out.write("
"); out.write("
"); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }

package com.heima.login;

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 DoLogin 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 pwd=request.getParameter("pwd");
		String remember=request.getParameter("remember");
		Cookie ck=new Cookie("userName",userName);//把表单的useName放到cookie里
		//处理业务逻辑
		//分发转向
		if ("tom".equals(userName)&&"123".equals(pwd)) {
			if (remember!=null) {//这是是否【记住用户名是否为选中状态】
				ck.setMaxAge(Integer.MAX_VALUE);//设置cookie的有效保存时间
			}else{
				ck.setMaxAge(0);//删除cookie
			}
			response.addCookie(ck);//将Cookie写回到客户端
			out.write("登录成功!");
		}else{
			out.write("登录失败!");
			//设置2秒跳到重新登录
			response.setHeader("refresh", "2;url="+request.getContextPath()+"/LoginServlet");
		}
		
		
	}
 
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		 doGet(request, response);
	}

}



你可能感兴趣的:(Cookie)