天天看點

cookie七天免登陸

前台頁面

<%@page import="java.net.URLDecoder"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="js/jquery-2.1.1.js"></script>
<script type="text/javascript" >
 


</script>
</head>
<body>
<%
Cookie[] cookies=request.getCookies(); 
if(cookies!=null){
for(Cookie c:cookies){
	if("name".equals(c.getName())){
		String name=c.getValue();
		name =URLDecoder.decode(name,"utf-8");
	}
	if("password".equals(c.getName())){
		String password=c.getValue();
	}
}
	
}
%>

<form action="dologin.do">
姓名:<input type="text" name="name" value="${name }"></br>
密碼:<input type="text" name="password" value="${password }"></br>
<input type="checkbox"  value="1"  name=auto id=auto >七天免登陸</br>
<input type="submit" value="登入"></br>
<input type="button" value="檢視狀态" onclick="st()"></br>
</form>
</body>
</html>
           

控制層

//登入驗證
	@RequestMapping("dologin")
	public String dologin(HttpServletRequest request,HttpServletResponse response,HttpSession session) throws IOException{
		String msg="使用者名或者密碼錯誤"; 
		String password = request.getParameter("password");
		String name = request.getParameter("name");
		String auto = request.getParameter("auto");
		System.out.println(name+"-----------"+password +"----------auto:"+auto);
		if("a".equals(name)&&"aaa".equals(password)){
			if(auto!=null){
				Cookie cname=new Cookie("name", name);
				Cookie cpassword=new Cookie("password", password);
				Cookie cauto=new Cookie("auto", auto);
				cname.setMaxAge(7*24*60*60);
				cpassword.setMaxAge(7*24*60*60);
				response.addCookie(cname);
				response.addCookie(cpassword);
				response.addCookie(cauto);
				session.setAttribute("name", name);
				session.setAttribute("password", password);
			}
			Cookie cname=new Cookie("name", name);
			Cookie cpassword=new Cookie("password", password);
			Cookie cauto=new Cookie("auto", auto);
			 
			response.addCookie(cname);
			response.addCookie(cpassword);
			session.setAttribute("name", name);
			session.setAttribute("password", password);
			
			return "redirect:/list.jsp";
		}
		 return "redirect:/login.jsp";
	}
           

接口

package com.bw.interceptors;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.web.servlet.HandlerInterceptor;

public class CheckLogin implements HandlerInterceptor{

	@Override
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
			throws Exception {
		HttpSession session = request.getSession();
		String name = (String)session.getAttribute("name");
		String password = (String)session.getAttribute("password");
		System.out.println("攔截器的name------------"+name);
		if (name!=null ) {
			return true;
		}else{
			Cookie[] cookie=request.getCookies();
			System.out.println(cookie.length+"----------------長度");
			String cname="";
			String cpassword="";
			if (cookie!=null) {
				for(Cookie c:cookie){
					if("name".equals(c.getName()) ){
						cname=c.getValue();
					}
					if("password".equals(c.getName())){
						cpassword=c.getValue();
					}
					if ("a".equals(cname)&&"aaa".equals(cpassword)) {
						System.out.println(cname+"/"+cpassword);
						return true;
					}
				}
			}
		}
		response.sendRedirect("login.jsp");
		return false;
	}
}
           

記得修改xml檔案