【发布时间】:2013-01-09 17:55:42
【问题描述】:
我正在开发 Java Servlet。在检查用户是否登录时,我想检查 HTTP 请求是否具有有效会话。为了检查这一点,我有两种可能性:
(1)
protected void processRequest(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession(false);
if (session != null) {
// user is logged in
...
}
}
由于我将 false 作为参数传递,如果不存在有效会话,则不会创建新会话,并且函数返回 null,我可以检查。
或者我愿意:
(2)
if (request.isRequestedSessionIdValid()) {
// user is logged in
...
}
有什么区别,有什么优势/劣势吗?还是这两个函数的作用大致相同?
【问题讨论】:
标签: java servlets httprequest