user1126046
user1126046

Reputation: 37

create your own session id in struts2 or j2ee app

I have an app using Struts2 jsp and java..sessionid is created by container.I want to create my own session id and set to that particular session...just want to overwrite.I have aslo created a filter. session id.any clue

something like

session.setSessionId()

thanks..

Upvotes: 0

Views: 1361

Answers (1)

mprabhat
mprabhat

Reputation: 20323

You can do this using CookieInterceptor which can implement CookiesAware and then intercept the call to set your own sessionId.

Edit:

Just realized CookieInterceptor doesnt allow you to set a cookie, so I did something like this

In my execute method of my Action I did this:

public String execute() {
        String jSessionId = null;
        for (Cookie c : httpServletRequest.getCookies()) {
            if (c.getName().equals("JSESSIONID"))
                jSessionId = c.getValue();
        }
        System.out.println("Value Found In Request = " + jSessionId);
        jSessionId = "TestingOverrideOfJSessionId";
        Cookie myCookie = new Cookie("JSESSIONID", jSessionId);
        myCookie.setMaxAge(60 * 60 * 24 * 365); // Make the cookie last a year
        httpServletResponse.addCookie(myCookie);

        return SUCCESS;
    }

Result

SessionId Override

Upvotes: 1

Related Questions