日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Cookie和Session-学习笔记02【Cookie案例、JSP改造Cookie案例】

發(fā)布時間:2024/9/30 javascript 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Cookie和Session-学习笔记02【Cookie案例、JSP改造Cookie案例】 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
  • Java后端 學(xué)習(xí)路線 筆記匯總表【黑馬程序員】
  • Cookie和Session-學(xué)習(xí)筆記01【Cookie_快速入門、Cookie_細(xì)節(jié)】
  • Cookie和Session-學(xué)習(xí)筆記02【Cookie案例、JSP改造Cookie案例】
  • Cookie和Session-學(xué)習(xí)筆記03【Session快速入門、Session細(xì)節(jié)】
  • Cookie和Session-學(xué)習(xí)筆記04【Session之驗證碼案例】
  • 目錄

    第3節(jié) Cookie案例

    HTTP狀態(tài)碼500——非法參數(shù)異常

    URL編解碼

    第4節(jié) JSP改造Cookie案例

    JSP_概念

    JSP_原理

    JSP_腳本

    JSP_入門學(xué)習(xí)

    JSP_案例_改造Cookie案例

    更改jsp代碼模板


    第3節(jié) Cookie案例

    cookie
    1. 概念:客戶端會話技術(shù),將數(shù)據(jù)保存到客戶端。
    2. 快速入門
    3. 實現(xiàn)原理
    4. cookie的細(xì)節(jié)
    ?? ?1. 一次可不可以發(fā)送多個cookie?
    ?? ?2. cookie在瀏覽器中保存多長時間?
    ?? ?3. cookie能不能存中文?
    ?? ?4. cookie共享問題?
    ?? ?5. Cookie的特點和作用

    ? ? 6. 案例:記住上一次訪問時間
    ? ? ? ? 1. 需求:
    ? ? ? ? ? ? 1. 訪問一個Servlet,如果是第一次訪問,則提示:您好,歡迎您首次訪問。
    ? ? ? ? ? ? 2. 如果不是第一次訪問,則提示:歡迎回來,您上次訪問時間為:顯示時間字符串
    ? ? ? ? 2. 分析:
    ? ? ? ? ? ? 1. 可以采用Cookie來完成
    ? ? ? ? ? ? 2. 在服務(wù)器中的Servlet判斷是否有一個名為lastTime的cookie
    ? ? ? ? ? ? ? ? 1. 有:不是第一次訪問
    ? ? ? ? ? ? ? ? ? ? 1. 響應(yīng)數(shù)據(jù):歡迎回來,您上次訪問時間為:2018年6月10日11:50:20
    ? ? ? ? ? ? ? ? ? ? 2. 寫回Cookie:lastTime=2018年6月10日11:50:01
    ? ? ? ? ? ? ? ? 2. 沒有:是第一次訪問
    ? ? ? ? ? ? ? ? ? ? 1. 響應(yīng)數(shù)據(jù):您好,歡迎您首次訪問
    ? ? ? ? ? ? ? ? ? ? 2. 寫回Cookie:lastTime=2018年6月10日11:50:01
    ? ? ? ? 3. 代碼實現(xiàn):...

    Cookie案例_記住上次訪問時間

    package cn.itcast.cookie;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.net.URLDecoder; import java.net.URLEncoder; import java.text.SimpleDateFormat; import java.util.Date;/*** 在服務(wù)器中的Servlet判斷是否有一個名為lastTime的cookie* 1. 有:不是第一次訪問* 1. 響應(yīng)數(shù)據(jù):歡迎回來,您上次訪問時間為:2018年6月10日11:50:20* 2. 寫回Cookie:lastTime=2018年6月10日11:50:01* 2. 沒有:是第一次訪問* 1. 響應(yīng)數(shù)據(jù):您好,歡迎您首次訪問* 2. 寫回Cookie:lastTime=2018年6月10日11:50:01*/@WebServlet("/cookieTest") public class CookieTest extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//設(shè)置響應(yīng)的消息體的數(shù)據(jù)格式以及編碼response.setContentType("text/html;charset=utf-8");//1.獲取所有CookieCookie[] cookies = request.getCookies();boolean flag = false;//沒有cookie為lastTime//2.遍歷cookie數(shù)組if (cookies != null && cookies.length > 0) {for (Cookie cookie : cookies) {//3.獲取cookie的名稱String name = cookie.getName();//4.判斷名稱是否是:lastTimeif ("lastTime".equals(name)) {//有該Cookie,不是第一次訪問flag = true;//有l(wèi)astTime的cookie//設(shè)置Cookie的value//獲取當(dāng)前時間的字符串,重新設(shè)置Cookie的值,重新發(fā)送cookieDate date = new Date();SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");String str_date = sdf.format(date);System.out.println("編碼前:" + str_date);//URL編碼str_date = URLEncoder.encode(str_date, "utf-8");System.out.println("編碼后:" + str_date);cookie.setValue(str_date);//設(shè)置cookie的存活時間cookie.setMaxAge(60 * 60 * 24 * 30);//一個月response.addCookie(cookie);//響應(yīng)數(shù)據(jù)//獲取Cookie的value,時間String value = cookie.getValue();System.out.println("解碼前:" + value);//URL解碼:value = URLDecoder.decode(value, "utf-8");System.out.println("解碼后:" + value);response.getWriter().write("<h1>歡迎回來,您上次訪問時間為:" + value + "!</h1>");break;}}}if (cookies == null || cookies.length == 0 || flag == false) {//沒有,第一次訪問//設(shè)置Cookie的value//獲取當(dāng)前時間的字符串,重新設(shè)置Cookie的值,重新發(fā)送cookieDate date = new Date();SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");String str_date = sdf.format(date);System.out.println("編碼前:" + str_date);//URL編碼str_date = URLEncoder.encode(str_date, "utf-8");System.out.println("編碼后:" + str_date);Cookie cookie = new Cookie("lastTime", str_date);//設(shè)置cookie的存活時間cookie.setMaxAge(60 * 60 * 24 * 30);//一個月response.addCookie(cookie);response.getWriter().write("<h1>您好,歡迎您首次訪問!</h1>");}}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request, response);} }

    HTTP狀態(tài)碼500——非法參數(shù)異常

    URL編解碼

    ??

    第4節(jié) JSP改造Cookie案例

    JSP_概念

    JSP:入門學(xué)習(xí)
    1. 概念:
    ?? ?* Java Server Pages: java服務(wù)器端頁面
    ?? ??? ?* 可以理解為:一個特殊的頁面,其中既可以指定定義html標(biāo)簽,又可以定義java代碼。
    ?? ??? ?* 用于簡化書寫!!!

    JSP_原理

    JSP:入門學(xué)習(xí)
    1. 概念

    2. 原理
    ?? ?* JSP本質(zhì)上就是一個Servlet。

    JSP原理

    ??

    JSP_腳本

    JSP:入門學(xué)習(xí)
    1. 概念
    2. 原理

    3. JSP的腳本:JSP定義Java代碼的方式
    ?? ?1. <% ?代碼 %>:定義的java代碼,在service方法中。service方法中可以定義什么,該腳本中就可以定義什么。
    ?? ?2. <%! 代碼 %>:定義的java代碼,在jsp轉(zhuǎn)換后的java類的成員位置。
    ?? ?3. <%= 代碼 %>:定義的java代碼,會輸出到頁面上。輸出語句中可以定義什么,該腳本中就可以定義什么。

    4. JSP的內(nèi)置對象

    JSP_入門學(xué)習(xí)

    JSP:入門學(xué)習(xí)
    1. 概念
    2. 原理

    3. JSP的腳本:JSP定義Java代碼的方式
    4. JSP的內(nèi)置對象:
    ?? ?* 在jsp頁面中不需要獲取和創(chuàng)建,可以直接使用的對象
    ?? ?* jsp一共有9個內(nèi)置對象。
    ?? ?* 今天學(xué)習(xí)3個:
    ?? ??? ?* request:請求
    ?? ??? ?* response:相應(yīng)
    ?? ??? ?* out:字符輸出流對象。可以將數(shù)據(jù)輸出到頁面上。和response.getWriter()類似
    ?? ??? ??? ?* response.getWriter()和out.write()的區(qū)別:
    ?? ??? ??? ??? ?* 在tomcat服務(wù)器真正給客戶端做出響應(yīng)之前,會先找response緩沖區(qū)數(shù)據(jù),再找out緩沖區(qū)數(shù)據(jù)。
    ?? ??? ??? ??? ?* response.getWriter()數(shù)據(jù)輸出永遠(yuǎn)在out.write()之前

    JSP_案例_改造Cookie案例

    JSP:入門學(xué)習(xí)

  • 概念
  • 原理
  • JSP的腳本:JSP定義Java代碼的方式
  • JSP的內(nèi)置對象:
  • 案例:改造Cookie案例
  • html代碼 與 Java代碼 嵌套。

    <%@ page import="java.util.Date" %> <%@ page import="java.text.SimpleDateFormat" %> <%@ page import="java.net.URLEncoder" %> <%@ page import="java.net.URLDecoder" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>itcast</title> </head> <body><%//1.獲取所有CookieCookie[] cookies = request.getCookies();boolean flag = false;//沒有cookie為lastTime//2.遍歷cookie數(shù)組if (cookies != null && cookies.length > 0) {for (Cookie cookie : cookies) {//3.獲取cookie的名稱String name = cookie.getName();//4.判斷名稱是否是:lastTimeif ("lastTime".equals(name)) {//有該Cookie,不是第一次訪問flag = true;//有l(wèi)astTime的cookie//設(shè)置Cookie的value//獲取當(dāng)前時間的字符串,重新設(shè)置Cookie的值,重新發(fā)送cookieDate date = new Date();SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");String str_date = sdf.format(date);System.out.println("編碼前:" + str_date);//URL編碼str_date = URLEncoder.encode(str_date, "utf-8");System.out.println("編碼后:" + str_date);cookie.setValue(str_date);//設(shè)置cookie的存活時間cookie.setMaxAge(60 * 60 * 24 * 30);//一個月response.addCookie(cookie);//響應(yīng)數(shù)據(jù)//獲取Cookie的value,時間String value = cookie.getValue();System.out.println("解碼前:" + value);//URL解碼:value = URLDecoder.decode(value, "utf-8");System.out.println("解碼后:" + value);%><h1>歡迎回來,您上次訪問時間為:<%=value%></h1><input><%break;}}}if (cookies == null || cookies.length == 0 || flag == false) {//沒有,第一次訪問//設(shè)置Cookie的value//獲取當(dāng)前時間的字符串,重新設(shè)置Cookie的值,重新發(fā)送cookieDate date = new Date();SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");String str_date = sdf.format(date);System.out.println("編碼前:" + str_date);//URL編碼str_date = URLEncoder.encode(str_date, "utf-8");System.out.println("編碼后:" + str_date);Cookie cookie = new Cookie("lastTime", str_date);//設(shè)置cookie的存活時間cookie.setMaxAge(60 * 60 * 24 * 30);//一個月response.addCookie(cookie);%><h1>您好,歡迎您首次訪問</h1><span></span><%}%><input> </body> </html>

    更改jsp代碼模板

    是日已過,命亦隨減,如少水魚,斯有何樂。當(dāng)勤精進(jìn),如救頭燃,但念無常,慎勿放逸。——佛教偈語

    總結(jié)

    以上是生活随笔為你收集整理的Cookie和Session-学习笔记02【Cookie案例、JSP改造Cookie案例】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。