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("
");
documentoHtml.append("
ServletInvalidarCerrarSesion
");
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");
}
}
}