dc - uel Java Servlets Sylvio Barbon Jr <[email protected]> 4 décembre 2015 l a b o r a t ó r i o d e p r o g r a m a ç ã o dc - uel l a b o r a t ó r i o d e p r o g r a m a ç ã o Manipulando Requisições • A classe HttpServletRequest permite a recuperação das informações passadas como parâmetro por meio do método getParameter(String ). Exemplo 1 - Trecho HTML Sylvio Barbon Jr <[email protected]> — Laboratório de Programação - 5COP088 — 4 décembre 2015 2/13 dc - uel l a b o r a t ó r i o d e p r o g r a m a ç ã o Manipulando Requisições Exemplo 1 - Trecho Java Sylvio Barbon Jr <[email protected]> — Laboratório de Programação - 5COP088 — 4 décembre 2015 3/13 dc - uel l a b o r a t ó r i o d e p r o g r a m a ç ã o Manipulando Requisições • A classe HttpServletRequest permite a recuperação das informações passadas como parâmetro por meio do método getParameterValues(String ). Exemplo 2 - Trecho HTML Sylvio Barbon Jr <[email protected]> — Laboratório de Programação - 5COP088 — 4 décembre 2015 4/13 dc - uel l a b o r a t ó r i o d e p r o g r a m a ç ã o Manipulando Requisições Exemplo 2 - Trecho Java Sylvio Barbon Jr <[email protected]> — Laboratório de Programação - 5COP088 — 4 décembre 2015 5/13 dc - uel l a b o r a t ó r i o d e p r o g r a m a ç ã o Manipulando Requisições • A classe HttpServletRequest permite a recuperação das informações diversas da requisição. Exemplo 3 - Requisição HTTP http ://www.uel.br :8080/MinhaServlet/validacao ?nome=Sylvio • getServerName() = www.uel.br • getServerPort() = 8080 • getContextPath() = MinhaServlet • getPathInfo() = validacao • getQueryString() = nome=Sylvio • getHeader() retorna todas as informações do cabeçalho como uma String. Sylvio Barbon Jr <[email protected]> — Laboratório de Programação - 5COP088 — 4 décembre 2015 6/13 dc - uel l a b o r a t ó r i o d e p r o g r a m a ç ã o Manipulando Respostas • A classe HttpServletResponse permite manipular as respostas encaminhadas ao servidor : • setContentType – informa ao navegador do cliente o tipo MIME da saı́da que ele irá receber. Todo o conteúdo que geramos até agora foi HMTL. Poderı́amos facilmente enviar outros tipo de conteúdo como JPEG, PDF, DOC, XLS, etc. Para conteúdo que não é texto, os métodos print do objeto PrintWriter que estamos usando até agora são insuficientes. Para gerar saı́da não textual, fazemos uso de outro método. • getOutputStream – este método recupera uma instância do objeto OutputStream associado com nossa resposta para o usuário. Com o OutputStream, podemos usar os objetos e métodos padrão de E/S Java para produzir todos os tipos de saı́da. Sylvio Barbon Jr <[email protected]> — Laboratório de Programação - 5COP088 — 4 décembre 2015 7/13 dc - uel l a b o r a t ó r i o d e p r o g r a m a ç ã o Manipulando Respostas Exemplo 4 - Trecho Java Sylvio Barbon Jr <[email protected]> — Laboratório de Programação - 5COP088 — 4 décembre 2015 8/13 dc - uel l a b o r a t ó r i o d e p r o g r a m a ç ã o Manipulando Respostas • É possı́vel redirecionar uma resposta por meio da classe RequestDispatcher com as opções : • include : adiciona o conteúdo na página alvo ; • forward : redireciona encaminhando a responsabilidade da resposta para a classe alvo. • Também é possı́vel realizar o redirecionamento por meio da classe HttpServletResponse por meio do método sendRedirect(String da URL). Exemplo 5 - Trecho Java response.sendRedirect(”index.html”) Sylvio Barbon Jr <[email protected]> — Laboratório de Programação - 5COP088 — 4 décembre 2015 9/13 dc - uel l a b o r a t ó r i o d e p r o g r a m a ç ã o Manipulando Respostas Exemplo 6 - Trecho Java com include Sylvio Barbon Jr <[email protected]> — Laboratório de Programação - 5COP088 — 4 décembre 2015 10/13 dc - uel l a b o r a t ó r i o d e p r o g r a m a ç ã o Manipulando Respostas Exemplo 7 - Trecho Java com forward Sylvio Barbon Jr <[email protected]> — Laboratório de Programação - 5COP088 — 4 décembre 2015 11/13 Perguntas ? Referências Use a Cabeça ! (Head First) Servlets JSP (2008)