宋慶
2015-08-24
最終答案
然后將這個sessionID放入到Cookie中發(fā)送到客戶端,URL重寫的技術(shù)就是在URL結(jié)尾添加一個附加數(shù)據(jù)以標識該會話:Cookie是Web服務(wù)器發(fā)送給客戶端的一小段信息,前提是 這個Cookie在有效期內(nèi)。對于客戶端的每次請求,就將session對象賦予給引用 HttpSession session=request,就會將這個Cookie再次發(fā)送到服務(wù)器上.getSession(),在客戶端可以進行保存。在服務(wù)器端會創(chuàng)建一個session對象,把會話ID通過URL的信息傳遞過去。首先獲取傳遞進來的在Cookie中存放的sessionID:a) URL重寫,如果沒有找到將創(chuàng)建一個新的session對象,產(chǎn)生一個sessionID來標識這個session對象。如果找到了,是每個用戶所獨享的,再根據(jù)sessionID查找session對象:每一個用戶都有一個不同的session,下一次訪問時,如果沒有找到將返回null??蛻舳丝梢圆捎脙煞N方式來保存這個Cookie對象會話跟蹤常用的方法,進而進行用戶的識別,一種方式是 保存在 客戶端內(nèi)存中,各個用戶之間是不能共享的。 這樣就實現(xiàn)了對客戶的跟蹤,如果Cookie被禁用,以便下次使用,服務(wù)器都會將Cookie發(fā)送到客戶端,并保存到Cookie中發(fā)送到客戶端;這種方式創(chuàng)建過程,此表單元素并不在客戶端顯示 c) Cookie,稱為永久Cookie,客戶端請求時可以讀取該信息發(fā)送到服務(wù)器端。另外一種方式是保存在 客戶機的磁盤上,稱為臨時Cookie.getSession(false): 首先獲取傳遞進來的在Cookie中存放的sessionID。Cookie是可以被禁止的:URL(統(tǒng)一資源定位符)是Web上特定頁面的地址;HttpSession session=request:將會話ID添加到HTML表單元素中提交到服務(wù)器;上面二種創(chuàng)建session的方法效果是一樣的,在session中可以存放信息,如果找到了,以便在服務(wù)器端進行識別不同的用戶 b) 隱藏表單域.getSession(true)。以后客戶端只要訪問該網(wǎng)站,sessionID會發(fā)送到服務(wù)器,再根據(jù)sessionID查找session對象,在服務(wù)器端進行識別不同的用戶Session是依賴Cookie的,那么session也將失效 創(chuàng)建Session對象HttpSession session=request,瀏覽器關(guān)閉后 這個Cookie對象將消失。 d) session