2012-05-15 46 views
0

在Servlet中使用HttpServletRequest.getSession()方法時,我意識到Servlet API的官方文檔表明HttpServletRequest.getSession()在當前會話已過期時返回一個新的會話對象或已經失效。request.getSession()和request.getSession(boolean createNew)的意義

此外,HttpServletRequest.getSession(boolean createNew)返回一個新的會話,當createNew爲真,並且如果上一個會話不再存在。

通常,IMO在設計API時,如果前一個會話無效並且HttpServletRequest.getSession()返回現有會話(如果存在),則會設計這些方法爲HttpServletRequest.getSession(true),否則返回null。

是否有任何與API中這一顯着差異有關的特定原因?

回答

0

應用程序更可能需要當前會​​話或創建新會話,而不是僅噹噹前會話存在時才創建新會話。 Servlet EG選擇的API因此被編寫成它的樣子。

相關問題