Ⅰ java數據如何存入session
存入方法如下:
使用request對象獲取session,然後進行操作。
一,引入包servlet-api.jar 。
二,使用request獲取session:HttpSession session = request.getSession();
三,對session的操作:
1.session.setAttribute("key",value);2.session.getAttribute("key");3.session.removeAttribute("key");4.session.invalidate();//刪除所有session中保存的鍵
Ⅱ 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);
}
}
(2)java登錄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指定,下次瀏覽網頁時可以載入使用。
Ⅲ java的session用法
import
java.io.IOException;
import
javax.servlet.Filter;
import
javax.servlet.FilterChain;
import
javax.servlet.FilterConfig;
import
javax.servlet.ServletException;
import
javax.servlet.ServletRequest;
import
javax.servlet.ServletResponse;
import
javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;
import
javax.servlet.http.HttpSession;
import
com.fz.entity.User;
public
class
ValidatorFilter
implements
Filter
{
public
void
destroy()
{
}
public
void
doFilter(ServletRequest
arg0,
ServletResponse
arg1,
FilterChain
arg2)
throws
IOException,
ServletException
{
HttpServletRequest
request
=
(HttpServletRequest)arg0;
HttpServletResponse
response
=
(HttpServletResponse)arg1;
HttpSession
session
=
request.getSession();
User
user
=
(User)session.getAttribute("user");
//判斷用戶是否登錄,如果沒有登錄,則直接重定向至登錄頁面,
//如果登錄,則將請求交給下一個過濾器或者目標資源
if(user
==
null||user.getUserName()==null){
response.sendRedirect(request.getContextPath()+"/login.jsp");
}else{
arg2.doFilter(request,
response);
}
}
public
void
init(FilterConfig
filterConfig)
throws
ServletException
{
}
以上是filter的代碼
以下是在web.xml中的配置
<filter>
<filter-name>validatorFilter</filter-name>
<filter-class>com.fz.filter.ValidatorFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>validatorFilter</filter-name>
<url-pattern>/user/*</url-pattern>
</filter-mapping>
Ⅳ java 怎麼使用session
ttpSession session = request.getSession();
session.setAttribute("變數名", 值對象);
session.getAttribute("變數名"); //此時取出來的是Object, 一般需要強轉
session.removeAttribute("變數名");
session.invalidate(); //刪除所有session中保存的鍵
------------------------------------------------------
HttpSession是不能new出來的,
要從HttpServletRequest中調用getSession方法得到.
一般也就是request.getSession();
Ⅳ Java中Session有什麼作用
簡單通俗的講session就是象一個臨時的容器
來存放這些臨時的東西
從你登陸開始就保存在session里
當然你可以自己設置它的有效時間和頁面
舉個簡單的例子
我們做一個購書的JSP網站
顧客買書的時候會挑選出一些書
但是在付錢之前還可以修改,所以不能存到資料庫
就可以先保存在session里
等到確認了以後再放入資料庫...
Ⅵ Java:保存session實現單點登錄這里我沒看懂如何實現的
cookie據我所知,是通過鍵值對應的方式存放的。類似Map,與瀏覽器相關聯。 第一次登陸成功時,寫入到COOKie,每次登陸前,去遍歷cookie,發現存在,則直接登陸,不存在,就當是第一次,登錄時寫入。因為cookie存在被認為清除的風險。所以第一次並非真正意義上的第一次。
Ⅶ Java web 登錄 使用shiro和基於session的方式有何不同
shiro自己實現了sessionDAO換言之就是他自己也存儲了session,所以原理是一樣的。shiro的主要作用還是許可權的控制方面,標識登陸狀態這個只是其中很小的一部分。
Ⅷ 在一個java類如何通過session獲取已經登錄的用戶名
你好:
關於session獲取登錄名:
HttpSession session = ServletActionContext.getRequest().getSession();
String userId = session.getAttribute("userId");
//然後利用這個userId去查找資料庫
//加入session的方法
getHttpServletRequest().setAttribute(key, value);
久可以獲取你需要對應的KEY值了
Ⅸ Java用戶登入問題,如果用戶登入成功,我將用戶對象存放到Session里,如果多個用戶同時登入怎麼辦
第一種方式,每次登錄 都需要操作資料庫,多了一些不必要的性能開銷,而且在登錄狀態下 萬一突然電腦關閉了,那就永遠都不能登錄了,可用性比較低。
但是第二種方式就不一樣了,可操作性強,很方便維護所有在線用戶的信息。
在處理登錄的login方法中,先查詢資料庫驗證下該用戶是否存在,如果存在 判斷該登錄賬戶是否已經鎖定了, 然後從application內置作用域對象中取出所有的登錄信息,查看該username賬戶是否已經登錄,如果登錄了,就友好提示下,反之表示可以登錄,將該登錄信息以鍵值對的方式保存在application中。