Cookie,Session基礎知識

//這部分主要是CookieSession的筆記部分/** //獲取來訪的客戶端類型String clientTye=req.getHeader("User-Agent");//如果是火狐瀏覽器,那么使用以下代碼if(clientTye.contains("Firefox")){fileName=DownLoadUtil.base64EncodeFileName(fileName);}else{//IE,或者是谷歌瀏覽器//對中文的名字進行編碼處理fileName=URLEncoder.encode(fileName,"UTF-8");}*///DownLoadUtil部分是Base64的代碼部分。如下/** //Base4加密解密方式public class DownLoadUtil {public static String base64EncodeFileName(String fileName) {BASE64Encoder base64Encoder = new BASE64Encoder();try {return "=?UTF-8?B?"+ new String(base64Encoder.encode(fileName.getBytes("UTF-8"))) + "?=";} catch (UnsupportedEncodingException e) {e.printStackTrace();throw new RuntimeException(e);}}
}*///重定向問題的兩種寫法//1.早期寫法:/*設置狀態碼?重新定位狀態碼resp.setStatus(302);定位跳轉的位置是哪一個頁面resp.setHeader("location","sucess-login.html");2.直接跳轉的寫法跳轉到成功的界面resp.sendRedirect("sucess-login.html");*//*######請求轉發的問題* //請求轉發的寫法://req.getRequestDispatcher("sucess-login.html").forward(req, resp);*//** ###Cookie學習筆記* 直譯餅干的意思,其實是一份小數據,是服務器給客戶端的,并且存在客戶端上的一份小數據    * * 應用場景:自動登錄,瀏覽記錄,購物車* * ###為什么要有這個Cookie?* http的請求是無狀態。客戶端與服務器在通訊的時候,是無狀態的,其實就是客戶端在第二次來訪的時候,服務器根本不知道* 這個客戶端以前有沒有來訪問過。為了更好的用戶體驗,更好的交互。* 其實從公司層面講,就是為了更好的收集客戶信息* * * ###Cookie怎么用?* 創建CookieDemo01*         添加Cookie給客戶*           1.在響應的時候,添加Cookie*             Cookie cookie=new Cookie("name", "zyz");*             給響應添加一個cookie*             resp.addCookie(cookie);*         *          2客戶端收到的信息里面,響應頭中多了一個字段Set-Cookie* * * *###獲取客戶端帶過來的Cookie*        //獲取客戶端帶過來的cookieCookie[] cookies=req.getCookies();if(cookies!=null){for(Cookie c:cookies){String cookieName=c.getName();String cookieValue=c.getValue();System.out.println(cookieName+"=="+cookieValue);}}###cookie的有效期,
默認情況下,關閉瀏覽器后,Cookie就沒有了。expiry:有效----------->有效值以秒計算
正值:表示在這個數字之后,cookie將會失效
負值,表示關閉瀏覽器,那么cookie就會失效,默認是值是-1####常用方法
//設置Cookie的周期cookie.setMaxAge(60);//賦值新的值//cookie.setValue(newValue);//用于指定只有請求了指定的域名,才會帶上該cookie//cookie.setDomain("");//只有訪問該域名下的cookieDemo的這個路徑地址才會帶cookie//cookie.setPath("/cookieDemo");###例子---->顯示最近訪問的時間
獲取帶過來的cookie1.沒有cookie第一次登錄1輸出登錄成功或者失敗2給客戶端添加cookienew Cookie("last",時間)2有cookie第二次登錄1.輸出成功或者失敗2獲取以前的cookie#####Cookie的安全問題
由于Cookie會保存在客戶端上,所以有安全隱患問題,還有一個問題,Cookie的大小與個數有限制,
為了解決問題------->Session####Session
會話,Session是給予Cookie的一種會話機制,Cookie是服務器返回一小份數據給客戶端,并且
存放在客戶端上,Session是,數據存放在服務器端。####Session常用的API//獲得會話HttpSession session=req.getSession();//得到會話的idString id=session.getId();//存值session.setAttribute("name","value");//取值session.getAttribute("name");//移除值session.removeAttribute("name");###Session的創建和銷毀創建
如果有在Servlet里面調用了request.getSession()銷毀
Session是存放在服務器的內存中的一份數據,當然可以持久化,Redis.即使關了瀏覽器,Session也不會銷毀銷毀方法1關閉服務器2 Session會話時間結束,默認有效期30分鐘*/

?

轉載于:https://www.cnblogs.com/byczyz/p/11337492.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/386213.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/386213.shtml
英文地址,請注明出處:http://en.pswp.cn/news/386213.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

阿里P8親自講解!java中級開發工程師需要掌握的技能

前言 關于技術人如何成長的問題,一直以來都備受關注,因為程序員職業發展很快,即使是相同起點的人,經過幾年的工作或學習,會迅速拉開極大的差距,所以技術人保持學習,提升自己,才能夠…

隨筆--互聯網進化論

不聞不若聞之;有的人士的理論引起了轟動,吾等小網民也來學學,沒那么大腦袋,從不敢談解讀與批判。聞香而來,放屁而去。比如說互聯網進化論。看看實踐,互聯網的膨脹式發展是不會停的,在中國的互聯…

阿里P8親自講解!java分布式需要學什么技術

引言 最近項目上線的頻率頗高,連著幾天加班熬夜,身體有點吃不消精神也有些萎靡,無奈業務方催的緊,工期就在眼前只能硬著頭皮上了。腦子渾渾噩噩的時候,寫的就不能叫代碼,可以直接叫做Bug。我就熬夜寫了一個…

Javascript的this用法

出自:http://www.ruanyifeng.com/blog/2010/04/using_this_keyword_in_javascript.html this是Javascript語言的一個關鍵字。 它代表函數運行時,自動生成的一個內部對象,只能在函數內部使用。比如, function test(){ this.x 1; }…

[New Portal]Windows Azure Web Site (4) Web Site Gallery

《Windows Azure Platform 系列文章目錄》 前言:最近因為工作變動,更新博客的速度變慢了。筆者在這邊感到非常抱歉,以后盡量每周更新一篇Windows Azure的博客給大家。 好了,我們回到本章內容。 Windows Azure通過Web Role和Worker…

阿里P8親自講解!java聲明類的語法格式

前言 前兩天,我收到了螞蟻金服的offer,從朋友的內推開始面試到拿到最后offer經歷了4面技術、一面交叉面和一面HR面。經過了漫長的等待和幾次幾乎折磨的面試之后,終于拿到了offer。 分享第一份Java基礎-中級-高級面試集合 Java基礎&#xff…

java-transaction事件

/*########事務&數據庫連接池&DBUtils ######事務 > Transaction 其實指的一組操作,里面包含許多個單一的邏輯。只要有一個邏輯沒有執行成功,那么都算失敗。 所有的數據都回歸到最初的狀態(回滾) ####為什么要有事務?> 為了確保邏輯的成功…

阿里P8親自講解!java實例變量和類變量

前言 Spring如何解決的循環依賴,是近兩年流行起來的一道Java面試題。其實筆者本人對這類框架源碼題還是持一定的懷疑態度的。如果筆者作為面試官,可能會問一些諸如“如果注入的屬性為null,你會從哪幾個方向去排查”這些場景題。那么既然寫了…

java---連接池的學習

/** ####################################數據庫的連接池學習################################# * * * #####數據庫連接池 >1. 數據庫的連接對象創建工作,比較消耗性能。 >2.一開始現在內存中開辟一塊空間(集合) , 一開…

阿里P8親自講解!成功入職頭條月薪35K

前言 又到一年金九銀十之際。 Java作為目前用戶最多,使用范圍最廣的軟件開發技術之一。 Java的技術體系主要由支撐Java程序運行的虛擬機,提供各開發領域接口支持的Java,Java編程語言及許多第三方Jvav框架構成。 其中,以Java的虛擬器為今天的著…

java----連接池C3p0使用的補充

C3p0數據庫的連接方式是目前市場場最為廣泛的類型之一 本篇主要你演示C3p0使用文件配置和不使用文件配置的兩種操作方式 #######使用文件配置 import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException;import com.dbutil.zyz.ConnLink; …

阿里P8大佬親自教你!java程序設計第四版pdf

前言 最近有很多朋友去目前主流的大型互聯網公司面試(阿里巴巴、京東、字節跳動、螞蟻金服、滴滴),面試回來之后會發給我一些面試題。有些朋友輕松過關,拿到offer,但是有一些是來詢問我答案的。 我特意整理了一下&am…

阿里P8大佬親自講解!朝陽java培訓

開頭 Spring框架自誕生以來一直備受開發者青睞,有人親切的稱之為:Spring 全家桶。Spring更是避免了重復造輪子的工作并跟隨著互聯網行業的發展做出不斷的更新,很多研發人員把spring看作心目中最好的Java項目,沒有之一。 **可以毫…

分隔符的作用和用法

一、插入分頁符 當文本或圖形等內容填滿一頁時,Word會插入一個自動分頁符并開始新的一頁。如果要在某個特定位置強制分頁,可插入“手動”分頁符,這樣可以確保章節標題總在新的一頁開始。首先,將插入點置于要插入分頁符的位置&…

java----DBUtils知識點補充

dbutils 只是幫我們簡化了CRUD 的代碼, 但是連接的創建以及獲取工作。 不在他的考慮范圍 QueryRunner主要是這個類 import java.sql.SQLException;import org.apache.commons.dbutils.QueryRunner;import com.mchange.v2.c3p0.ComboPooledDataSource;public class D…

大廠offer手到擒來,Java面試真題精選

前言 事務我們都知道是什么,而Spring事務就是在數據庫之上利用AOP提供聲明式事務和編程式事務幫助我們簡化開發,解耦業務邏輯和系統邏輯。但是Spring事務原理是怎樣?事務在方法間是如何傳播的?為什么有時候事務會失效&#xff1f…

大廠也在用的6種數據脫敏方案,醍醐灌頂!

前言 由于作者面試過程中高度緊張,本文中只列出了自己還記得的部分題目。 經歷了漫長一個月的等待,終于在前幾天通過面試官獲悉已被螞蟻金服錄取,這期間的焦慮、痛苦自不必說,知道被錄取的那一刻,一整年的陰霾都一掃…

大牛帶你直擊優秀開源框架靈魂,給大家安排上!

前言 微架構的出現,很好地適應了這個時代對快速發展變化的要求。它不再提倡一體化的項目設計,而是對項目進行有效的“業務區”(可以簡單理解為不同的子系統〉劃分,并利用合理的技術對業務性能做出提升和改善,同時又極大地簡化了配…

大牛用SSM框架實現了支付寶的支付功能,滿滿干貨指導

前言 現在刷抖音經常可以看到一些老外街坊,問他們最想把什么帶回自己的國家,我聽過很多的回答都是:淘寶,支付寶,美食,微信,外賣,高鐵等等。 確實如此,隨著國家的快速發…

java---Listener Filter知識點學習

##Listener > 監聽器 * 能做什么事? > 監聽某一個事件的發生。 狀態的改變。 * 監聽器的內部機制 > 其實就是接口回調. ####接口回調 * 需求: > A在執行循環,當循環到5的時候, 通知B。 > 事先先把一個對象傳遞給 …