由于Web浏览器的固有属性,当以某种方式完成时,例如按Ctrl + N,打开带有会话ID的新窗口。 此行为将影响Web应用程序,因为通常Web应用程序会执行request.getSession() 在上面的场景中,会话会混淆。
这将是摆脱这种情况的好方法吗? (除了告诉用户不要告诉做Ctrl + N :))
答案 0 :(得分:2)
某些Web框架明确支持多个浏览器窗口流。
E.g。 Wicket具有INewBrowserWindowListener接口以实现此功能。 Wicket为不同的浏览器窗口保留单独的页面流,将它们的状态彼此隔离。
答案 1 :(得分:1)
最接近的解决方案是MyFaces管弦乐队。它允许JSF的对话和窗口管理。
即将推出的春季发布(3.1)应该支持这个(在spring-mvc中)