En mi aplicación web, debo verificar que la sesión ya exista o no.comprobación de sesión en servlet y jsp
quiero comprobar esto en mi servlet y en jsp también.
hay alguna manera de verificar esto.
Gracias
En mi aplicación web, debo verificar que la sesión ya exista o no.comprobación de sesión en servlet y jsp
quiero comprobar esto en mi servlet y en jsp también.
hay alguna manera de verificar esto.
Gracias
Puede probarlo con HttpServletRequest#getSession(boolean create)
con create=false
. Devolverá nulo si aún no se ha creado.
HttpSession session = request.getSession(false);
if (session == null) {
// Session is not created.
} else {
// Session is already created.
}
Si realmente desea crear la sesión de todos modos si no existe, entonces simplemente agarrarlo y probar la frescura utilizando HttpSession#isNew()
:
HttpSession session = request.getSession();
if (session.isNew()) {
// Session is freshly created during this request.
} else {
// Session was already created during a previous request.
}
Así fue como lo haría en una Servlet. En un JSP solo puedes probar la frescura con la ayuda de JSTL y EL. Puede tomar la sesión por PageContext#getSession()
y luego simplemente llame al isNew()
.
<c:if test="${pageContext.session.new}">
<p>Session is freshly created during this request.</p>
</c:if>
o
<p>Session is ${pageContext.session.new ? 'freshly' : 'already'} created.</p>
Una forma de hacerlo es establecer un identificador de sesión en el JSP y compruebe el mismo ID de sesión en el otro servlet JSP o para comprobar si está vivo o no.
HttpSession session = req.getSession();
session.getId();