任何查看Web会话属性的工具?

ruw*_*era 9 session jsp servlets web-applications

我在我的web层使用jsp/Servlets.是否有任何工具可以检查Web会话中的会话属性?

Boz*_*zho 20

当然.它实际上不是一个工具,而是一个简单的代码片段.在您的servlet/jsp/filter中的某处添加以下内容:

Session session = request.getSession();
Enumeration attributeNames = session.getAttributeNames();
while (attributeNames.hasMoreElements()) {
    String name = attributeNames.nextElement();
    String value = session.getAttribute(name);
    System.out.println(name + "=" + value);
}
Run Code Online (Sandbox Code Playgroud)

并且您将在控制台上打印会话的所有属性.

或者,在JSP中:

<c:forEach items="${sessionScope}" var="attr">
    ${attr.key}=${attr.value}<br>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

这将打印页面上会话的所有属性.

更新:事实证明你对会话有错误的理解.会话数据位于服务器端.客户端仅保存唯一标识符,通过该标识符在服务器上引用其数据.此标识符通常是"会话cookie",但也可以是URL(JSESSIONID)的一部分.所以客户端无法直接看到会话的内容.如果希望会话属性显示为具有平均值(与其哈希码不同),则覆盖其toString()方法.