⑴ jsp session用法
用session給保存這個用戶信息???直接保存就行了,臨時存在session中,或者保存到資料庫中都行啊?不知道你要幹嘛
⑵ jsp中的session使用問題
session是jsp的默認對象,也就是說jsp在被編譯成servlet的時候已經初始化了session這個變數了,你可以理解為編譯器幫你加了HttpSession session = request.getSession();這一句。
但是servlet卻沒有,不要你手工獲取session。
jsp里的session和servlet里的request.getSession();是一樣的東西。
⑶ jsp中session的用法
session的值沒有傳到,我也遇到這個問題了。要是你找到解決辦法了麻煩回復我一下哈,謝謝
⑷ 怎麼在jsp界面 獲取session的值
jsp獲取action傳來的session值問題,有以下幾種方法:
比如action中有個session ("sessionid","11111111");
一、用struts標簽獲取:<s:property value="#session.sessionid"/>;
二、<%=request.getSession.getAttribute("sessionid");> session也是內置對象之一,可以直接用session,比request.getSession方便多了,也可以寫成<%=session.getAttribute("sessionid");>;
三、el表達式獲取:${sessionScope.sessionid};
如果賦值的是個bean,也是一樣的,類似於${sessionScope.bean.beansth}。
⑸ JAVA中怎麼使用session
不考慮框架下,在JAVA中使用session
大概有以下幾種使用方法:
1、前台設置:利用jsp的內置對象session進行設置。
<%
session.setAttribute("username",username);
%>
2、後台設置:
(1)Filter設置:
{
@Override
publicvoiddoFilter(ServletRequestarg0,ServletResponsearg1,FilterChainchain)throwsIOException,ServletException{
//把請求和響應對象強制轉換為HttpServlet域對象
HttpServletRequestrequest=(HttpServletRequest)arg0;
HttpServletResponseresponce=(HttpServletResponse)arg1;
HttpSessionsession=request.getSession(false);
session.setAttribute("username",username);
}
}
(2)Servlet設置:
{
//doGet()與doPost()任選
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
//創建session對象
HttpSessionsession=request.getSession(false);
session.setAttribute("username",username);
}
}
(5)jsp的session的使用方法擴展閱讀:
Session:在計算機中,尤其是在網路應用中,稱為「會話控制」。Session
對象存儲特定用戶會話所需的屬性及配置信息。
這樣,當用戶在應用程序的 Web 頁之間跳轉時,存儲在 Session
對象中的變數將不會丟失,而是在整個用戶會話中一直存在下去。
當用戶請求來自應用程序的 Web 頁時,如果該用戶還沒有會話,則 Web
伺服器將自動創建一個 Session 對象。當會話過期或被放棄後,伺服器將終止該會話。
Session
對象最常見的一個用法就是存儲用戶的首選項。例如,如果用戶指明不喜歡查看圖形,就可以將該信息存儲在 Session 對象中。
有關使用
Session 對象的詳細信息,請參閱「ASP 應用程序」部分的「管理會話」。注意 會話狀態僅在支持 cookie 的瀏覽器中保留。
session的工作原理:
1、當一個session第一次被啟用時,一個唯一的標識被存儲於本地的cookie中。
2、首先使用session_start()函數,PHP從session倉庫中載入已經存儲的session變數。
3、當執行PHP腳本時,通過使用session_register()函數注冊session變數。
4、當PHP腳本執行結束時,未被銷毀的session變數會被自動保存在本地一定路徑下的session庫中,這個路徑可以通過php.ini文件中的session.save_path指定,下次瀏覽網頁時可以載入使用。
⑹ jsp中如何使用session
Jsp的session是使用bean的一個生存期限,一般為page,session意思是在這個用戶沒有離開網站之前一直有效,如果無法判斷用戶何時離開,一般依據系統設定,tomcat中設定為30分鍾.
我們使用seesion功能,可以達到多個jsp程序從操作同一個java bean, 那麼這個java bean可以作為我們傳統意義上的"全局變數池".(在java中我們可以使用static靜態化一個變數和方法,使用singleton唯一化對象.)
在項目實踐中,我們Jsp程序中很多參數需要從資料庫中讀取,有的參數實際讀取一次就可以,如果設計成每個用戶每產生一個頁面都要讀取資料庫,很顯然,資料庫的負載很大,同時也浪費時間,雖然可能有資料庫連接池優化,但是盡量少使用資料庫是我們編程的原則.
比如,我們的test.jsp 和test1.jsp都需要得到一個參數userdir,這個userdir是從資料庫中得知,使用session將大大優化性能,程序如下:
設計一個javabean 存儲userdir.
public class UserEnv {
private String userdir = "";
private String userurl = "";
public UserEnv(){
//構建方法初始化userdir,可以從資料庫中讀取,這里簡單給值ppp
userdir="pppp";
System.out.println("init userdir, one time");
}
public String getUserdir() throws Exception{
return userdir;
}
}
test1.jsp程序:
this is test1.jsp:
test2.jsp程序:
this is test2.jsp:
無論用戶先調用test1.jsp還是test2.jsp, java bean UserEnv總是先初始化一次, 由於這個bean存在周期是seesion,因此該用戶第二次以後只要在seesion有效期內再調用,myenv.getUserdir()將直接從bean內存中讀取變數,不必再初始化.這樣提高速度,又減少資料庫訪問量.
這樣,我們就有了一個jsp程序之間共享變數或方法 的實現辦法.
⑺ Jsp中Session 怎麼用啊!
設置session的方法: session.setAttribute("變數名","變數值"); 獲取session的方法: session.getAttribute("變數名"); 必須先setsetAttribute才能有getAttribute!!! session.removeAttribute()的作用,就是刪除屬性! 例如:session.removeAttribute("lao "); //把session中"lao "這個屬性(及其值)刪除 session.invalidata(); //使session失效 session.setMaxInactiveInterval(10); //使session在10秒後失效以上一般用做實現用戶退出(logout),使用戶信息失效! session.putVaule()和session.setAttribute()的區別: session.putVaule()是以前的用法,現在用session.setAttribute(),沒什麼區別! Session對象:是用來分別保存每一個用戶信息的對象,以便於跟蹤用戶的操作狀態.Session的信息保存在服務端,Session的ID保存在客戶機的Cookie中.事實上,在許多伺服器上,如果瀏覽器支持Cookies的話就直接使用Cookies.但是如果不支持或廢除了Cookies的話就自動轉化為URL-rewriting , Session自動為每一個流程提供了方便地存儲信息的方法.不同的用戶對應的Session對象一般是不同的.例如當用戶登錄站點時,系統就會為他建立一個與其他不相的Session對象,以便於區別其他用戶.這個Session對象記錄該用戶的個人信息,而當該用戶退出網站時,該Session對象就會隨之消失.
⑻ JSP中怎樣用session保存並驗證用戶登錄信息
1、實現session中是鍵值對的方法代碼。
注意事項:
JSP將Java代碼和特定變動內容嵌入到靜態的頁面中,實現以靜態頁面為模板,動態生成其中的部分內容。JSP引入了被稱為「JSP動作」的XML標簽,用來調用內建功能。
⑼ JSP內置session對象的調用方法
JSP內置session對象的調用方法
JSP就是Java,只是它是一個特別的Java語言,加入了一個特殊的引擎,這個引擎將HTTPServlet這個類的一些對象自動進行初始化好讓用戶使用,而用戶不用再去操心前面的工作。下面我准備了關於JSP內置session對象的調用方法,提供給大家參考!
application對象不同。application對象用於在多個程序之間保存信息,application對象只有一個,它可以綁定若干個相當於全局變數的參數或者Java對象,每個JSP程序所訪問的都是application對象的一個同步副本,都是一樣的,而且application對象的生命周期貫穿伺服器的整個運行周期。但是,伺服器上的session對象卻可以有多個,不同的用戶所面臨的session對象一般來說是不同的,當用戶登錄網站,系統將為他生成一個獨一無二的session對象,用以記錄該用戶的個人信息,一旦該用戶退出網站,那麼該session對象將會被注銷。session對象也可以綁定若干個參數或者Java對象,這些參數或者Java對象就相當於局部變數,不同session對象間的同名變數是不會相互干擾的。應用session對象的功能,可以十分簡單地實現購物車等功能。
但是我們僅能獲取原session對象的一個同步副本,這一點上,session對象和application對象是一致的。application對象和session對象並非不能被創建,但是,他們只能夠由JSP引擎自動創建。application對象在伺服器啟動的時候被創建,在伺服器關閉時被刪除,session對象在新的HTTP連接產生時被創建,在HTTP連接中斷或者超時的時候被刪除,同時,JSP程序員也可以調用invalidate()方法強行刪除session對象,中斷HTTP連接。這是application對象和session對象的不同點之一。
session對象概要其主要關鍵點是:
· HTTP是無狀態(stateless)協議;
· Web Server 對每一個客戶端請求都沒有歷史記憶;
· Session用來保存客戶端狀態信息;
· 由Web Server 寫入;存於客戶端;
· 客戶端的每次訪問都把上次的session記錄傳遞給Web Server;
· Web Server讀取客戶端提交的session來獲取客戶端的
狀態信息;
Session對象的獲取方法:
1)使用session關鍵字直接引用session對象
2)使用request對象的getSession()方法
使用request對象的getSession()方法可以返回HttpSession介面的實例對象,也就是session對象,注意,這個新獲得的HttpSession對象不能夠被命名為session,因為session是JSP引擎自動創建的當前session對象的一個同步副本。
首先使用getSession()方法獲取HttpSession對象——mysession,然後輸出它的id,同時也輸出session的id,程序4-18的運行結果證明了這兩個id是一樣的,要注意的是每個用戶的session對象的`id是不同的(伺服器就靠不同的id鑒別不同的session對象),而且每個用戶只能夠有一個session對象,無論mysession還是session,都是當前session對象的一個同步副本。
3)使用PageContext對象的getSession()方法
使用pageContext對象的getServletContext()方法可以獲得application對象的副本,同樣,使用pageContext對象的getSession()方法也可以獲取session對象的一個副本。
程序段得到的三個結果都是相同的。
;⑽ jsp中session有哪些方法,都怎麼用
Jsp的session是使用bean的一個生存期限,一般為page,session意思是在這個用戶沒有離開網站之前一直有效,如果無法判斷用戶何時離開,一般依據系統設定,tomcat中設定為30分鍾.
我們使用seesion功能,可以達到多個jsp程序從操作同一個java bean, 那麼這個java bean可以作為我們傳統意義上的"全局變數池".(在java中我們可以使用static靜態化一個變數和方法,使用singleton唯一化對象.)
在項目實踐中,我們Jsp程序中很多參數需要從資料庫中讀取,有的參數實際讀取一次就可以,如果設計成每個用戶每產生一個頁面都要讀取資料庫,很顯然,資料庫的負載很大,同時也浪費時間,雖然可能有資料庫連接池優化,但是盡量少使用資料庫是我們編程的原則.
比如,我們的test.jsp 和test1.jsp都需要得到一個參數userdir,這個userdir是從資料庫中得知,使用session將大大優化性能,程序如下:
設計一個javabean 存儲userdir.
public class UserEnv {
private String userdir = "";
private String userurl = "";
public UserEnv(){
//構建方法初始化userdir,可以從資料庫中讀取,這里簡單給值ppp
userdir="pppp";
System.out.println("init userdir, one time");
}
public String getUserdir() throws Exception{
return userdir;
}
}
test1.jsp程序:
this is test1.jsp:
test2.jsp程序:
this is test2.jsp:
無論用戶先調用test1.jsp還是test2.jsp, java bean UserEnv總是先初始化一次, 由於這個bean存在周期是seesion,因此該用戶第二次以後只要在seesion有效期內再調用,myenv.getUserdir()將直接從bean內存中讀取變數,不必再初始化.這樣提高速度,又減少資料庫訪問量.
這樣,我們就有了一個jsp程序之間共享變數或方法 的實現辦法