❶ java web的怎麼通過sessionid得到session
在回答問題之前,跟你簡單介紹Session的工作原理:
不需要寫手動寫SessionID:
代碼如下:
HttpSessionsesion=Request.getSesion();
if(session!=null){
//如果sessionID不等於空版,則說明是權第二次訪問
//寫第二次訪問時的代碼
}else{
//寫第一次訪問的代碼
}
javaweb怎麼通過sessionid得到session這個我們不需要了解,就是第二次客戶端發出請求時,將sessionid也發給了伺服器,伺服器根據這個唯一的ID找到相應的session(session都是保存在伺服器的資料庫中,每個session用唯一一個ID所標識),就像是資料庫中根據關鍵字查找數據一樣,找到之後就可以直接用這個session裡面的數據了。
❷ ssh2 Java web 我是用姓名和密碼登陸的,想在登陸的LoginAction同時用session獲取該姓名的ID
第一步:登錄,將用戶對象或者id存放在session,你那個放的是loginid,那就loginid咯。
第二步:點擊<a href="FindExamineeByIDAction?examineeid=${session.loginid }">,跳轉到一個action,這個action不幹什麼,就取得loginid,然後獲取loginid所屬對象,然後放在值棧,假設用戶對象為User,那麼就ActionContext.getContext().getValueStack().push(User);然後return到修改頁面
舉個例子,我現在已經點擊了帶有loginid參數的<a>標簽,然後到一個UserAction中的GoToUpdatePage()方法中去,方法裡面的代碼為
User user = this.userService.getEntryById(loginid);//此處表示根據loginid獲取對象,loginid怎麼從前台傳過來的你應該知道吧,如果不知道那建議你重新看一下struts2的教程。
ActionContext.getContext().getValueStack().push(user);
return updateUI;//updateUI的結果集值是跳轉到修改頁面的jsp。
在修改頁面的jsp中,你應該知道怎麼取值把,直接去$(name),$(age),等等,都是Use的屬性,直接寫就行了。
❸ java如何獲取sessionid
這個功能老版本servlet規范中有,新版本中好像被屏蔽了。可以換一種做法,寫一個session監聽。創建時將session
id與session對象構造一個hashMap放到
application中去,銷毀時從application中移除。然後你就可以獲取了。