我有一个使用Struts2 jsp的应用程序,而java..sessionid是由container创建的。我想创建自己的会话ID并设置为该特定会话...只想覆盖。我已经创建了一个过滤器。会话id.any线索
类似
session.setSessionId()
感谢..
答案 0 :(得分:1)
您可以使用可以实现CookieInterceptor的CookiesAware执行此操作,然后拦截调用以设置您自己的sessionId。
编辑:
刚刚意识到CookieInterceptor不允许你设置cookie,所以我做了类似的事情
在我Action
的执行方法中,我这样做了:
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;
}
结果