在web開發中,經常需要使用session來儲存特定使用者的資訊,在我們的程式中很多地方散落著類似下面的語句:
intuserage =(
int)
this
.session[
"userage"];
我們知道,session中存放的是鍵值對,鍵是string型別的,如果我們一不小心把上面的語句寫成這樣:
intuserage =(
int)
this
.session[
"use
age"];
編譯期不會發現這個錯誤,但執行時一定會丟擲異常,這是在程式中直接操作session可能引發的問題之一。另外,每次獲取userage的時候都要寫**進行強制轉換,感覺很繁瑣。我們需要乙個解決方案來解決這些問題。我的做法是引入乙個session的包裝,使之物件化、強型別化。就像接下來的例子一樣:
//某使用者上傳的所有
public
arraylist piclist
return
(arraaylist)
this
.cursession[
"piclist"];
} }//
清空列表
public
void
clearallpics() }
這樣,我們用起來就非常方便了:
sessionhelper sessionhelper
=sessionhelper.createinstance(
this
.session);
arraylist piclist
=sessionhelper.piclist;
//處理piclist中的
sessionhelper.clearallpics();
引入這一層包裝,可以使我們的程式的可讀性、可維護性更好,而且將原來的一些執行期的錯誤提前到了編譯期,這也是強型別帶來的好處。
包裝你的Session,使Session物件化
在web開發中,經常需要使用session來儲存特定使用者的資訊,在我們的程式中很多地方散落著類似下面的語句 intuserage int this session userage 我們知道,session中存放的是鍵值對,鍵是string型別的,如果我們一不小心把上面的語句寫成這樣 intuser...
session中的cookies設定及使用
下面是用flask做的乙個服務端,用來設定cookie以及列印請求時的請求頭 coding utf 8 from flask import flask,make response,request a1 defa1 print request.headers rp make response rp.s...
Cookie和Session的特點及其使用
cookie和session均為會話技術 什麼是會話技術 會話是瀏覽器和伺服器之間的多次請求和響應 為了實現某乙個功能 比如買東西 瀏覽器和伺服器之間可能會產生多次的請求和響應,從瀏覽器訪問伺服器開始,到訪問伺服器結束,瀏覽器關閉為止,這期間產生的多次請求和響應加在一起就稱之為瀏覽器和伺服器之間的一...