Servlet

Juliana Jenny Kolb

teste seu conhecimentoHome > Simulados on-line  Questões de Concursos > Tecnologia da Informação (TI) > Java > JEE

Materiais de Estudo Complementares

Apostila Completa Java PDF 2191_64x64
Java_JEE 2191_64x64

 

Servlets

O nome “servlet” vem da ideia de um pequeno servidor (servidorzinho, em inglês) cujo objetivo é receber chamadas HTTP, processá-las e devolver uma resposta ao cliente.

Desta forma, entende-se “servelts”, como uma tecnologia capaz de gerar páginas dinâmicas para a plataforma Java.

Cada servlet é um objeto Java que recebe requisições (request) e produz algo (response), como uma página HTML dinamicamente gerada.

A figura 1 mostra três clientes acessando o mesmo servidor através do protocolo HTTP:

servletsA interface Servlet define exatamente como uma servlet funciona, possibilitando o uso de qualquer protocolo baseado em requisições e respostas, e não especialmente o HTTP.

Exemplificando, para escrevermos uma servlet, criamos uma classe Java que estenda HttpServlet e sobrescreva um método chamado service. Esse método será o responsável por atender requisições e gerar as respostas adequadas. Sua assinatura:

protected void service (HttpServletRequest request,

HttpServletResponse response)

throws ServletException, IOException {

}

Repare que o método recebe dois objetos que representam, respectivamente, a requisição feita pelo usuário e a resposta que será exibida no final.

Servlet x CGI

Diversas requisições podem ser feitas à mesma servlet ao mesmo tempo em um único servidor. Por isso, ela é mais rápida que um programa CGI comum que não permitia isso.

A especicação de servlets cita algumas vantagens em relação ao CGI:

  • Fica na memória entre requisições, não precisa ser reinstanciada;
  • O nível de segurança e permissão de acesso pode ser controlado em Java;
  • Em CGI, cada cliente é representado por um processo, enquanto que com Servlets, cada cliente é representado por uma linha de execução.

Mapeando uma Servlet no WEB.XML

O container não tem como saber o endereço de acesso para executar a Servlet,  a não ser que isso seja configurado. Para isso, mapea-se uma URL específica para uma servlet por meio do arquivo  web.xml, que fica dentro do WEB-INF.

Exemplo:

Começamos com a definição da servlet em si, dentro da tag :

<servlet>

<servlet-name>primeiraServlet </servlet-name>

<servlet-class>br.com.teste.servlet.OiMundo</servlet-class>

</servlet>

Em seguida, mapeie nossa servlet para a URL /oi. Perceba que isso acontece dentro da tag (mapeamento de servlets) e que você tem que indicar que está falando daquela servlet que definimos logo acima: passamos o mesmo servlet-name para o mapeamento.

<servlet-mapping>

<servlet-name>primeiraServlet </servlet-name>

<url-pattern>br.com.teste.servlet.OiMundo</url-pattern>

</servlet-mapping>

Portanto, são necessários dois passos para mapear uma servlet para uma URL:

  1. Definir o nome e classe da servlet;
  2. 2) Usando o nome da servlet, definir a URL.

A servlet pode ser acessada através da seguinte URL: http://localhost:8080/921-agenda/oi

Assim que o arquivo web.xml e a classe da servlet de exemplo forem colocados nos diretórios corretos, basta congurar o Tomcat para utilizar o diretório de base como padrão para uma aplicação Web.

 

msg

Deixe uma resposta