Ali Khan Ali Khan - 1 month ago 8
Java Question

Difference between request.getSession() and request.getSession(true)

I understand the difference between

request.getSession(true)
and
request.getSession(false)
. But
request.getSession()
&
request.getSession(true)
look very similar!

Both "return the current session associated with this request", but differ in:

request.getSession()
:




"or if the request does not have a session, creates one"


request.getSession(true)
:




"if there is no current session, returns a new session"


I don't understand the difference between them, is it that (if none exists) they create a new session but the first one doesn't return it but the second one does?

Source: http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html

Edit:

Someone tagged/marked my question as duplicate even though it isn't. I will explain why.

I have explicitly asked for the difference between
request.getSession()
&
request.getSession(true)
and NOT between
request.getSession(true)
&
request.getSession(false)
! I have stated , again explicitly, that I already understand the difference b/w
..(true)
&
..(false)
.

The question linked as a possible duplicated of of asks about the difference b/w
..(true)
&
..(false)
and not
..(true)
&
..()

Jan Jan
Answer

request.getSession() is just a convenience method. It does exactly the same as request.getSession(true).