如题, 我想获取容器维护的所有Sesion 请问这个API是否存在
------解决思路----------------------
没有这个API,不过一种解决方案是你可以手动设置一个集合存所有用户的session
------解决思路----------------------
自己存的自己可以取得,但是只有通过getSession("key"); 别人的session是不可能得到的------解决思路----------------------
基于安全的原因,不会有这样的 API,你的程序只能自己用 HttpSessionListener 在 session 创建时把它存起来。
Servlet 有几种 Listener 其中就包括一种 session listener,在 web.xml 中配置它。
------解决思路----------------------
想取容器维护的所有 session 这种说法不切实际。因为 session 本身是服务器维护的,从服务器角度讲,所有的程序是共用同一个内存,数据应该互相分离防止安全漏洞,但为了让用户在服务器上一次登录到处使用,服务器又希望这些 session 本身是同一个。因此服务器的设计可以考虑很多种方案,也就说,服务器维护的所有 session 既包括当前应用程序的也包括其它应用程序的,而从安全角度讲我们当然只能拿到当前应用程序相关的数据,我想你指的也是当前的应用程序,当服务器让所有程序使用相同的 session 时(当然服务器会保证不同应用程序之间不会访问到别人的数据),你这说法就不准确了。