2010-02-03 15 views
8

Uso jsp/Servlets para mi capa web. ¿Hay alguna herramienta para examinar los atributos de sesión en una sesión web?¿Alguna herramienta para ver los atributos de la sesión web?

+1

No estoy seguro del contexto de su pregunta, ¿puede dar más detalles? Si puede depurar su aplicación en su IDE, entonces debería poder establecer un punto de interrupción y ver qué hay en la sesión. –

+0

Sí, estás en lo correcto. Pero quiero verificarlo desde el navegador. –

Respuesta

17

Por supuesto. No es realmente una herramienta, sino un simple fragmento de código. En algún lugar de un servlet/JSP/filtro de los suyos agregar lo siguiente:

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); 
} 

y usted tendrá todos los atributos de la sesión sobre la consola.

Alternativamente, en JSP hacer:

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

Esto imprimirá todos los atributos de la sesión en la página.

Actualización: Resulta que tiene una comprensión incorrecta de la sesión. Los datos de la sesión están en el lado del servidor. El cliente solo tiene un identificador único por el cual se refieren sus datos en el servidor. Este identificador suele ser la "cookie de sesión", pero también puede ser parte de la URL (JSESSIONID). Entonces el cliente no puede ver el contenido de la sesión directamente. Si desea que sus atributos de sesión se muestren con valores significativos (diferente de su código hash) anule su método toString().

+0

Gracias, esta fue la solución que también se me ocurrió finalmente, pero ¿no hay una herramienta (como el complemento de Firefox) que pueda hacer esto? (porque si un navegador puede borrar los atributos de la sesión ¿por qué no puede mostrarlos?) Además, si el atributo es un objeto, utilizando esta técnica, solo mostrará el código hash de ese objeto. –

+0

Parece que está malinterpretando el concepto de sesión. ver la actualización mu – Bozho

+0

Entiendo que los datos de la sesión están del lado del servidor, pero lo que estoy preguntando es si podemos ver las variables de la sesión sin tener código (como los que hemos dado arriba) en el lado del servidor? Por ejemplo, ¿podemos ver las variables de sesión de stackoverflow.com? También para evitar el código hash es anular toString() que entiendo. pero lo que quiero es desglosar un objeto para ver sus objetos secundarios y sus objetos secundarios ... –

Cuestiones relacionadas