Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Ao final desta aula, você será capaz de: 1. Compreender o esquema de utilização de um servlet. 2. Desenvolver aplicações dinâmicas em páginas Web, utilizando os recursos que a tecnologia oferece, explorando suas propriedades e características. Introdução Nesta aula, abordaremos a tecnologia Servlet, descrevendo suas características e benefícios. Também serão apresentados os passos necessários para o desenvolvimento de uma aplicação dinâmica que possa ser executada em ambiente Web. Tecnologia Servlet No passado, a Internet era composta, basicamente, de páginas estáticas. Hoje, ela oferece várias aplicações com conteúdo dinâmico e personalizado. A tecnologia Servlet é uma das ferramentas que possibilita a elaboração de sites com conteúdo dinâmico. Mas o que são Servlets? Trata-se da alternativa Java para os scripts CGI. São classes Java, cujos objetos são capazes de receber uma requisição Web, processá-la e retornar um conteúdo como resposta. Geralmente, trabalham com o protocolo HTTP ( ou HTTPS) e o conteúdo retornado é um texto em HTML; Essas classes são carregadas e executadas automaticamente pelo Servidor Web. Podem trabalhar com outro tipo de conteúdo, como por exemplo: imagem, vídeo etc.; e são gerenciados pelo Container Servlet de um Servidor de Aplicações JEE. Container Servlet: Container Java também é conhecido como servidor de aplicações Java. Ele gerencia a execução de serviços web Java; disponibilizar infraestrutura necessária para estes serviços e permite a comunicação com outros componentes Java e outras aplicações. Por utilizar a linguagem de programação Java, essa tecnologia oferece algumas vantagens já herdadas, tais como: Programação orientada a objetos. Flexibilidade (Java é uma linguagem bastante difundida, com ampla documentação, possuindo diversos códigos prontos e bibliotecas, das quais o desenvolvedor pode usufruir). Portabilidade (a aplicação desenvolvida pode ser implantada em diversas plataformas, sem a necessidade de qualquer modificação na aplicação). Segundo BRUKSCH, os servlets possuem algumas características que tornam esta tecnologia ainda mais interessante, como por exemplo: Código Modular: Um servlet pode executar outro servlet, mesmo que remotamente. Essa característica permite a criação de aplicativos modularizados, criando aplicações com funções específicas; Geração dinâmica de páginas HTML: Os servlets podem ser instalados em servidores Web para processar informações transmitidas via HTTP a partir, por exemplo, de 2 formulários HTML. As aplicações podem incluir acesso a banco de dados ou comunicação com outros servlets. N-Camadas (N-Tier): Para a implementação de sistemas em n-camadas, podemos utilizar os servlets, nos quais são encapsuladas as regras e lógicas da aplicação. Threads: Os servlets utilizam threads, e como os servlets não precisam ser recriados a cada conexão, as aplicações rodam com maior velocidade e causam menor overhead na máquina. Arquitetura de uma aplicação Servlet Servlet é um programa que estende a funcionalidade de um web server, gerando conteúdo dinâmico e interagindo com os clientes, utilizando o modelo request/response. Os Servlets não são restritos ao modelo HTTP de request/response, apesar do modelo HTTP ser o modelo mais comumente utilizado. Um Servlet pode ser considerado o cérebro da aplicação cliente servidor que utiliza JSP. Fig - Arquitetura de uma aplicação Web – Modelo Básico Ciclo de vida de um Servlet Segundo SILVA, o ciclo de vida de um Servlet é controlado pelo container: Quando o servidor recebe uma requisição, esta é repassada para o container que a delega a um Servlet. Então, o container: carrega a classe na memória; cria uma instância da classe do Servlet; e inicializa a instância chamando o método init(); Depois que o Servlet foi inicializado, cada requisição é executada em um método service(); Quando o container cria um objeto de requisição (ServletRequest) e de resposta (ServletResponse),e depois chama service() passando os objetos como parâmetros: Public void service(ServletRequest, ServletResponse); 3 Quando a resposta é enviada, os objetos são destruídos; Quando o container decidir remover o Servlet da memória, ele o finaliza chamando destroy(). Passo a passo para a criação de um Servlet: Passo 1 Criação da estrutura de diretórios Passo a passo para a criação de um Servlet: Passos 2 e 3 2º passo : Código Fonte do Servlet. 4 3º passo : Compilar o código fonte. 4º passo : Configurar o Servlet. 5 6 Essas e outras configurações podem ser feitas diretamente pela aba XML. Mas pelo NetBeans/Eclipse é mais conveniente. 7 Passo a passo para a criação de um Servlet: Passos 5 e 6 Para essa aula, sugerimos que acesse: Saiba mais sobre Servlets: Fundamentos de Servlets: http://www.devmedia.com.br/fundamentos-de-servlets/3573 Java para Desenvolvimento Web: http://www.caelum.com.br/apostila-java-web/servlets/ Nesta aula, você: Conheceu a tecnologia Servlets: seus benefícios, sua arquitetura. Aprendeu o mecanismo necessário para o desenvolvimento de aplicações Web através da tecnologia Servlets. Na próxima aula, você vai estudar: Tecnologia JSP: fundamentos, elementos sintáticos, Java Beans e JSP Beans. 1.Analise as seguintes afirmações abaixo: I. Pode-se afirmar que Servlet é um componente Web escrito em Java®, capaz de atender a solicitações no modelo requisição-resposta. II. Quando um Servlet é executado, eventualmente, pode-se querer redirecionar o usuário para outra página/JSP ou mesmo outro Servlet. Para isso, é utilizado o comando forward. III. Para escrever o código fonte de um Servlet, há necessidade de importar os pacotes: javax.servlet e javax.servlet.http. Assinale a alternativa que contém a(s) afirmação(ões) CORRETA(S). 1) Apenas I. 2) Apenas II e III. 3) Apenas I e III. 4) Apenas III. 5) I, II e III. 8 2.(EAOT 2009) Em relação aos Java Servlets, analise as assertivas e assinale a alternativa que aponta a(s) correta(s). I. O GenericServlet é um servlet que independe do protocolo, enquanto que HttpServlet utiliza o protocolo HTTP para troca de informações entre cliente e servidor. II. A classe HttpServlet apresenta o método service(). Este método aceita como parâmetro um objeto ServletRequest e um objeto ServletResponse. III. A interface HttpServletRequest apresenta o método setContentType() que é o responsável por especificar o tipo de conteúdo da resposta para o navegador. IV. O diretório de raiz de contexto de um Servlet é obrigatoriamente o local onde o Tomcat ou outro servidor web está instalado. 1) Apenas I está correta. 2) Apenas I e II estão corretas. 3) Apenas II e III estão corretas. 4) Apenas II, III e IV estão corretas. 5) I, II, III e IV. 3.(CETRO 2012) Leia a afirmação abaixo, relacionada à Servlets e, em seguida, assinale a alternativa que preenche correta e respectivamente as lacunas. Servlets são classes Java que estendem javax.servlet.http.HttpServlet, cujo Método ______ passa parâmetros pela URL adicionando-lhe um ? (sinal de interrogação), seguido pelo nome e pelo valor do parâmetro (nome=valor do parâmetro), separados (caso haja mais de um parâmetro) por & e para o Método ______ os parâmetros ______ na QueryString (URL com parâmetros ). Servlets, para serem acessíveis, tem que estar configuradas em um arquivo XML que deveser nomeado de ______. 1) doPost/ doGet/ não são visíveis/ web.xml 2) doGet/ doPost/ não são visíveis/ web.xml 3) doPost/ doGet/ são visíveis/ servelet.xml 4) doGet/ doPost/ são visíveis/ servelet.xml 5) doGet/ doPost/ são visíveis/ web.xml 4.(UFT/COPESE - 2012) Sobre a plataforma Java Enterprise Edition, a alternativa que apresenta somente exemplos de componentes Web que rodam no lado do servidor é: 1) JavaBeans, JavaServer Faces e applets 2) applets, JavaServer Faces e JavaServer Pages 9 3) Java Servlet, applets e JavaServer Pages 4) Java Servlet, JavaServer Faces e JavaServer Pages 5) applets, JavaBeans e JavaServer Pages 5.(FCC- 2007) O software Apache Tomcat é um servidor de páginas dinâmicas web que: 1) está disponível apenas para as plataformas Windows e Linux. 2) implementa a API de Servlets e JavaServer Pages mas exige a integração com servidores http para prover páginas e recursos estáticos. 3) apesar de gratuito, seu código fonte não é aberto (open-source). 4) implementa a API de Servlets e JavaServer Pages e pode atuar diretamente como servidor http. 5) implementa a API de Servlets, JavaServer Pages e Enterprise Java Beans e pode atuar diretamente como servidor http.
Compartilhar