我有一個應用程序使用Struts2 jsp和java..sessionid是由container.I創建我想創建我自己的會話ID並設置爲該特定會話...只是想覆蓋。我也創建了一個過濾器。會議id.any線索在struts2或j2ee應用程序中創建自己的會話ID
像
session.setSessionId()
感謝..
我有一個應用程序使用Struts2 jsp和java..sessionid是由container.I創建我想創建我自己的會話ID並設置爲該特定會話...只是想覆蓋。我也創建了一個過濾器。會議id.any線索在struts2或j2ee應用程序中創建自己的會話ID
像
session.setSessionId()
感謝..
你可以做到這一點使用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;
}
結果
你會給一些代碼片段嗎?順便說一下,會話ID是由Container生成的,而不是由Cookie生成的。請仔細閱讀 – user1126046 2012-04-16 09:06:09
你在那裏?請給我一些代碼 – user1126046 2012-04-16 10:03:03
我現在沒有時間了,但我會在家中檢查這一個。 – mprabhat 2012-04-16 10:11:59
什麼是你的用例?你想做什麼,爲什麼? – 2012-04-16 15:05:55