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) & ..()
getSession() returns the valid session object associated with the request, identified in the session cookie that is encapsulated in the request object. Calling the method with no arguments creates a session if one does not exist that is associated with the request.
- getSession(true) will check whether a session already exists for the user. If yes, it will return that session object else it will create a new session object and return it.
request. getSession(false) will return current session if current session exists. If not, it will not create a new session. Follow this answer to receive notifications.
The getSession() method with 'true' as its parameter [ getSession(true) ] it will return the appropriate session object when. getSession() method is a part of HTTP which is in itself a stateless protocol. It doesn't provides a way for a server to recognize which client is using what part of the application.
request.getSession() will return a current session. if current session does not exist, then it will create a new one.
request.getSession(true) will return current session. If current session does not exist, then it will create a new session.
So basically there is not difference between both method.
request.getSession(false) will return current session if current session exists. If not, it will not create a new session.
request.getSession() is just a convenience method. It does exactly the same as request.getSession(true).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With