存储会话变量的位置以及我们如何看待?

时间:2012-03-22 16:48:07

标签: jsp

在jsp中我们可以创建cookie和session.We可以看到cookie,因为它们存储在客户端.Session变量存储在服务器端,我们如何看到会话变量?我想要有关会话和cookie的完整信息

2 个答案:

答案 0 :(得分:1)

在JSP中,您可以按如下方式遍历所有cookie和会话属性:

<h2>Cookies</h2>
<dl>
    <c:forEach items="${cookie}" var="cookieEntry">
        <dt><c:out value="${cookieEntry.key}" /></dt>
        <dd><c:out value="${cookieEntry.value.value}" /></dd>
    </c:forEach>
</dl>

<h2>Session attributes</h2>
<dl>
    <c:forEach items="${sessionScope}" var="sessionEntry">
        <dt><c:out value="${sessionEntry.key}" /></dt>
        <dd><c:out value="${sessionEntry.value}" /></dd>
    </c:forEach>
</dl>

(是的,${cookieEntry.value.value}是正确的; ${cookie}Map<String, Cookie>,每次迭代都会返回一个Map.Entry实例,其中getKey()getValue()方法,实际Cookie值的$ {cookieEntry.value} thus returns a Cookie object which in turn also has a getValue()`方法)

请注意,有关会话属性的信息在客户端可用。客户端只提供cookie信息(通过HTTP响应头)。因此,请确保您不将敏感信息存储在Cookie中,而只保存在会话中。要详细了解这一切是如何运作的,请参阅How do servlets work? Instantiation, sessions, shared variables and multithreading

答案 1 :(得分:0)

您可以从这里学习Jsp调试技术:http://www.tutorialspoint.com/jsp/jsp_debugging.htm

基本上,我认为最简单直接的方法是使用 System.out.print()