Baixe o app para aproveitar ainda mais
Prévia do material em texto
BACKEND DESENVOLVIMENTO DE APLICAÇÕES WEB Antonio Podgorski afbezerra@unicarioca.edu.br SERVLETS HISTÓRIA DO DESENVOLVIMENTO WEB Applets - Download muito longos - Código fica na máquina do cliente CGI - Código para interagir com servidor web - Brecha de Segurança Java Servlets - Padrão, interação fácil com servidores web - Segurança e autenticação - ImplementaSessões HISTÓRIA DO DESENVOLVIMENTO WEB - SERVLETS Uso Inicial - Simples, fácil de usar em aplicações - WebMVC todo implementado em um grande servlet Muito complexo Problemas demanutenção Não é escalável Atualmente - Menor é melhor - Usado para: - Recuperar e validar dados de entrada do usuário - Coordenar as saídas - Lógica de negócios mínima - Redirecionamento da página web O QUE SÃO SERVLETS Extensão de servidor escrita em Java - Serve para estender qualquer aplicaçãoque seja do modelo requisição, resposta. - Todo servlet implementa a interface javax.servlet.Servlet Servlets HTTP - Extensões para servidoresWeb - Lidam com características típicas do HTTP como seusmétodosGET, POST, PUT, … O protocolo HTTP define um conjunto de métodos que o cliente pode invocar, que funcionam como comandos enviados ao servidor web. As mensagens de requisição e resposta do protocolo HTTP seguem um padrão, em que uma requisição primeiramente é constituída de uma linha informando o método a ser executado. MÉTODOS HTTP – DEFINIÇÃO GET:Método que solicita algum recurso ou objeto ao servidor POST:Método usado para envio de arquivo dados ou formulário PUT:Método para criar ou modificar algum objeto do servidor. DELETE: Método que informa através da URL o objeto a ser deletado. MÉTODOS HTTP – TIPOS HEAD: Método que solicita informações de um determinado objeto sem que esse seja enviado ao cliente, apenas para testar a validade do último acesso. CONNECT: Método usado para envio de arquivo dados ou formulário OPTIONS: Método em que cliente obtém as propriedades do servidor. TRACE: Método para estabelece comunicação com servidores Proxy. MÉTODOS HTTP – TIPOS É o bloco básico do desenvolvimentoweb em Java. Servlets são classes hospedadas num servidor que respondema requisições HTTP. De maneira informal e resumida, servlets são classes java que geram páginas HTML. Um servlet é uma especialização da classe javax.servlet.http.HttpServlet DEFINIÇÃO SERVLETS HTTP SERVLET HTTP Trata estes métodosHTTP específicos, a exemplo: doGet(HttpServletRequest req, HttpServletResponse resp) doPost(HttpServletRequest req, HttpServletResponse resp) doPut(HttpServletRequest req, HttpServletResponse resp) doDelete(HttpServletRequest req,HttpServletResponse resp) SERVLET HTTP – EM RESUMO SERVLET HTTP Os métodosdoGet( ), doPost( ),recebem dois parâmetros: HttpServletRequest - encapsula os parâmetros da requisição HttpServletResponse - encapsula a resposta ao cliente SERVLET HTTP Diagrama SERVLET HTTP - HTTPSERVLETREQUEST Interface que encapsula a requisição feita pelo cliente através do protocoloHTTP Possui métodos que permitem recuperar os dados da requisição: - cabeçalho - dados de formulários ou parâmetros enviados - informações sobre a sessão do cliente SERVLET HTTP - HTTPSERVLETRESPONSE Interface que encapsula a resposta ao cliente Também é possível configurar qual é o tipo dos dados que estão sendo enviados de para o cliente setContentType( String type) Os tiposmais comuns são: text/html, text/xml, text/json O método setContentType deve ser chamado antes do método getWriter SERVLET HTTP – PrimeiroServlet SERVLET HTTP – PrimeiroServlet SERVLET HTTP – PrimeiroServlet SERVLET HTTP – PrimeiroServlet SERVLET HTTP – PrimeiroServlet SERVLET HTTP – PrimeiroServlet SERVLET HTTP – PrimeiroServlet SERVLET HTTP – PrimeiroServlet SERVLET HTTP – PrimeiroServlet SERVLET HTTP – CICLO DE VIDA 1. O ciclo de vida de um servlet é controlado por um container 2. Quando o servidor recebe uma requisição, ela é repassada para o container que a delega a um servlet. O container: Carrega a classe na memória Cria uma instância da classe do servlet Inicializa a instância chamandoo métodoinit() 3. Depois queo servlet foi inicializado, cada requisição é executada em um método service() 4. O container cria um objeto de requisição (ServletRequest) e de resposta (ServletResponse) e depois chama service() passando os objetoscomo param̂etros public void service(ServletRequest, ServletResponse) 5. Quando a resposta é enviada, os objetos são destruídos 6. Quando o container decidir remover o servlet da memória, ele o finaliza chamando destroy( ) SERVLET HTTP – CICLO DE VIDA SERVLET HTTP – CICLO DE VIDA SERVLET HTTP – Implantação Básica O arquivo chave para implantação de um servlet é o web.xml (descritor de implantação). É um documento XML que contém informações que descrevem os servlets. Possui a tagweb-app que descreve todos os servlets da aplicação. SERVLET HTTP – web.xml SERVLET HTTP – web.xml <servlet-name> é o nome que os servidores, por exemplo, Tomcat ou GlassFish irá referenciar o servlet. SERVLET HTTP – web.xml <servlet-class> é o nome efetivo do servlet sem a extensão *.class. SERVLET HTTP – web.xml <servlet-mapping> utiliza a tag <url-pattern> define um nome que estará associado ao servlet desejado. Mais falta - TOM ”O GATO” ou TomCat O Tomcat é um servidor web Java, mais especificamente, um container de servlets. O Tomcat implementa, dentre outras de menor relevância, as tecnologias Java Servlet e JavaServer Pages (JSP). Desenvolvido pela Apache Software Foundation,é distribuído como software livre. http://ftp.unicamp.br/pub/apache/tomcat /tomcat-7/v7.0.72/bin/apache-tomcat- 7.0.72-deployer.zip TOMCAT
Compartilhar