日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
jsp/servlet會(huì)話是什么意思-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)jsp/servlet會(huì)話是什么意思的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),龍?zhí)镀髽I(yè)網(wǎng)站建設(shè),龍?zhí)镀放凭W(wǎng)站建設(shè),網(wǎng)站定制,龍?zhí)毒W(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,龍?zhí)毒W(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

 客戶端打開(kāi)與服務(wù)器的連接,發(fā)出請(qǐng)求直到服務(wù)器響應(yīng)客戶端請(qǐng)求的全過(guò)程稱之為會(huì)話 。

瀏覽器與服務(wù)器之間的通信是通過(guò)HTTP協(xié)議進(jìn)行通信的,而HTTP協(xié)議是”無(wú)狀態(tài)”的協(xié)議,它不能保存客戶的信息,即一次響應(yīng)完成之后連接就斷開(kāi)了,下一次的請(qǐng)求需要重新連接,當(dāng)用戶在同一網(wǎng)站的多個(gè)頁(yè)面之間轉(zhuǎn)換時(shí),根本無(wú)法確定是否是同一個(gè)客戶,會(huì)話跟蹤技術(shù)就可以實(shí)現(xiàn)這種要求 。

Cookie

服務(wù)器在響應(yīng)請(qǐng)求時(shí)可以將一些數(shù)據(jù)以"鍵-值"對(duì)的形式通過(guò)響應(yīng)信息保存在客戶端。當(dāng)瀏覽器再次訪問(wèn)相同的應(yīng)用時(shí),會(huì)將原先的存有session ID的Cookie通過(guò)請(qǐng)求信息帶到服務(wù)器端,網(wǎng)絡(luò)服務(wù)器通過(guò)識(shí)別唯一的session ID來(lái)代表每個(gè)客戶端,從而識(shí)別這個(gè)客戶端接下來(lái)的請(qǐng)求。

Cookie不是內(nèi)置對(duì)象,需要自己創(chuàng)建Cookie的實(shí)例。是服務(wù)器往客戶端寫的一段文本信息,該信息是可以修改的,所以一般情況cookie會(huì)存儲(chǔ)一些非敏感信息,當(dāng)客戶端再次請(qǐng)求服務(wù)器的時(shí)候,會(huì)將Cookie以請(qǐng)求頭的方式發(fā)送到服務(wù)器,這個(gè)時(shí)候服務(wù)器就能區(qū)分是誰(shuí)在訪問(wèn)了。

用于會(huì)話跟蹤的Cookie叫做會(huì)話Cookie。Servlet規(guī)范中會(huì)話跟蹤的cookie名字必須是JSESSIONID,保存在瀏覽器的內(nèi)存中。

Cookie可以用于保持用戶的會(huì)話狀態(tài),但Cookie信息保存在客戶端,存在較大的安全隱患,且一般瀏覽器對(duì)Cookie的數(shù)目及數(shù)據(jù)大小有嚴(yán)格的限制。在Web應(yīng)用中,一般情況下通過(guò)HttpSession對(duì)象保持會(huì)話狀態(tài)

Cookie cookie = new Cookie("鍵", "值");       //創(chuàng)建cookie
cookie.setMaxAge(60*60*24);                 //設(shè)置cookie的有效期
cookie.setPath("/");                        //設(shè)置cookie的有效范圍(路徑)
response.addCookie(cookie);                 //將cookie寫入到客戶端

Session

Session 是存放在服務(wù)器端的,更加安全。每一個(gè)用戶都有一個(gè)不同的session,各個(gè)用戶之間是不能共享的。

Session是依賴Cookie的,如果Cookie被禁用,那么session也將失效 。

Session技術(shù)則是服務(wù)端的解決方案,它是通過(guò)服務(wù)器來(lái)保持狀態(tài)的。在Java中是通過(guò)調(diào)用HttpServletRequest的getSession方法(使用true作為參數(shù))創(chuàng)建的。在創(chuàng)建了Session的同時(shí),服務(wù)器會(huì)為該Session生成唯一的Session id,而這個(gè)Session id在隨后的請(qǐng)求中會(huì)被用來(lái)重新獲得已經(jīng)創(chuàng)建的Session;在Session被創(chuàng)建之后,就可以調(diào)用Session相關(guān)的方法往Session中增加內(nèi)容了,而這些內(nèi)容只會(huì)保存在服務(wù)器中,發(fā)到客戶端的只有Session id;當(dāng)客戶端再次發(fā)送請(qǐng)求的時(shí)候,會(huì)將這個(gè)Session id帶上,服務(wù)器接受到請(qǐng)求之后就會(huì)依據(jù)Session id找到相應(yīng)的Session,從而再次使用之。正式這樣一個(gè)過(guò)程,用戶的狀態(tài)也就得以保持了。

session.setAttribute(String name,Object obj);       //往session中存放內(nèi)容(通過(guò)鍵和值的形式)
session.getAtrribute(String name);                  //通過(guò)鍵從session中獲取內(nèi)容
session.removeAttribute(String name);               //把存儲(chǔ)在session中的對(duì)象移除
session.invalidate();                               //銷毀session

隱藏表單域

隱藏表單域是將會(huì)話ID添加到HTML的隱藏表單中(類型為hidden的input)。重定向和轉(zhuǎn)發(fā)

通過(guò)進(jìn)行信息的傳遞 。通過(guò)表單形式提交到服務(wù)器,但是本身不顯示。

比如第二個(gè)表單中獲取第一個(gè)表單中的內(nèi)容,并以隱藏域( 文本框type為 hidden) 的方式接受第一個(gè)表單中的內(nèi)容,再次傳遞到第三個(gè)表單中。通俗點(diǎn)說(shuō)請(qǐng)求的順序是這樣的:表單一 - - > 表單二 - - >表單三,但是表單三需要用到表單一提交的內(nèi)容,所以就會(huì)需要表單二作為過(guò)渡,把表單一的內(nèi)容以隱藏域的形式保存,然后再傳遞到表單三中。

重寫URL

把會(huì)話ID編碼在URL中。 例:counter.jjsp;jsessionnid=be8d697876787876befdbde898789098980這樣,即使瀏覽器不支持cookie,也能夠?qū)崿F(xiàn)會(huì)話跟蹤。

對(duì)于URL復(fù)寫,服務(wù)器從請(qǐng)求的URI中提取出會(huì)話ID,并把該請(qǐng)求與相應(yīng)的會(huì)話關(guān)聯(lián)起來(lái),然后在訪問(wèn)會(huì)話數(shù)據(jù)的時(shí)候,JSP頁(yè)面所進(jìn)行的處理方式就和使用cookie跟蹤會(huì)話id時(shí)所使用的方式完全相同。所以sesssion的實(shí)現(xiàn)要依靠cookie或URL復(fù)寫技術(shù)。

String sessionId = request.getRequestedSessionId();     //獲得sessionId

通過(guò)response對(duì)象的encodeURL(StringURL)實(shí)現(xiàn)URL地值重寫:

"> 
    index頁(yè)面

該方法會(huì)自動(dòng)判斷客戶端是否支持Cookie。如果客戶端支持Cookie,會(huì)將URL原封不動(dòng)地輸出來(lái)。如果客戶端不支持Cookie,則會(huì)調(diào)用encodeURL()方法之后會(huì)自動(dòng)將用戶Session的id重寫到URL中。重寫后的輸出可能是這樣的:

a href="index.jsp?jsessionid=0E0C61100AEB06DE6A95EB1CD1DA8158">index頁(yè)面

HttpServletResponse接口定義了兩個(gè)用于URL重寫的方法:

encodeURL方法,用于超鏈接和form表單的action屬性中設(shè)置的URL進(jìn)行重寫

encodeRedirectURL 方法 用于對(duì)傳遞給HttpServletResponse.sendRedirect()方法的URL進(jìn)行重寫

他們根據(jù)請(qǐng)求消息中是否含有Cookie頭字段來(lái)決定是否進(jìn)行url重寫。把URL作為參數(shù)傳遞給這兩個(gè)方法,他們就能完成url重寫,在url后面添加 jsessionid參數(shù)及其值。可以關(guān)閉瀏覽器的Cookie,然后,進(jìn)行實(shí)驗(yàn),在網(wǎng)頁(yè)源文件中查看URL后面是否有jsessionid參數(shù)及其值。

感謝各位的閱讀!關(guān)于jsp/servlet會(huì)話是什么意思就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!


本文標(biāo)題:jsp/servlet會(huì)話是什么意思-創(chuàng)新互聯(lián)
鏈接URL:http://www.dlmjj.cn/article/dcpsee.html