3.3 HistoricoLivroVisitasDemoServlet.java

package br.aiec;

import java.io.IOException;
import java.util.LinkedList;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(name="HistoricoLivroVisitas", urlPatterns="/historicoLivroVisitas.do")
public class HistoricoLivroVisitasDemoServlet extends HttpServlet {

  private List<Pessoa> historicoVisitantes = new LinkedList<Pessoa>();
  
  @Override
  public void init() throws ServletException {
      //Compartilhando a lista de histórico no contexto da aplicação
      getServletContext().setAttribute("historyVisits", historicoVisitantes);
  }
  
  @Override
  protected void doPost(HttpServletRequest request, HttpServletResponse response)
          throws ServletException, IOException {
      
      //Recuperando o bean criado na JSP
      Pessoa pessoaBean = (Pessoa)request.getAttribute("pessoaBean");
      
      //Adicionando o bean ao historico de visitantes
      historicoVisitantes.add(pessoaBean);
      
      //Redirecionando para uma JSP exibir o histórico de visitantes
      RequestDispatcher dispatcher = request.getRequestDispatcher("ExibirHistorico.jsp");
      dispatcher.forward(request, response);
  }
}
?>

Observe que a classe Pessoa teve que incorporar os métodos de conversão/formatação da data. Isso foi necessário, pois todo o código de scriptlet foi retirado da página “BeanPessoaLivroVisitas.jsp”. No próximo módulo, utilizaremos as tags específicas da JSTL para formatar a data sem scriptlets. Por ora, manteremos, temporariamente, a referida funcionalidade na classe “Pessoa”.

Copyright © 2014 AIEC.