本章文章詳細講解:
1、Cookie基本用法演示
2、演示Cookie的訪問權限
3、演示Cookie的刪除
4、利用Cookie顯示用戶上次登錄的時間
5、利用Cookie技術顯示用戶最近瀏覽的若干個圖片
6、測試火狐瀏覽器到底支持多少個Cookie和一個Cookie最大為多大
1、Cookie基本用法演示
index.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> </head> <body> <h1>演示Cookie技術</h1> <a href="CookieDemo">Cookie基本用法演示</a><br/> </body></html>
web.xml:
<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <display-name></display-name> <servlet> <servlet-name>CookieDemo</servlet-name> <servlet-class>cn.hncu.servlets.CookieDemo</servlet-class> </servlet> <servlet-mapping> <servlet-name>CookieDemo</servlet-name> <url-pattern>/CookieDemo</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list></web-app>
CookieDemo.java:
package cn.hncu.servlets;import java.io.IOException;import java.io.PrintWriter;import java.net.URLDecoder;import java.net.URLEncoder;import java.util.Random;import javax.servlet.ServletException;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class CookieDemo extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); //向客戶端寫cookie Random r = new Random(); int n =r.nextInt(100); String name = "jack";//cookie的格式:key=value Cookie c = new Cookie("name", name+n); c.setMaxAge(60*60);//設置過期時間,以秒為單位 c.setPath( request.getContextPath() );//該路徑是: /項目名 //Cookie機制中,是通過path來控制權限的。只有<url-pattern>和該path相同或是它的子路徑的servlet才能夠訪問該cookie //如果把一個cookie的path設為項目根目錄,那么該項目下的所有servlet都能夠訪問它 response.addCookie(c); //這一段演示cookie帶中文 String str = "我帶中文"; str = URLEncoder.encode(str, "utf-8");//中文設置編碼!??!urlencode編碼 Cookie cStr = new Cookie("str", str); //如果不設置setMaxAge,則瀏覽器一關閉就過期 cStr.setPath("/"); response.addCookie(cStr); //讀取客戶端發過來的cookie Cookie cs[] = request.getCookies();//讀取cookie if(cs!=null){//防范一下 for(Cookie cc:cs){ String name2 = cc.getName(); String val = cc.getValue(); val = URLDecoder.decode(val, "utf-8");//原來是怎么編碼的,就怎么解碼! 中文解碼,ascii是原樣的! out.print(name2+"="+val+"<br/>"); } } out.print("Cook保存成功!"); }}演示結果:

第一次點擊時!session下次講!tomcat自動生成發給客戶端的!

再次進入時!
name+n
主站蜘蛛池模板:
婺源县|
鹤岗市|
和政县|
云龙县|
嘉峪关市|
三亚市|
获嘉县|
四会市|
游戏|
周至县|
通化市|
长沙县|
桃园市|
平遥县|
永泰县|
绩溪县|
太原市|
兴和县|
沧州市|
海晏县|
长宁县|
平度市|
土默特右旗|
鄄城县|
灵武市|
长汀县|
洪雅县|
林甸县|
贺州市|
安宁市|
和田县|
高尔夫|
西宁市|
赤水市|
广水市|
梁平县|
那曲县|
都江堰市|
广宁县|
永登县|
漯河市|