package io.bitbucket.NombreDeUsuario.jee08.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; import io.bitbucket.NombreDeUsuario.jee08.utilities.SesionHttp; @WebServlet("/invalidar-o-cerrar-sesion") public class ServletInvalidarCerrarSesion extends HttpServlet { private String generarDocumentoHtml() { 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("
"); documentoHtml.append("

¡Ha invalidado o cerrado 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 sesionCerrada = false; if (SesionHttp.iniciada(request)) { HttpSession sesionActual = request.getSession(); synchronized (sesionActual) { sesionActual.invalidate(); sesionCerrada = true; } } if (sesionCerrada) { /* Se le envía al cliente un documento HTML */ response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); PrintWriter salida = response.getWriter(); salida.println(this.generarDocumentoHtml()); } else { /* Se le redirecciona al cliente al "inicio" */ response.sendRedirect("index.html"); } } }