真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

jsp/servlet會(huì)話是什么意思-創(chuàng)新互聯(lián)

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

成都創(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ò)營銷,網(wǎng)絡(luò)優(yōu)化,龍?zhí)毒W(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

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

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

Cookie

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

用于會(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)用中,一般情況下通過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ù)端的解決方案,它是通過服務(wù)器來保持狀態(tài)的。在Java中是通過調(diào)用HttpServletRequest的getSession方法(使用true作為參數(shù))創(chuàng)建的。在創(chuàng)建了Session的同時(shí),服務(wù)器會(huì)為該Session生成唯一的Session id,而這個(gè)Session id在隨后的請(qǐng)求中會(huì)被用來重新獲得已經(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è)過程,用戶的狀態(tài)也就得以保持了。

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

隱藏表單域

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

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

比如第二個(gè)表單中獲取第一個(gè)表單中的內(nèi)容,并以隱藏域( 文本框type為 hidden) 的方式接受第一個(gè)表單中的內(nèi)容,再次傳遞到第三個(gè)表單中。通俗點(diǎn)說請(qǐng)求的順序是這樣的:表單一 - - > 表單二 - - >表單三,但是表單三需要用到表單一提交的內(nèi)容,所以就會(huì)需要表單二作為過渡,把表單一的內(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)起來,然后在訪問會(huì)話數(shù)據(jù)的時(shí)候,JSP頁面所進(jìn)行的處理方式就和使用cookie跟蹤會(huì)話id時(shí)所使用的方式完全相同。所以sesssion的實(shí)現(xiàn)要依靠cookie或URL復(fù)寫技術(shù)。

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

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

"> 
    index頁面

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

a href="index.jsp?jsessionid=0E0C61100AEB06DE6A95EB1CD1DA8158">index頁面

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

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

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

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

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


分享名稱:jsp/servlet會(huì)話是什么意思-創(chuàng)新互聯(lián)
文章來源:http://weahome.cn/article/dcpsee.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部