Servlet入門(三)資料域

2021-09-23 07:47:46 字數 3315 閱讀 2077

servlet中提供了一些域物件,這些域物件可以用來資料儲存和資料共享,當然了這些域物件各有優點,比如作用範圍不同,按照範圍如下:

一次請求中的範圍,通常用於**中共享資料,請求關閉即銷毀

一次會話中資料共享,會話結束即關閉

代表整個web應用,伺服器關閉即關閉

域物件儲存讀取資料的方法如下:

儲存資料:setattribute("鍵",值)

獲得資料:getattribute("鍵")

移除資料:removeattribute("鍵")

範圍:一次請求中的範圍,通常用於**中共享資料

接下來我們寫三個servlet,在第乙個servlet1中建立域物件,然後列印資料到控制台,並**到servlet2中,servlet2也列印域物件對應的資料,servlet3和servlet2一樣開始訪問

response.

setcontenttype

("text/html;charset=utf-8");

//request物件就是乙個域物件

request.

setattribute

("name"

,"tom");

printwriter printwriter=response.

getwriter()

; printwriter.

println

(request.

getattribute

("name"))

; system.out.

println

(request.

getattribute

("name"))

; request.

getrequestdispatcher

("/reqtrea2").

forward

(request,response)

;//servlet2和servlet3

response.

setcontenttype

("text/html;charset=utf-8");

printwriter ps=response.

getwriter()

; ps.

println

(request.

getattribute

("name"))

; system.out.

println

(request.

getattribute

("name"))

;

訪問servlet1,再訪問servlet3,再訪問servlet2

tom

tomnull

null

一次會話中資料共享,會話結束即關閉,session是會話技術,儲存在伺服器中

//得到域物件

;

建立兩個servlet,servlet1中建立資料,列印資料,servlet2獲得資料列印資料

//servlet1得到域物件

;session.

setattribute

("age"

,"yellow");

system.out.

println

(session.

getattribute

("age"))

;//servlet12

;system.out.

println

(session.

getattribute

("age"))

;

分別訪問

yellow

yellow

在瀏覽器x中訪問servlet1,在瀏覽器y中訪問servlet2

yellow

null

代表整個web應用,伺服器關閉即關閉

//得到乙個域物件,兩種都行

servletcontext servletcontent=request.

getservletcontext()

;`在這裡插入**片`

servletcontext servletcontent=

this

.getservletcontext()

;

建立兩個servlet,執行session步驟

servletcontext servletcontent=request.

getservletcontext()

; servletcontent.

setattribute

("id"

,"110");

system.out.

println

(servletcontent.

getattribute

("id"))

;//得到乙個域物件

servletcontext servletcontent=

this

.getservletcontext()

; system.out.

println

(servletcontent.

getattribute

("id"))

;

分別訪問,然後更換瀏覽器繼續訪問

110

110110

110110

110

更換瀏覽器後仍然可以繼續訪問,只要伺服器不關閉資料就可以被訪問到

Servlet入門學習(三)

經過前兩篇的學習,我們知道了我們需要繼承乙個httpservlet類,並且需要重寫do post與 do get方法 在重寫過後會出現httpservletrequest request與 httpservletresponse response這麼一串串東西 它們就是我們今天主要學習的請求物件與響...

Servlet三大域物件解析

1.request request是表示乙個請求,只要發出乙個請求就會建立乙個request,它的作用域 僅在當前請求中有效。用處 常用於伺服器間同一請求不同頁面之間的引數傳遞,常應用於表單的控制項值傳遞。方法 request.setattribute request.getattribute re...

Servlet三大作用域

1.request request表示乙個請求,只要發出乙個請求就會建立乙個request,它的作用域僅在當前請求中有效,如果web元件之間需要共享同乙個請求中的資料,只能使用請求 用處 用於伺服器間同一請求不同頁面之間的引數傳遞 用於表單的控制項值傳遞 常用方法 2.session 伺服器為每個會...