Programação na Web. Servlets Leitura dos Parâmetros e Cabeçahos



Documentos relacionados
Programação em Rede. Servlets. Manipulação de dados de input em Servlets

Executando comandos do Sistema Operacional em uma aplicação WEB Java

Programação Na Web. Servlets: Como usar as Servlets. Agenda. Template genérico para criar Servlets Servlet 2.4 API

Introdução. Servlet. Ciclo Vida. Servlet. Exemplos. Prof. Enzo Seraphim

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas)

Java Server Pages. Arquitectura de uma aplicação distribuída em Internet. Figura 1 Modelo 2

Programação Na Web. Sessão II. Índice. Visão geral da API Sessão. Obter dados sobre uma sessão. Extrair informação sobre uma Sessão

Introdução a Servlets e JSP. Prof. Samuel Martins samuellunamartins at gmail dot com Faculdade São Miguel

Curso de Java. Geração de Páginas WEB. TodososdireitosreservadosKlais

Registo de condutor (Protótipo funcional) Página apresentada ao utilizador

Prof. Roberto Desenvolvimento Web Avançado

INSTALAÇÃO E USO DO GOOGLE APP ENGINE PLUGIN utilizando o Eclipse Galileo

Tutorial Jogo da Velha WEB

Programação II Programação para a Web. Christopher Burrows

Gerador de código JSP baseado em projeto de banco de dados MySQL

UNIDADE III JAVA SERVER PAGES

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web:

JSP e Servlet Princípio de MVC

Programação WEB II. Formulários Em PHP. Métodos GET e POST progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container Aula 04

Javascript Exemplos Objetos

1. Escreva uma servlet que gere texto o texto Hello Word. 2. Escreva uma servlet que gere HTML.

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M

Java para Desenvolvimento Web

Desenvolvimento Web TCC Turma A-1

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Java para WEB. Servlets

J2EE. Exemplo completo Utilização Servlet. Instrutor HEngholmJr

Desenvolvendo Aplicações Web com Java

Para o envio de s pelo PHP é necessário seguir a seguinte sintaxe:

Exibir relatórios gerados pelo Jasper Report em Flex

Fundamentos de Servlets. Conceitos e ciclo de vida Classes e Interfaces da API Exemplos de Servlets

Instituto Politécnico de Setúbal. Escola Superior de Tecnologia de Setúbal. Departamento de Sistemas e Informática. Aulas Práticas Servlets

Autenticação e Autorização

LINGUAGEM DE PROGRAMAÇÃO WEB

Java na WEB Servlet. Sumário

4 MODELAGEM DA APLICAÇÃO J2ME

HTML Básico Formulários. Matheus Meira

Criação de uma aplicação usando Servlets

Incorporando JavaScript em HTML

Atividade JSP com Banco de Dados

Iniciando PHP. Agenda

Ciclo de vida; Funcionamento; Requisições e Respostas.

Tecnologias Web. Java Servlets

Desenvolvimento de aplicações Web. Java Server Pages

J550 Integração com Bancos de Dados

Programação WEB II. Conhecendo o PHP. Prof: Kelly E. Medeiros Bacharel em Sistema de Informação. Módulo III

Listando, gravando, alterando e excluindo registro do banco de dados com JSP

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets

Aplicações de Linguagem de Programação Orientada a Objeto

Prof. Fellipe Aleixo

COBRANÇA SITE. Instruções de Instalação e Utilização. Manual Técnico do Desenvolvedor. Segunda via do Bloqueto Digital

Tutorial. Começando a Criar Aplicativos SMS

Java Servlets. Leonardo Gresta Paulino Murta

Servlets & JSP. Prof. Ramon Chiara

Desenvolvimento WEB em JAVA. Palestrante: Lourival F. de Almeida Júnior

JSP - JavaServer Pages

J550. Helder da Rocha

Tecnologias Web. Formulários HTML

Desenvolvendo Portlets utilizando JSF, Ajax, Richfaces. Gustavo Lira Consultor 4Linux

Implementar um exemplo de relacionamento entre classes um para muitos (1:N) e um para um (1:1). Sistema para uma Promotora de Evento Agenda Anual

!" # # # $ %!" " & ' ( 2

Instalação/ Operacionalização

Web Design II. PHP mail. Docente: Célio B. Sengo

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC

JavaScript Fundamental e Servlet Fundamental

Relatório referente a compreensão da programação JSP. Realizado do dia de 22 abril de 2010 a 03 de maio de 2010.

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

UNIDADE II JAVA SERVLETS

JSP (Java Server Pages)

HTML. Sessão 8 HTML. Criação de Páginas WEB. Formulários

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs Aplicações dinâmicas para a Web: HTTP porto 80

Tutorial para criação de componentes JSF Facelets Por Érico GR 07/08/2007

Formação Java Enterprise Edition

Java II. Sérgio Luiz Ruivace Cerqueira

Inserindo e Listando registros

Servlets, JSPs e Java Beans

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta

Java para WEB com Struts 2 e Hibernate

Desenvolvimento Web TCC Turma A-1

Hacking Class Controlando tomadas da sua casa via Internet

Desenvolvimento Web com JSP/Servlets

Programação Na Web. Servlets: Ciclo de Vida. Agenda. Visão geral sobre ciclo de vida. Nascimento de uma Servlet. Execução de uma Servlet

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas

PADRÃO PARA MONITORAMENTO DE APLICATIVOS PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ

programação de páginas de conteúdo dinâmico

Mini-Tutorial. Como criar relatórios Java para Web com JasperReports e ireport por Roberto J. Furutani 20/07/2005

Servlets. João Carlos Pinheiro. Julho / 2005

Web. Professor: Rodrigo Alves Sarmento

Aplicativos Web com Orientação a Objetos

Calculador de preços e prazos de encomendas

Enviado dados para o PHP através de formulário

Persistência Java para Web com MySQL

Java Server Pages. O código HTML pode indicar o método de arranque do servlet gerado por um JSP : doget ou dopost.

JSP (Java Server Pages)

FRAMEWORKS PARA O DESENVOLVIMENTO WEB

Personal Home Page PHP. Prof. Luiz Claudio F. de Souza

Universidade São Judas Tadeu. Faculdade de Tecnologia e Ciências Exatas. Sistemas de Informação 3ASIN

Introdução à Plataforma J2EE Java2 Enterprise Edition. Alex de V. Garcia, Dr.

Transcrição:

Programação na Web Servlets Leitura dos Parâmetros e Cabeçahos 1

Criar um Formulário HTML Fórmulário: GetForm.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD><TITLE>A Sample Form Using GET</TITLE></HEAD> <BODY BGCOLOR="#FDF5E6"> <H2 ALIGN="CENTER">A Sample Form Using GET</H2> <FORM ACTION="http://localhost:8088/SomeProgram"> <CENTER> First name: <INPUT TYPE="TEXT" NAME="firstName" VALUE="Joe"><BR> Last name: <INPUT TYPE="TEXT" NAME="lastName" VALUE="Hacker"><P> <INPUT TYPE="SUBMIT"> <!-- Press this to submit form --> </CENTER> </FORM> </BODY></HTML> 2

Preechimento do formulário 3

Resultado do envio do formulário 4

Uso do comando post num formulário <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD><TITLE>A Sample Form Using POST</TITLE></HEAD> <BODY BGCOLOR="#FDF5E6"> <H2 ALIGN="CENTER">A Sample Form Using POST</H2> <FORM ACTION="http://localhost:8088/SomeProgram" METHOD="POST"> <CENTER> First name: <INPUT TYPE="TEXT" NAME="firstName" VALUE="Joe"><BR> Last name: <INPUT TYPE="TEXT" NAME="lastName" VALUE="Hacker"><P> <INPUT TYPE="SUBMIT"> </CENTER> </FORM> </BODY></HTML> 5

Preechimento do formulário 6

Processamento do formulário 7

Um formulário com três parametros <FORM ACTION="/servlet/coreservlets.ThreeParams"> First Parameter: <INPUT TYPE="TEXT" NAME="param1"><BR> Second Parameter: <INPUT TYPE="TEXT" NAME="param2"><BR> Third Parameter: <INPUT TYPE="TEXT" NAME="param3"><BR> <CENTER><INPUT TYPE="SUBMIT"></CENTER> </FORM> 8

Servlet que lê os três parametros public class ThreeParams extends HttpServlet { public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { response.setcontenttype("text/html"); PrintWriter out = response.getwriter(); String title = "Reading Three Request Parameters"; out.println(servletutilities.headwithtitle(title) + "<BODY BGCOLOR=\"#FDF5E6\">\n" + "<H1 ALIGN=CENTER>" + title + "</H1>\n" + "<UL>\n" + " <LI><B>param1</B>: " + request.getparameter("param1") + "\n" + " <LI><B>param2</B>: " + request.getparameter("param2") + "\n" + " <LI><B>param3</B>: " + request.getparameter("param3") + "\n" + "</UL>\n" + "</BODY></HTML>"); 9

Resultado da execução da Servlet 10

Leitura de todos os parametros public class ShowParameters extends HttpServlet { public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { response.setcontenttype("text/html"); PrintWriter out = response.getwriter(); String title = "Reading All Request Parameters"; out.println(servletutilities.headwithtitle(title) + "<BODY BGCOLOR=\"#FDF5E6\">\n" + "<H1 ALIGN=CENTER>" + title + "</H1>\n" + "<TABLE BORDER=1 ALIGN=CENTER>\n" + "<TR BGCOLOR=\"#FFAD00\">\n" + "<TH>Parameter Name<TH>Parameter Value(s)"); 11

Leitura de todos os parametros(2) Enumeration paramnames = request.getparameternames(); while(paramnames.hasmoreelements()) { String paramname = (String)paramNames.nextElement(); out.print("<tr><td>" + paramname + "\n<td>"); String[] paramvalues = request.getparametervalues(paramname); if (paramvalues.length == 1) { String paramvalue = paramvalues[0]; if (paramvalue.length() == 0) out.println("<i>no Value</I>"); else out.println(paramvalue); 12

Leitura de todos os parametros(3) else { out.println("<ul>"); for(int i=0; i<paramvalues.length; i++) { out.println("<li>" + paramvalues[i]); out.println("</ul>"); out.println("</table>\n</body></html>"); public void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { doget(request, response); 13

Resultado da execução da Servlet Nota: a ordem dos parametros no Enumeration não é igual a ordem pela qual eles estão dispostos na página web 14

Imprimir todos os Cabeçalhos public class ShowRequestHeaders extends HttpServlet { public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { response.setcontenttype("text/html"); PrintWriter out = response.getwriter(); String title = "Servlet Example: Showing Request Headers"; out.println(servletutilities.headwithtitle(title) + "<BODY BGCOLOR=\"#FDF5E6\">\n" + "<H1 ALIGN=CENTER>" + title + "</H1>\n" + "<B>Request Method: </B>" + request.getmethod() + "<BR>\n" + "<B>Request URI: </B>" + request.getrequesturi() + "<BR>\n" + "<B>Request Protocol: </B>" + request.getprotocol() + "<BR><BR>\n" + 15

Imprimir todos os Cabeçalhos (2) "<TABLE BORDER=1 ALIGN=CENTER>\n" + "<TR BGCOLOR=\"#FFAD00\">\n" + "<TH>Header Name<TH>Header Value"); Enumeration headernames = request.getheadernames(); while(headernames.hasmoreelements()) { String headername = (String)headerNames.nextElement(); out.println("<tr><td>" + headername); out.println(" <TD>" + request.getheader(headername)); out.println("</table>\n</body></html>"); public void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { doget(request, response); 16

Imprimir todos os Cabeçalhos Resultado Netscape 17

Imprimir todos os Cabeçalhos Resultado MIE 18

Envio de páginas Comprimidas public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { response.setcontenttype("text/html"); String encodings = request.getheader("accept-encoding"); String encodeflag = request.getparameter("encoding"); PrintWriter out; String title; if ((encodings!= null) && (encodings.indexof("gzip")!= -1) &&!"none".equals(encodeflag)) { title = "Page Encoded with GZip"; OutputStream out1 = response.getoutputstream(); out = new PrintWriter(new GZIPOutputStream(out1), false); response.setheader("content-encoding", "gzip"); else { title = "Unencoded Page"; out = response.getwriter(); 19

Envio de páginas Comprimidas (2) out.println(servletutilities.headwithtitle(title) + "<BODY BGCOLOR=\"#FDF5E6\">\n" + "<H1 ALIGN=CENTER>" + title + "</H1>\n"); String line = "Blah, blah, blah, blah, blah. " + "Yadda, yadda, yadda, yadda."; for(int i=0; i<10000; i++) { out.println(line); out.println("</body></html>"); out.close(); 20

Envio de páginas Comprimidas Não comprimida (28.8K modem), Netscape 4.7 e Internet Explorer 5.0: > 50 seconds Comprimida (28.8K modem), Netscape 4.7 e Internet Explorer 5.0: < 5 seconds Resultado 21