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

时间:2010-02-03 03:25:48

标签: jsp web-applications session servlets

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

1 个答案:

答案 0 :(得分:19)

当然。它实际上不是一个工具,而是一个简单的代码片段。在您的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);
}

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

或者,在JSP中执行:

<c:forEach items="${sessionScope}" var="attr">
    ${attr.key}=${attr.value}<br>
</c:forEach>

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

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