前台頁面
<%@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檔案