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”.