1.2 Servlet Finalizar Sessão

package br.aiec;

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(name = "FinalizarSessao", urlPatterns = "/finalizarSessao")
public class FinalizarSessaoDemoServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException,               IOException {

        HttpSession session = request.getSession(false);

        PrintWriter out = response.getWriter();
        out.println("<!DOCTYPE html>");
        out.println("<html>");
        out.println("<head>");
        out.println("<title> Finzaliar Sessão </title>");
        out.println("</head>");
        out.println("<body>");

        if (session != null) {
            String sessionID = session.getId();
            session.invalidate();
            out.println("<h1 align='center'>Sessão de ID "+ sessionID + "            foi encerrada!</h1>");
            out.println("Para obter uma nova sessão clique no link        abaixo!");

        } else {
            out.println("Não existe nenhuma sessão registrada! Para se         registrar clique no link abaixo!");
        }

        out.println("<br /> <a href='iniciarSessao'> Obter Sessão</a>");

        out.println("</body>");
        out.println("</html>");
    }
}

Observe que o servlet acima utiliza o método “getSession” da interface “javax.servlet.http.HttpServletRequest” sempre com o parâmetro “false”. Isso significa que o método somente retornará uma sessão se ela já existir, caso contrário retornará NULL. Desta forma, o servlet acima obtém apenas sessões pré-existentes, o que significa que ele, por completo ou apenas em partes, pode ser considerado um componente de acesso restrito nesta aplicação web composta por dois servlets. Isso quer dizer que o usuário apenas verá a mensagem restrita com o ID da sessão se houver uma sessão preexistente.

Copyright © 2014 AIEC.