使用cookie完成登录后保存用户的登录信息

  • jsp页面添加cookie
	<%
        Cookie[] cookies=request.getCookies();
        if(cookies!=null)
        {
            for(int   i=0;i
  • servlet处理数据,添加cookie到客户端
request.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		String telphone = request.getParameter("telphone");
		String password = request.getParameter("password");

		Boolean flag = clientInfoDao.isExist(telphone);
		// 如果是已经存在,就进行下面操作
		if (flag) {
			String name = clientInfoDao.isCheck(telphone, password);
			if (!(name.equals("error"))) {
				request.setCharacterEncoding("utf-8");
				Cookie cookie = new Cookie("ClientCookie", name);
				cookie.setMaxAge(60 * 30); // 设置cookie有效期30分钟
				System.out.println(name);
				response.addCookie(cookie); // 保存cookie

				response.sendRedirect("index.jsp");

			} else {
//				JOptionPane.showMessageDialog(null, "用户名或密码输入错误,请重新输入");
//				response.sendRedirect("login.jsp");
				out.println("");// 输出script结尾标签
			}
		} else {
//			JOptionPane.showMessageDialog(null, "该用户不存在,请重新输入");
//			response.sendRedirect("login.jsp");
			out.println("");// 输出script结尾标签
		}
  • jsp页面获取cookie并显示登录信息
<%
        Cookie[ ]   cookies = request.getCookies();//从request中获得Cookie对象的集合
        String username = "";	//登录用户
        if (cookies != null) {
            for (int i = 0; i < cookies.length; i++) {	//遍历cookie对象的集合
                if (cookies[i].getName().equals("ClientCookie")) {//如果cookie对象的名称为ClientCookie
                    username = URLDecoder.decode(cookies[i].getValue());//获取用户名
                }
            }
        }
        if ("".equals(username) ) {//如果没有登录
    	%>


			<%
		    } else {//已经登录
		    %>


			
    今天也要加油呀,[<%=username %>]
<% } %>

你可能感兴趣的:(使用cookie完成登录后保存用户的登录信息)