Cookie管理
Cookie對象是由服務器產生並保存在客戶端的信息,常用他記錄用戶個人信息以及個性化設置。用戶每次訪問網點時,應用程序就可以檢索以前保存的信息
Cookie對象屬於的類是javax.servlet.http.Cookie 他不是JSP的內置對象
1.Cookie的基本用法
一般需要兩步操作,首先有服務器創建Cookie對象保存在客戶端,然后再JSP或Servlet中讀取Cookie並進行操作。
****
自動登錄過程
//login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>用戶登陸界面</title> </head> <body> <form action="logincheck.jsp" method="post"> 用戶名:<input type="text" name="username"><br> 密 碼:<input type="password" name="userpwd"/><br> <input type="submit" value="登陸"> </form> </body> </html>
//logincheck.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>登陸處理</title> </head> <body> <% String un=request.getParameter("username"); //獲取用戶名 if(un!=null){ Cookie c=new Cookie("username",un); c.setMaxAge(30*24*3600);//設置Cookie有效期為30天 response.addCookie(c);//將Cookie對象保存在客戶端 session.setAttribute("username",un);//將用戶名存到session范圍內用於權限檢查 response.sendRedirect("main.jsp");//重定向到主頁面 } %> </body> </html>
//main.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>主頁面</title> </head> <body> <% String username=(String)session.getAttribute("username"); if(username==null){ //session中用戶名為空說明用戶沒登陸 Cookie[] cs=request.getCookies(); String v=null; if(cs!=null){ for(int i=0;i<cs.length;i++){ if(cs[i].getName().equals("username")){ //獲取名稱為username的Cookie對象值 v=cs[i].getValue(); } } } if(cs!=null){ //Cookie值不空,自動登陸成功 session.setAttribute("username",v); out.print(v+",您好!"); }else{ //自動登陸失敗,轉到登陸界面 out.print("您還沒有注冊,2秒后轉到注冊界面!"); response.setHeader("Refrush","2;url=login.jsp"); } } else{ //session中用戶名不空說明用戶已經登陸 out.print(username+"您好!"); } %> </body> </html>
轉載來自:http://www.cnblogs.com/qichunlin/p/7887220.html