乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      url中的jsessionid解釋 - 梧桐的日志 - 網(wǎng)易博客

       kittywei 2011-03-07

      url中的jsessionid解釋

      做項目中學(xué)得 2010-01-25 14:59:39 閱讀58 評論0   字號: 訂閱

      (1)

      這是一個保險措施

      因為Session默認(rèn)是需要Cookie支持的

      但有些客戶瀏覽器是關(guān)閉Cookie的

      這個時候就需要在URL中指定服務(wù)器上的session標(biāo)識,也就是5F4771183629C9834F8382E23BE13C4C

      用一個方法(忘了方法的名字)處理URL串就可以得到這個東西

      這個方法會判斷你的瀏覽器是否開啟了Cookie,如果他認(rèn)為應(yīng)該加他就會加上去

      (2)

      鏈接1:wapbrowse.jsp?curAlbumID=9 ;

      鏈接2:wapbrowse.jsp;jsessionid=5AC6268DD8D4D5D1FDF5D41E9F2FD960?curAlbumID=9;

      這兩個鏈接是從模擬器運行時生成的source中拷貝過來的,兩個鏈接都是指向wapbrowse.jsp,鏈接1由于不包含jsessionid,所以在wapbrowse.jsp中變量為null,通過鏈接2打開wapbrowse.jsp可以正常訪問session 變量

      (3)

      URL重寫功能,為了防止一些用戶把Cookie禁止而無法使用session而設(shè)置的功能.jsessionid后面的一長串就是你服務(wù)器上的session的ID號,這樣無需cookie也可以使用session.

      (4)

      http本身是無session的,無法跟蹤客戶端的信息,換句話說:http協(xié)議不管是誰聯(lián)接自己。

      為了實現(xiàn)session,必須有瀏覽器支持。瀏覽器可以用cookie存儲session,這是最通用的做法。

      但是,如果我自己寫一個完全符合http協(xié)議的瀏覽器,但是不配合服務(wù)器的session要求,那么服務(wù)器就無法產(chǎn)生session。

      好在現(xiàn)在的瀏覽器都支持session要求,即使關(guān)閉了cookie,瀏覽器也會向服務(wù)器傳遞sessionid,這個id是存儲在瀏覽器的內(nèi)存空間中的,不保存在硬盤cookie中。

      (5)

      sessionid是作為一個臨時cookie放在瀏覽器端的。

      session的具體信息放在服務(wù)器端。

      每次瀏覽器發(fā)出的請求,都會在http header里 帶上 sessionid來標(biāo)識自己。

      既然用Struts,順便再把JSTL用上,

      下面一個非常有用的標(biāo)簽:

      清單 12. 操作的語法

          var="name" scope="scope">

       

        ...

      URL 重寫是由 操作自動執(zhí)行的。如果 JSP 容器檢測到一個存儲用戶當(dāng)前會話標(biāo)識的 cookie,那么就不必進(jìn)行重寫。但是,如果不存在這樣的 cookie,那么 生成的所有 URL 都會被重寫以編碼會話標(biāo)識。注:如果在隨后的請求中存在適當(dāng)?shù)?cookie,那么 將停止重寫 URL 以包含該標(biāo)識。

      參考:http://www-900.ibm.com/developerWorks/cn/java/j-jstl0318/index.shtml

      (6)

      方法一:url中緊跟servlet/jsp文件名加;jsessionid=sessionId,其中sessionId由HttpSession.getId()得到,如http://localhost:8080/aaa/bbb.jsp;jsessionid=saldjfsdflsaeir234?para=1¶2=2

      方法二:在application(ServletContext)里保存一個session管理器HashMap:sessionId---sessionRef,這樣可以在所有的servlet/jsp里調(diào)用,這需要在url里將sessionId以參數(shù)形式傳遞,如http://localhost:8080/aaa/bbb.jsp?sessionId=saldjfsdflsaeir234?para=1¶2=2,在服務(wù)器端用request.getParameter("sessionId")獲取

      (7)

      session是在服務(wù)器端保存。服務(wù)器根據(jù)url請求中的session_id來查找對應(yīng)的session。

      以一個bbs為例,網(wǎng)站需要根據(jù)每個請求url獲取用戶的信息,如果以cookie方式,用戶信息全部是存放在cookie中的,這樣可能會不安全;如果以session方式,用戶信息可以存放在服務(wù)器端,服務(wù)器只要從http請求中得到session_id,就可以得到存放在session中的用戶信息了,這樣安全性比較高。session在服務(wù)器中的表現(xiàn)方式依服務(wù)器而定,可能是寫到臨時文件中,也可能直接放在內(nèi)存中。

      服務(wù)器從http請求中得到session_id的方式有兩種:cookie和url重寫。如果客戶端啟用cookie,那么session_id可以保存在cookie中;如果禁用cookie,就用url重寫方式,在url中添加.jsessionid=xxxxx參數(shù)部分,服務(wù)器會試圖從url中得到.jsessionid參數(shù)作為session_id.

      (8)

      cookie 是保存在客戶端的文本格式數(shù)據(jù),session是客戶端登錄到應(yīng)用,由服務(wù)器為該客戶端建立的唯一的標(biāo)識,可以在session里面保存該客戶端的數(shù)據(jù)比如說用戶賬號。

      一般cookie可以用來保存你的登錄賬號和密碼,在你登錄到應(yīng)用服務(wù)上,自動添加到登錄界面或直接發(fā)送到服務(wù)器上進(jìn)行登錄,這就是你經(jīng)常能在論壇上看到的你的登錄信息保存一年的選項 的實現(xiàn)方式

      (9)

      在http的報文格式里面cookie和session是在同一個包文位置上的

      如果ie發(fā)現(xiàn)包文里面包含cookie/session的信息的話,他會根據(jù)安全級別來決定是否保存相關(guān)信息,比如,如果安全機制允許使用cookie那么ie將把cookie的信息保存到臨時文件里面,每次在請求服務(wù)器文件的時候會把收到的session的信息加入到請求的報文里面,這就是session保存信息的原理。如果安全機制不允許使用cookie的話,雖然ie收到了cookie和session的信息,那么cookie的信息不會被寫入臨時文件,當(dāng)ie再次請求服務(wù)器文件的時候,也不會把收到的session的信息加入到請求報文里面,服務(wù)器就無法知道session的信息了。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多