內建物件學習1

2022-09-13 04:39:11 字數 3647 閱讀 6941

感謝顏群老師的指點,博主特別喜歡他,感覺乾貨滿滿,分享給大家

提供的方法:

void addcookie( cookie cookie ); 服務端向客戶端增加cookie物件

void sendredirect(string location ) throws ioexception; :頁面跳轉的一種方式(重定向)

void setcontettype(string type):設定服務端響應的編碼(設定服務端的contenttype型別)

示例:登陸

ogin.jsp -> check.jsp ->success.jsp

請求**

重定向位址列是否改變

不變(check.jsp)

改變(success.jsp)

是否保留第一次

保留不保留

請求的次數12

跳**生的位置

服務端客戶端發出的第二次跳轉

**、重定向:

**:

張三(客戶端) -> 【 服務視窗 a (服務端 ) -> 服務視窗b 】

重定向:

張三(客戶端) -> 服務視窗 a (服務端 ) ->去找b

張三(客戶端) -> 服務視窗 b (服務端 ) ->結束

string getname():獲取name

string getvalue():獲取value

void setmaxage(int expiry);最大有效期 (秒)

服務端準備cookie:

response.addcookie(cookie cookie)

頁面跳轉**發,重定向)

客戶端獲取cookie: request.getcookies();

a.服務端增加cookie :response物件;客戶端獲取物件:request物件

b.不能直接獲取某乙個單獨物件,只能一次性將 全部的cookie拿到

通過f12可以發現 除了自己設定的cookie物件外,還有乙個name為 jsessionid的cookie

建議 cookie只儲存 英文數字,否則需要進行編碼、解碼

使用cookie實現 記住使用者名稱 功能

session :會話

a.瀏覽**:開始-關閉

b.購物: 瀏覽、付款、退出

c.電子郵件:瀏覽、寫郵件、退出

開始-結束

客戶端第一次請求服務端時,(jsessionid-sessionid)服務端會產生乙個session物件(用於儲存該客戶的資訊);

每個session物件 都會有乙個唯一的 sessionid( 用於區分其他session);

服務端由會 產生乙個cookie,並且 該cookie的name=jsessionid ,value=服務端sessionid的值;

服務端會在 響應客戶端的同時 將該cookie傳送給客戶端,至此 客戶端就有了 乙個cookie(jsessionid); 客戶端的cookie就可以和服務端的session一一對應(jsessionid - sessionid)

客戶端第二/n次請求服務端時:服務端會先用客戶端cookie種的jsessionid 去服務端的session中匹配sessionid,如果匹配成功(cookie jsessionid和sesion sessionid),說明此使用者 不是第一次訪問,無需登入;

session:

session儲存在服務端

session是在 同乙個使用者(客戶)請求時 共享

實現機制:第一次客戶請求時 產生乙個sessionid 並複製給 cookie的jsessionid 然後發給客戶端。最終 通過session的sessionid-cookie的jsessionid

session方法:

string getid() :獲取sessionid

boolean isnew() :判斷是否是 新使用者(第一次訪問)

void invalidate():使session失效 (退出登入、登出)

void setattribute()

object getattribute();

void setmaxinactiveinterval(秒) :設定最大有效 非活動時間

int getmaxinactiveinterval():獲取最大有效 非活動時間

示例:

登入客戶端在第一次請求服務端時,如果服務端發現 此請求沒有 jsessionid,則會建立乙個 name=jsesionid的cookie 並返回給客戶端

cookie:

不是內對物件,要使用必須new

但是,服務端會 自動生成乙個(服務端自動new乙個cookie) name=jsesionid的cookie 並返回給客戶端

cookie和session的區別:

session

cookie

儲存的位置

服務端客戶端

安全性較安全

較不安全

儲存的內容

object

string

string getcontextpath() 虛擬路徑

string getrealpath(string name): 絕對路徑(虛擬路徑 相對的絕對路徑)

jsp9大內建物件

pagecontext jsp頁面容器

request 請求物件

session 會話物件

response 響應物件

config 配置物件(伺服器配置資訊)

out 輸出物件

page 當前jsp頁面物件(相當於j**a中的this)

exception 異常物件

以上4個物件共有的方法:

object getattribute(string name):根據屬性名,或者屬性值

void setattribute(string name,object obj) :設定屬性值(新增,修改)

setattribute(「a」,「b」) ;//如果a物件之前不存在,則新建乙個a物件 ;

如果a之前已經存在,則將a的值改為b

void removeattribute(string name):根據屬性名,刪除物件

->多個專案共享、重啟後仍然有效 :jndi

以上的4個範圍物件,通過 setattribute()複製,通過getattribute()取值;

以上範圍物件,盡量使用最小的範圍。因為 物件的範圍越大,造成的效能損耗越大。

1 內建物件

一 math物件 1 絕對值 math.abs 2 三個取整方法 math.floor 地板 向下取整 往小了取值 math.ceil 天花板 向上取整 往大了取值 math.round 四捨五入 其他數字都是四捨五入,但是 5 特殊,它往大了取值 例 math.round 1.5 1 math.r...

Python學習筆記1 內建物件介紹

1.數字 1234,3.14,3 4j ps 不用去宣告變數名及其型別。2.字串 asdsa i m meliodas.she said hello to you.3.列表 1,2,3 a b c 1,2,3,4 1,a 3,t ps python中沒有二維陣列,若需要簡單地用到二維陣列,除了物件導...

Jsp中內建物件(1)

jsp的內建物件是指在web容器中建立的一組物件,既不需要使用new關鍵字建立,就可以使用的一組物件。例如 int s for int i s 我們可以看到上例中的out就是乙個內建物件,不需要new,即可直接使用。首先來看最常見的一組物件,request物件和response物件 request物...