SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
Arquitetura Web




             1
Container Web




           2
Web Application




             3
Web Application, como funciona ?




                              4
Web Application




             5
Tecnologias do lado do servidor

   Estendem as funções básicas do HTTP
       CGI – Common Gateway Interface
       API’s : Servlet API , Apache API ...
       Scripts : ASP, JSP, Cold Fusion, PHP




                                               6
Tecnologias do lado do servidor

   Rodam do lado do servidor, portanto não
    dependem de suporte dos navegadores
       Os navegadores fornecem apenas a interface com o
        usuário
   Interceptam o curso normal da comunicação
       Recebem dados via requisições HTTP ( GET e POST)
       Devolvem através de respostas HTTP


                                                           7
Servlets
   O que são servlets ?
       Extensão de servidor escrita em Java
       Podem ser usadas para estender qualquer tipo de
        aplicação do modelo requisição-resposta
       Toda Servlet implementa javax.servlet.Servlet
   HTTP Servlets
       Extensões para servidores WEB
       Estendem javax.servlet.http.HttpServlet
       Lidam com características do HTTP como GET, POST ,
        Cookies , etc.
                                                          8
Ciclo de vida da Servlet

   O Ciclo de vida de uma Servlet é controlado pelo container
   Quando o servidor recebe uma requisição, ela é repassada
    para o container que delega a uma Servlet
   O container fica responsável por:
       Carregar a classe em memória
       Criar uma instância da classe
       Inicializar a instância chamando o método init()




                                                            9
Ciclo de vida da Servlet
   Depois que a servlet foi inicializada, cada
    requisição é executada em um método service()
       O Container cria um ServletRequest, que representa
        um objeto de requisição e um ServletResponse, que
        representa um objeto de resposta, depois chama o
        service() passando-os como parâmetros
   Quando o container decidir remover a servlet da
    memória ele a finaliza chamando o método
    destroy()

                                                         10
Ciclo de vida da servlet




                     11
API: Servlets HTTP
   Interfaces
       HTTPServletRequest
       HTTPServletResponse
       HttpSession
   Classes Abstratas
       HttpServlet
   Classes Concretas
       Cookie


                                             12
Como escrever um servlet HTTP
   Para escrever uma Servlet HTTP, deve-se estender
    HTTPServlet e implementar um ou mais métodos de
    serviço , normalmente o doPost() e/ou doGet()




                                                       13
Métodos de serviço HTTP
   A Classe HTTPServlet redireciona os pedidos
    encaminhados para service() para os métodos que
    refletem os métodos HTTP (GET , POST ,etc ...)
       public void doGet(HttpServletRequest,HttpServletResponse)
       public void doPost(HttpServletRequest,HttpServletResponse)
       Outros como doDelete(),doTrace(),doPut(),doOptions() ( o
        método HEAD é implementado pelo doGet )




                                                              14
Métodos de serviço HTTP
   Uma Servlet HTTP deverá estender
    HTTPServlet e implementar pelo menos um
    dos métodos doGet() ou doPost()




                                         15
Inicialização
   A inicialização de uma HTTPServlet pode ( e
    deve ) ser feita através do método init()




                                             16
Obtenção de dados de requisições
   Alguns métodos de HTTPServletRequest
       Enumeration getHeaderNames() – obtém nomes dos
        cabeçalhos
       String getHeader(“nome”) – obtém o valor do cabeçalho
       String getParameter(“nome”) – obtém o valor do
        parâmetro HTTP
       String[] getParameterValues(“nome”) – obtém os valores
        do parâmetro HTTP
       Enumeration getParameterNames() – obtém os nomes
        dos parâmetros


                                                           17
Obtenção de dados de requisições
   Alguns métodos de HTTPServletRequest
       HttpSession getSession() – retorna a sessão
       setAttribute(“nome”,obj) – define um atributo obj
        chamado nome
       Object getAttribute(“nome”) – recupera o atributo nome




                                                            18
Preenchimento de uma resposta
   Alguns métodos de HTTPServletResponse
       addHeader(String nome, String valor) – adiciona cabeçalho HTTP
       setContentType(tipo MIME) – define o tipo MIME para gerar a saída
        (text/html , image/gif , etc ...)
       sendRedirect(String url) – redireciona o cliente para a url
       Writer getWriter() – obtém um Writer para gerar a saída ( ideal para
        saídas de texto)
       OutputStream getOutputStream() – obtém um OutputStream, ideal
        para gerar saídas não texto (imagens , etc ...)
       reset() – limpa toda a saída
       resetBuffer() – limpa toda a saída, exceto os cabeçalhos


                                                                        19
Como implementar doGet e doPost
   Use doGet() para receber requisições GET
       Links clicados ou URL digitadas no navegador
       Alguns formulários que usam GET
   Use doPost() para receber dados de formulários POST
   Se quiser usar ambos, não sobreponha o service(), e
    sim implemente os 2 métodos




                                                       20
Parâmetros de requisição
   Parâmetros são pares nome/valor que são enviados
    pelo cliente concatenados em Strings e separados por &
       nome=joao&sobrenome=paulo&id=32
   Se o método for GET, os parâmetros são passados em
    uma única linha no query String, que estende a URL
    após um “?”
       /servlet/Teste?nome=joao&sobrenome=paulo&id=32
   Se o método for POST, os parâmetros são passados
    como uma stream no corpo da mensagem

                                                         21
Como ler parâmetros de requisição
   Seja o método POST ou GET, os valores dos
    parâmetros podem ser recuperados pelo método
    getParameter()
       String parametro = request.getParameter(“id”);
   Parâmetros de mesmo nome podem ser repetidos,
    nesse caso o getParameter() retornará a primeira
    ocorrência, para obter todas use :
       String[] parans = request.getParameterValues(“alunos”);


                                                            22
Como gerar uma resposta
   Para gerar uma resposta, primeiro deve-se obter um fluxo
    de saída de caracteres (Writer) ou de Bytes ( OutputStream)
       Writer out = response.getWriter();
       OutputStream out = response.getOutputStream();
   Deve-se definir o tipo de dados a ser gerado, isto é
    importante para que o navegador saiba exibir as
    informações
       response.setContentType(“text/html”);
   Deve-se imprimir os dados no objeto de saída
       out.println(“<h1>Olá</h1>”);


                                                           23
Criando uma Servlet
   São necessárias quatro etapas para
    construir e usar uma servlet
       Codificar
       Compilar
       Implantar (deploy)
       Executar



                                         24
Compilação e implantação
   Para compilar, use qualquer distribuição da API
       O servlet.jar distribuído pelo Tomcat em common/lib
       O j2ee.jar distribuído no pacote J2EE da Sun
       O javax.servlet.jar do JBoss em server/default/lib
   Inclua o JAR no seu CLASSPATH ao compilar, ex:
       > javac –classpath ../servlet.jar;. MeuServlet.java
   Para implantar, copie as classes compiladas para
    um contexto existente no servidor
       Jboss : /server/default/deploy


                                                              25
Execução
   Se você instalou as servlets em um contexto
    raiz, execute-as através da URL:
       http://localhost:8080/contexto/nome.do.servlet
   Para passar parâmetros :
       Escreva um formulário HTML
       Passe-os via URL
            http://localhost:8080/contexto/nome.do.servlet?id=32


                                                               26
Exercícios
   Crie uma servlet (treinamento.exercicios.Lista) , que
    imprima em uma tabela todos os nomes de parâmetros
    enviados e seus valores
       A servlet deve suportar tanto GET quanto POST




                                                               27

Mais conteúdo relacionado

Mais procurados

Como construir aplicações gráficas e applets
Como construir aplicações gráficas e appletsComo construir aplicações gráficas e applets
Como construir aplicações gráficas e appletsDenis L Presciliano
 
Introdução a JPA (2010)
Introdução a JPA (2010)Introdução a JPA (2010)
Introdução a JPA (2010)Helder da Rocha
 
SENAI - Segurança firewall
SENAI - Segurança   firewall SENAI - Segurança   firewall
SENAI - Segurança firewall Carlos Melo
 
Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO,
Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO, Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO,
Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO, Vinicius Pulgatti
 
Introdução ao Desenvolvimento de aplicações WEB com JSP
Introdução ao Desenvolvimento de aplicações WEB com JSPIntrodução ao Desenvolvimento de aplicações WEB com JSP
Introdução ao Desenvolvimento de aplicações WEB com JSPManoel Afonso
 
Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Rafael Benevides
 
Threads 07: Sincronizadores
Threads 07: SincronizadoresThreads 07: Sincronizadores
Threads 07: SincronizadoresHelder da Rocha
 
44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batchMarcio Pereira
 
Aula 1 - curso java web - JSP Java Server Page
Aula 1 - curso java web - JSP Java Server PageAula 1 - curso java web - JSP Java Server Page
Aula 1 - curso java web - JSP Java Server PageEvandro Júnior
 
Artigo distribuidos programação java com rmi e cobra
Artigo distribuidos programação java com rmi e cobraArtigo distribuidos programação java com rmi e cobra
Artigo distribuidos programação java com rmi e cobraGoncalvinho
 
Atualização Java 8 (2014)
Atualização Java 8 (2014)Atualização Java 8 (2014)
Atualização Java 8 (2014)Helder da Rocha
 
Sistemas Operacionais 09 comandos dpkg apt
Sistemas Operacionais 09   comandos dpkg aptSistemas Operacionais 09   comandos dpkg apt
Sistemas Operacionais 09 comandos dpkg aptMauro Duarte
 

Mais procurados (20)

Como construir aplicações gráficas e applets
Como construir aplicações gráficas e appletsComo construir aplicações gráficas e applets
Como construir aplicações gráficas e applets
 
Introdução a JPA (2010)
Introdução a JPA (2010)Introdução a JPA (2010)
Introdução a JPA (2010)
 
Fundamentos de Objetos Remotos
Fundamentos de Objetos RemotosFundamentos de Objetos Remotos
Fundamentos de Objetos Remotos
 
SENAI - Segurança firewall
SENAI - Segurança   firewall SENAI - Segurança   firewall
SENAI - Segurança firewall
 
Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO,
Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO, Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO,
Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO,
 
Introdução ao Desenvolvimento de aplicações WEB com JSP
Introdução ao Desenvolvimento de aplicações WEB com JSPIntrodução ao Desenvolvimento de aplicações WEB com JSP
Introdução ao Desenvolvimento de aplicações WEB com JSP
 
Curso de JSP
Curso de JSPCurso de JSP
Curso de JSP
 
Java 14
Java 14Java 14
Java 14
 
Servlets e jsp
Servlets e jspServlets e jsp
Servlets e jsp
 
Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007
 
Threads 07: Sincronizadores
Threads 07: SincronizadoresThreads 07: Sincronizadores
Threads 07: Sincronizadores
 
jsp-intro
jsp-introjsp-intro
jsp-intro
 
44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch
 
Aula 1 - curso java web - JSP Java Server Page
Aula 1 - curso java web - JSP Java Server PageAula 1 - curso java web - JSP Java Server Page
Aula 1 - curso java web - JSP Java Server Page
 
Java Web 1 Introducao
Java Web 1 IntroducaoJava Web 1 Introducao
Java Web 1 Introducao
 
Artigo distribuidos programação java com rmi e cobra
Artigo distribuidos programação java com rmi e cobraArtigo distribuidos programação java com rmi e cobra
Artigo distribuidos programação java com rmi e cobra
 
Atualização Java 8 (2014)
Atualização Java 8 (2014)Atualização Java 8 (2014)
Atualização Java 8 (2014)
 
Sistemas Operacionais 09 comandos dpkg apt
Sistemas Operacionais 09   comandos dpkg aptSistemas Operacionais 09   comandos dpkg apt
Sistemas Operacionais 09 comandos dpkg apt
 
Curso de CVS - Lab 3
Curso de CVS - Lab 3Curso de CVS - Lab 3
Curso de CVS - Lab 3
 
Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
 

Semelhante a Curso de Servlets

Servlet jsp tomcat 8
Servlet jsp tomcat 8Servlet jsp tomcat 8
Servlet jsp tomcat 8maxrosan
 
Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)Helder da Rocha
 
02 - Fundamentos de Servlets
02 - Fundamentos de Servlets02 - Fundamentos de Servlets
02 - Fundamentos de ServletsMarcio Marinho
 
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1Thyago Maia
 
Desenvolvimento de sistemas web com php Frameworks - Aula 1
Desenvolvimento de sistemas web com php Frameworks - Aula 1Desenvolvimento de sistemas web com php Frameworks - Aula 1
Desenvolvimento de sistemas web com php Frameworks - Aula 1Thyago Maia
 
Httpunit - Teste de interface Web com HttpUnit
Httpunit - Teste de interface Web com HttpUnitHttpunit - Teste de interface Web com HttpUnit
Httpunit - Teste de interface Web com HttpUnitDenis L Presciliano
 
Trabalho ProgramaçãO Comercial Ii
Trabalho ProgramaçãO Comercial IiTrabalho ProgramaçãO Comercial Ii
Trabalho ProgramaçãO Comercial IiMateus Ramos Pereira
 
Curso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationCurso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationMario Sergio
 
Criando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptCriando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptAndre Baltieri
 
De Web Services RESTful a Aplicações Mashup
De Web Services RESTful a Aplicações MashupDe Web Services RESTful a Aplicações Mashup
De Web Services RESTful a Aplicações MashupWagner Roberto dos Santos
 
Introdução ao desenvolvimento web com Java
Introdução ao desenvolvimento web com JavaIntrodução ao desenvolvimento web com Java
Introdução ao desenvolvimento web com JavaFellipeFonseca
 
Cactus - Testes em J2EE com Jakarta Cactus
Cactus - Testes em J2EE com Jakarta CactusCactus - Testes em J2EE com Jakarta Cactus
Cactus - Testes em J2EE com Jakarta CactusDenis L Presciliano
 

Semelhante a Curso de Servlets (20)

Servlets
ServletsServlets
Servlets
 
Servlet jsp tomcat 8
Servlet jsp tomcat 8Servlet jsp tomcat 8
Servlet jsp tomcat 8
 
servlet-introducao
servlet-introducaoservlet-introducao
servlet-introducao
 
Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)
 
Te servelts
Te serveltsTe servelts
Te servelts
 
02 - Fundamentos de Servlets
02 - Fundamentos de Servlets02 - Fundamentos de Servlets
02 - Fundamentos de Servlets
 
Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
 
servlet-respostas
servlet-respostasservlet-respostas
servlet-respostas
 
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
 
Te aula2
Te aula2Te aula2
Te aula2
 
Desenvolvimento de sistemas web com php Frameworks - Aula 1
Desenvolvimento de sistemas web com php Frameworks - Aula 1Desenvolvimento de sistemas web com php Frameworks - Aula 1
Desenvolvimento de sistemas web com php Frameworks - Aula 1
 
Httpunit - Teste de interface Web com HttpUnit
Httpunit - Teste de interface Web com HttpUnitHttpunit - Teste de interface Web com HttpUnit
Httpunit - Teste de interface Web com HttpUnit
 
API Apontador
API ApontadorAPI Apontador
API Apontador
 
Trabalho ProgramaçãO Comercial Ii
Trabalho ProgramaçãO Comercial IiTrabalho ProgramaçãO Comercial Ii
Trabalho ProgramaçãO Comercial Ii
 
Http Servlet
Http ServletHttp Servlet
Http Servlet
 
Curso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationCurso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web Application
 
Criando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptCriando APIs com Node e TypeScript
Criando APIs com Node e TypeScript
 
De Web Services RESTful a Aplicações Mashup
De Web Services RESTful a Aplicações MashupDe Web Services RESTful a Aplicações Mashup
De Web Services RESTful a Aplicações Mashup
 
Introdução ao desenvolvimento web com Java
Introdução ao desenvolvimento web com JavaIntrodução ao desenvolvimento web com Java
Introdução ao desenvolvimento web com Java
 
Cactus - Testes em J2EE com Jakarta Cactus
Cactus - Testes em J2EE com Jakarta CactusCactus - Testes em J2EE com Jakarta Cactus
Cactus - Testes em J2EE com Jakarta Cactus
 

Curso de Servlets

  • 4. Web Application, como funciona ? 4
  • 6. Tecnologias do lado do servidor  Estendem as funções básicas do HTTP  CGI – Common Gateway Interface  API’s : Servlet API , Apache API ...  Scripts : ASP, JSP, Cold Fusion, PHP 6
  • 7. Tecnologias do lado do servidor  Rodam do lado do servidor, portanto não dependem de suporte dos navegadores  Os navegadores fornecem apenas a interface com o usuário  Interceptam o curso normal da comunicação  Recebem dados via requisições HTTP ( GET e POST)  Devolvem através de respostas HTTP 7
  • 8. Servlets  O que são servlets ?  Extensão de servidor escrita em Java  Podem ser usadas para estender qualquer tipo de aplicação do modelo requisição-resposta  Toda Servlet implementa javax.servlet.Servlet  HTTP Servlets  Extensões para servidores WEB  Estendem javax.servlet.http.HttpServlet  Lidam com características do HTTP como GET, POST , Cookies , etc. 8
  • 9. Ciclo de vida da Servlet  O Ciclo de vida de uma Servlet é controlado pelo container  Quando o servidor recebe uma requisição, ela é repassada para o container que delega a uma Servlet  O container fica responsável por:  Carregar a classe em memória  Criar uma instância da classe  Inicializar a instância chamando o método init() 9
  • 10. Ciclo de vida da Servlet  Depois que a servlet foi inicializada, cada requisição é executada em um método service()  O Container cria um ServletRequest, que representa um objeto de requisição e um ServletResponse, que representa um objeto de resposta, depois chama o service() passando-os como parâmetros  Quando o container decidir remover a servlet da memória ele a finaliza chamando o método destroy() 10
  • 11. Ciclo de vida da servlet 11
  • 12. API: Servlets HTTP  Interfaces  HTTPServletRequest  HTTPServletResponse  HttpSession  Classes Abstratas  HttpServlet  Classes Concretas  Cookie 12
  • 13. Como escrever um servlet HTTP  Para escrever uma Servlet HTTP, deve-se estender HTTPServlet e implementar um ou mais métodos de serviço , normalmente o doPost() e/ou doGet() 13
  • 14. Métodos de serviço HTTP  A Classe HTTPServlet redireciona os pedidos encaminhados para service() para os métodos que refletem os métodos HTTP (GET , POST ,etc ...)  public void doGet(HttpServletRequest,HttpServletResponse)  public void doPost(HttpServletRequest,HttpServletResponse)  Outros como doDelete(),doTrace(),doPut(),doOptions() ( o método HEAD é implementado pelo doGet ) 14
  • 15. Métodos de serviço HTTP  Uma Servlet HTTP deverá estender HTTPServlet e implementar pelo menos um dos métodos doGet() ou doPost() 15
  • 16. Inicialização  A inicialização de uma HTTPServlet pode ( e deve ) ser feita através do método init() 16
  • 17. Obtenção de dados de requisições  Alguns métodos de HTTPServletRequest  Enumeration getHeaderNames() – obtém nomes dos cabeçalhos  String getHeader(“nome”) – obtém o valor do cabeçalho  String getParameter(“nome”) – obtém o valor do parâmetro HTTP  String[] getParameterValues(“nome”) – obtém os valores do parâmetro HTTP  Enumeration getParameterNames() – obtém os nomes dos parâmetros 17
  • 18. Obtenção de dados de requisições  Alguns métodos de HTTPServletRequest  HttpSession getSession() – retorna a sessão  setAttribute(“nome”,obj) – define um atributo obj chamado nome  Object getAttribute(“nome”) – recupera o atributo nome 18
  • 19. Preenchimento de uma resposta  Alguns métodos de HTTPServletResponse  addHeader(String nome, String valor) – adiciona cabeçalho HTTP  setContentType(tipo MIME) – define o tipo MIME para gerar a saída (text/html , image/gif , etc ...)  sendRedirect(String url) – redireciona o cliente para a url  Writer getWriter() – obtém um Writer para gerar a saída ( ideal para saídas de texto)  OutputStream getOutputStream() – obtém um OutputStream, ideal para gerar saídas não texto (imagens , etc ...)  reset() – limpa toda a saída  resetBuffer() – limpa toda a saída, exceto os cabeçalhos 19
  • 20. Como implementar doGet e doPost  Use doGet() para receber requisições GET  Links clicados ou URL digitadas no navegador  Alguns formulários que usam GET  Use doPost() para receber dados de formulários POST  Se quiser usar ambos, não sobreponha o service(), e sim implemente os 2 métodos 20
  • 21. Parâmetros de requisição  Parâmetros são pares nome/valor que são enviados pelo cliente concatenados em Strings e separados por &  nome=joao&sobrenome=paulo&id=32  Se o método for GET, os parâmetros são passados em uma única linha no query String, que estende a URL após um “?”  /servlet/Teste?nome=joao&sobrenome=paulo&id=32  Se o método for POST, os parâmetros são passados como uma stream no corpo da mensagem 21
  • 22. Como ler parâmetros de requisição  Seja o método POST ou GET, os valores dos parâmetros podem ser recuperados pelo método getParameter()  String parametro = request.getParameter(“id”);  Parâmetros de mesmo nome podem ser repetidos, nesse caso o getParameter() retornará a primeira ocorrência, para obter todas use :  String[] parans = request.getParameterValues(“alunos”); 22
  • 23. Como gerar uma resposta  Para gerar uma resposta, primeiro deve-se obter um fluxo de saída de caracteres (Writer) ou de Bytes ( OutputStream)  Writer out = response.getWriter();  OutputStream out = response.getOutputStream();  Deve-se definir o tipo de dados a ser gerado, isto é importante para que o navegador saiba exibir as informações  response.setContentType(“text/html”);  Deve-se imprimir os dados no objeto de saída  out.println(“<h1>Olá</h1>”); 23
  • 24. Criando uma Servlet  São necessárias quatro etapas para construir e usar uma servlet  Codificar  Compilar  Implantar (deploy)  Executar 24
  • 25. Compilação e implantação  Para compilar, use qualquer distribuição da API  O servlet.jar distribuído pelo Tomcat em common/lib  O j2ee.jar distribuído no pacote J2EE da Sun  O javax.servlet.jar do JBoss em server/default/lib  Inclua o JAR no seu CLASSPATH ao compilar, ex:  > javac –classpath ../servlet.jar;. MeuServlet.java  Para implantar, copie as classes compiladas para um contexto existente no servidor  Jboss : /server/default/deploy 25
  • 26. Execução  Se você instalou as servlets em um contexto raiz, execute-as através da URL:  http://localhost:8080/contexto/nome.do.servlet  Para passar parâmetros :  Escreva um formulário HTML  Passe-os via URL  http://localhost:8080/contexto/nome.do.servlet?id=32 26
  • 27. Exercícios  Crie uma servlet (treinamento.exercicios.Lista) , que imprima em uma tabela todos os nomes de parâmetros enviados e seus valores  A servlet deve suportar tanto GET quanto POST 27