package io.bitbucket.NombreDeUsuario.jee04.servlets; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; @WebServlet( urlPatterns = { "/ServletInvalidarCerrarSesion", "/invalidar-o-cerrar-sesion" } ) public class ServletInvalidarCerrarSesion extends HttpServlet { private String generarDocumentoHtml(boolean sesionInvalidadaCerrada) { StringBuffer documentoHtml = new StringBuffer(); documentoHtml.append(""); documentoHtml.append(""); documentoHtml.append(""); documentoHtml.append(""); documentoHtml.append("ServletInvalidarCerrarSesion"); documentoHtml.append(""); documentoHtml.append(""); documentoHtml.append(""); documentoHtml.append(""); documentoHtml.append("
"); documentoHtml.append("
"); documentoHtml.append("

ServletInvalidarCerrarSesion

"); documentoHtml.append("
"); documentoHtml.append("
"); documentoHtml.append(""); documentoHtml.append("
"); documentoHtml.append("
"); if (sesionInvalidadaCerrada) { documentoHtml.append("

¡Ha invalidado o cerrado una sesión!

"); } else { documentoHtml.append("

¡No ha creado o iniciado una sesión!

"); } documentoHtml.append("
"); documentoHtml.append("
"); documentoHtml.append(""); documentoHtml.append(""); return documentoHtml.toString(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { boolean sesionInvalidadaCerrada; HttpSession sesion = request.getSession(false); if (sesion == null) { /* Sesión no existente */ sesionInvalidadaCerrada = false; } else { /* Sesión ya existente */ sesionInvalidadaCerrada = true; HttpSession sesionActual = request.getSession(); synchronized (sesionActual) { sesionActual.invalidate(); } } response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); PrintWriter salida = response.getWriter(); salida.println(this.generarDocumentoHtml(sesionInvalidadaCerrada)); } }