回答
有一個功能request.getSession(boolean create)
參數:
create
- 真正創造必要時申請一個新的會話;假返回NULL如果沒有當前會話
因此,你可以簡單地傳遞false
告訴getSession
如果會話不存在返回null。
HttpSession session = request.getSession(true); 如果(session.isNew()){ ...做一些 }其他{ ...做別的事情 }
的.getSession(true)
本講述java如果不存在創建一個新的會話。
你可能當然也做:
if(request.getSession(false) != null){
HttpSession session = request.getSession();
}
看看:http://java.sun.com/javaee/6/docs/api/javax/servlet/http/HttpServletRequest.html
歡呼聲, 耶爾
如果你要檢查這個之前創建,那麼這樣做:
HttpSession session = request.getSession(false);
if (session == null) {
// Not created yet. Now do so yourself.
session = request.getSession();
} else {
// Already created.
}
如果你不關心這個檢查後創建,那麼你也可以這樣做:
HttpSession session = request.getSession();
if (session.isNew()) {
// Freshly created.
} else {
// Already created.
}
這節省了線路和boolean
。 request.getSession()
與request.getSession(true)
的做法相同。
定義一個類,例如SessionTimeoutIndicator,它實現了接口javax.servlet.http.HttpSessionBindingListener
。接下來創建一個SessionTimeoutIndicator對象並將其添加到用戶會話中。當會話被刪除時,Servlet引擎將調用SessionTimeoutIndicator.valueUnbound()
方法。然後您可以執行valueUnbound()
來執行所需的操作。
if(null == session.getAttribute("name")){
// User is not logged in.
}else{
// User IS logged in.
}
我想補充一點,如果你爲連接到你的網站的每個新用戶創建一個新的會話,那麼你的表現將會受到嚴重打擊。使用request.getSession(false)來檢查用戶是否有會話。如果您要根據用戶是否經過身份驗證來渲染視圖,則使用此方法不會創建新會話。
- 1. 如何檢查會話是否存在?
- 2. Symfony2:檢查會話是否存在
- 3. 檢查會話是否仍然存在
- 4. 檢查會話是否存在JSF
- 5. 檢查會話是否存在於php
- 6. 檢查是否存在會話
- 7. 在zend中,如何通過ID檢查會話是否存在?
- 8. 如何檢查會話是否超時?
- 9. Angular2 + nodejs(express) - 如何檢查會話是否存在?
- 10. 如何檢查全局會話是否存在。使用Codeigniter
- 11. 如何檢查IDP中是否存在有效會話?
- 12. 如何檢查會話是否存在於刀片中?
- 13. 如何檢查會話數組中是否存在特定值
- 14. 如何檢查會話ID是否已存在於redis
- 15. 如何檢查PHP會話是否存在$ ssid?
- 16. 如何檢查會話是否存在或不使用會話ID?
- 17. CodeIgniter:如何檢查未加載會話庫時是否存在會話
- 18. 如何檢查每個會話的會話是否有效?
- 19. 檢測PHP會話是否存在
- 20. 檢查會話存儲中是否存在JSON對象javascript
- 21. 檢查會話是否超時在jquery
- 22. 檢查會話是否記錄在symfony2
- 23. django會話檢查存在
- 24. 最佳位置寫會話代碼,以檢查是否存在會話
- 25. php通過會話數組檢查元素是否存在
- 26. 檢查會話密鑰是否存在於Laravel 5.1中?
- 27. 檢查會話是否存在php並打印'echo'
- 28. 檢查會話是否存在不起作用
- 29. php - 檢查服務器上是否存在會話文件
- 30. 批處理 - 檢查是否存在空會話連接
...最好的解釋imho ...指的是文檔,並保持專注。 – 2010-05-12 12:04:38