Servlet技术:cookie保存登录信息

接上一篇文章,修改servlet中的代码实现 cookie 保存登录信息

Servlet技术:数据库操作

package cn.xtnotes.servlet;

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;

import cn.xtnotes.pojo.User;
import cn.xtnotes.service.UserService;

public class Servlet extends HttpServlet {
	UserService us=new UserService();
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		request.setCharacterEncoding("utf-8"); //设置请求数据编码
		response.setCharacterEncoding("utf-8");//设置响应数据编码
		String uname=request.getParameter("uname");
		String upwd=request.getParameter("upwd");
		PrintWriter pw=response.getWriter();
		if(uname!=null && upwd!=null) {
			User u=us.login(uname,upwd);
			if(u!=null) {
				pw.print("用户"+u.getUsername()+"登录成功!");
				Cookie coo=new Cookie("uname",uname);
				coo.setMaxAge(20);
				response.addCookie(coo);
			}else {
				pw.print("密码错误");
			}
		}else {
                        //用户名和密码缺失时,检查cookie中是否含有原来的登录信息
			String cn=null;
			for(Cookie cookie:request.getCookies()) {
				if("uname".equals(cookie.getName())){
					cn=cookie.getName();
				}
				if(cn!=null) {
					pw.print("用户"+cookie.getName()+"登录成功!(cookie)");
				}else {
				    pw.print("密码错误");
				}
			}
		}
	}
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	
		doGet(request, response);
	}

}

cookie保留时间 20 秒

用户登录后关闭浏览器,20秒内在打开本网站为登录成功状态

cookie登录

阅读剩余
THE END