Introdução ao desenvolvimento de aplicações web

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (19)  (1)

Este artigo apresenta uma introdução ao desenvolvimento de aplicações com foco na web. Ao longo do artigo serão apresentadas conceituações técnicas sobre as tecnologias necessárias à criação de uma aplicação.

Fique por dentro
Este artigo apresenta uma introdução ao desenvolvimento de aplicações com foco na web. Ao longo do artigo serão apresentadas conceituações técnicas sobre as tecnologias necessárias à criação de uma aplicação, visando descomplicar a vida de quem está entrando neste mercado.

Deste modo, é importante aos desenvolvedores que desejam iniciar o desenvolvimento de soluções voltadas para o ambiente da web. A estes, serão apresentados conceitos, além de uma abordagem prática, do que é utilizado no mercado Java para o segmento web.

O desenvolvimento de aplicações desktop com Java SE (Java Standard Edition) e suas bibliotecas AWT, Swing e Applets se tornou bastante difundido com o aumento no uso da linguagem Java. Isto se deve, dentre outros motivos, à portabilidade das aplicações desenvolvidas, uma das grandes inovações do Java.

Neste cenário de aplicações desktop, imagine uma aplicação que foi criada para o controle de acesso de uma empresa, sendo esta instalada em 200 máquinas. Quando essa aplicação sofrer alguma alteração negocial e precisar ser atualizada, todas as versões instaladas nas máquinas da empresa precisarão passar por uma atualização.

Assim, as dificuldades de manutenção, atualização e distribuição de aplicações desktop, aliadas à necessidade de instalação de uma versão do aplicativo nas máquinas do usuário, motivou a busca por uma melhor forma de distribuir aplicações que fossem acessadas por vários usuários e pudessem estar disponíveis em qualquer lugar.

Seguindo o exemplo anterior, se nossa aplicação estivesse em um ponto centralizado, onde seu acesso fosse distribuído, onde as alterações fossem efetuadas em apenas uma única versão da aplicação, e não houvesse a necessidade de instalação desta aplicação nas máquinas do usuário, teríamos uma melhor disponibilidade de nossa aplicação, assim como um melhor controle sobre suas alterações.

Este ponto centralizado veio com a utilização da plataforma web no desenvolvimento de aplicações.

No desenvolvimento web, o cliente usa um navegador (browser) para acessar a aplicação, necessitando apenas a instalação do navegador em sua máquina. Como a utilização dos navegadores foi difundida com a popularização da Internet, a plataforma web foi beneficiada neste ponto.

Mas o que é essencial para criarmos aplicações web utilizando a linguagem Java?

Segundo o Netbeans.org, uma aplicação Java Web gera páginas web interativas, que podem conter vários tipos de linguagens de marcação (HTML, XHTML, XML, entre outras) e conteúdo dinâmico, sendo estas páginas compostas por componentes web como: JavaServer Pages (JSP), servlets e JavaBeans.

Esses componentes são responsáveis pelo armazenamento temporário dos dados que serão transitados a cada requisição/resposta em uma página na web.

Com base em tudo o que falamos até aqui, neste artigo iremos lembrar a trajetória do Java na plataforma web, iniciando com uma breve análise sobre o protocolo HTTP, e falando sobre a importância dos servlets e do JSP no desenvolvimento de aplicações. Depois mostraremos o panorama atual dos principais frameworks de mercado voltados ao desenvolvimento web.

O protocolo HTTP

A comunicação entre navegadores e uma aplicação web é realizada por meio de requisições e respostas definidas pelo protocolo HTTP. Sendo assim, os desenvolvedores de aplicações web devem estar preparados para trabalhar com o protocolo HTTP, conhecendo este a fundo.

O protocolo HTTP permite a clientes e servidores interagir e trocar informações de uma maneira simples e confiável, com a utilização de URIs (Uniform Resource Indentifier) para identificar dados na Internet. Estes identificadores, aliados às localizações dos documentos no servidor, são chamados de URLs (Uniform Resource Locators).

URLs fazem referência a arquivos, diretórios ou objetos situados em um servidor web e que serão acessados a partir de um navegador ou diretamente a partir de outras aplicações.

Como exemplo de URL, temos: http://www.devmedia.com.br/revistas, onde:

http:// – define o protocolo a ser utilizado para obtenção do recurso;

www.devmedia.com.br – define o host, isto é, o nome do computador onde o recurso reside. Este nome é traduzido em um endereço IP, que identifica o servidor na Internet;

/revistas – define a localização do recurso no servidor web.

Servlets

Para armazenarmos nossos recursos em um servidor web, utilizamos um contêiner web. Ele será responsável pelo envio e recebimento de requisições HTTP, além de garantir que nossa aplicação seja acessada de forma simultânea por vários usuários, e que todo conteúdo do sistema seja gerado de forma dinâmica. No mercado existem alguns contêineres web famosos, como o Tomcat e o Jetty.

Também existem os servidores de aplicação, que implementam toda ou parte da especificação Java EE (Java Enterprise Edition), como TomEE, JBoss AS, GlassFish, dentre outros.

O contêiner web é responsável por gerenciar o ciclo de vida dos nossos recursos, mapear uma URL para um recurso particular e garantir que o requisitante da URL possua os direitos de acesso corretos a este recurso. Estes recursos Java que possuem o ciclo de vida controlado pelo contêiner web são denominados servlets.

Os servlets foram definidos a partir de uma especificação Java que está atualmente na versão 3.1 e se encontra detalhada na JSR-340. O objetivo dos Servlets era padronizar a interface dos recursos disponibilizados pelo contêiner web. Os servlets utilizam o protocolo HTTP para realizar o processamento dos dados de um formulário HTML e recuperar informações que são transmitidas a partir desse protocolo, fornecendo conteúdo dinâmico, como dados vindos de uma consulta no banco de dados.

Até a especificação 2.5, para a criação de um Servlet o desenvolvedor necessitava criar a sua classe herdando da classe HttpServlet e, além disto, configurá-lo corretamente no arquivo web.xml. Com a versão 3.0, a declaração do Servlet passou a ser feita também através do uso de anotações.

Para criamos um Servlet, precisamos realizar os seguintes passos:

• Criar uma classe Java;

• Fazer com que esta classe herde da classe javax.servlet.http.HttpServlet;

• Reescrever o método service(), de HttpServlet;

• Utilizar a anotação @WebServlet para definir a URL que será utilizada para acessar este Servlet no contêiner web ou realizar esta configuração diretamente no web.xml.

Listagem 1. Código da classe HelloWorldServlet.

  package devmedia;
   
  @WebServlet("/HelloWorld")
  public class HelloWorldServlet extends HttpServlet {
      private static final long serialVersionUID = 1L;
   
      public HelloWorldServlet() 
      {
          super();
      }
    
      protected void service(HttpServletRequest request,  HttpServletResponse response)
        throws ServletException, IOException
      {
           PrintWriter out = response.getWriter();
           out.print("<HTML><H1>Hello World!</H1></HTML>");
           out.close();
    }
  }

Um exemplo de Servlet pode ser visualizado na Listagem 1. Nele, o método service() é executado toda vez que uma requisição HTTP é realizada para a URL definida na anotação @WebServlet.

Esse método recebe dois parâmetros. O primeiro é a referência do objeto de HttpServletRequest que armazena todos os dados da requisição.

O segundo parâmetro é a referência do objeto de HttpServletResponse, que armazenará o conteúdo gerado pelo Servlet. No método service() estamos instanciando a classe PrinterWriter, que será responsável pela escrita do texto que será visualizado no navegador durante a execução do Servlet. Neste exemplo estamos solicitando a escrita da frase “Hello World!”, l" [...]

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?