You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Lukasz Lenart (JIRA)" <ji...@apache.org> on 2018/01/31 06:22:00 UTC

[jira] [Updated] (WW-4741) Http Sessions forcefully created for all requests using I18nInterceptor with default Storage value.

     [ https://issues.apache.org/jira/browse/WW-4741?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lukasz Lenart updated WW-4741:
------------------------------
    Fix Version/s:     (was: 2.5.12)
                   2.5.15

> Http Sessions forcefully created for all requests using I18nInterceptor with default Storage value.
> ---------------------------------------------------------------------------------------------------
>
>                 Key: WW-4741
>                 URL: https://issues.apache.org/jira/browse/WW-4741
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.5.10
>            Reporter: Adam Greenfield
>            Assignee: Lukasz Lenart
>            Priority: Major
>             Fix For: 2.5.15
>
>
> Changes made in WW-4730 for store and read functions cause an httpSession to be created for every request that uses I18nInterceptor when storage = Storage.SESSION.
> Current code checks for 
> {noformat}Map<String, Object> session = invocation.getInvocationContext().getSession(){noformat}
> to be null and then calls 
> {noformat}ServletActionContext.getRequest().getSession(){noformat}
> (notice how the second one references the HttpServletRequest.  The HttpServletRequest Session and and the InvocationContext session are different.  The request's session can be null, even if the InvocationContext's session is not). 
> Calling .getSession() in this manner forcefully creates a session.
>  An appropriate check here might be 
> {noformat}HttpSession httpSession = ServletActionContext.getRequest().getSession(false); 
> if(httpSession != null) {
> ... // get sessionId and synchronize on it
> }
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)