quarta-feira, 28 de abril de 2010

Servlet

O que é servlet?
Servlet é uma classe Java que estende a classe HttpServlet, ela fica responsável por ampliar a capacidade dos servidores que permitem acesso a aplicações por meio do modo request e response.
Quando o cliente (browser) executa uma request, ela é passada para um servlet que vai interpretar e a enviar para o servidor web, sendo assim, o servidor envia uma response para o servlet, que irá convertê-la em HTML e logo após desse processo, o servlet irá devolvê-la para o determinado serviço web.

Arquitetura de um servlet:

HttpServlet: Esta classe possui basicamente 6 métodos que são chamados automaticamente de acordo com os métodos HTTP, que são requisitados.
Exemplo:
Se a request de seu browser for feita pelo método GET, no seu servlet deverá ser chamado o método doGet(). Basicamente você irá trabalhar com dois métodos: o get e o post.
Os 6 métodos são: doPost(); - doGet(); - doPut(); - doDelete(); - doOption(); - doTravel();

HttpServletRequest: É uma interface, que quando o browser faz uma request ao servidor informações importantes, como referencias e cookies, elas são tratadas utilizando métodos desta interface, podendo recuperar cabeçalho e parâmetros passados pelo servidor.
Os principais métodos utilizados para usar os recursos da interface são:

getHeaderName(); = pega todos os nomes do cabeçalho;
getHeader(); = pega todos os valores do cabeçalho;
getQueryString(); = pega a query String completa;
getParameterNames(); = pega todos os names parâmetros passados;
getParameterValues(); = recuperação de parâmetros de multiplos valores;
getParameter(); = Recuperação de parâmetros de acordo com o nome passado.

HttpServletResponse: É uma interface, que oferece vários métodos específicos de protocolo. Sempre você precisará especificar a saída para o seu browser, utilizando os métodos:
setContentType(); ===> neste devemos especificar o tipo de conteúdo que irá responder.
getWriter(); ===> server para imprimir na tela.

exemplo:
Response.setContentType("text/html");
PrintWriter out = response.getWriter();

Ciclo de vida de um servlet:
Em qualquer servlet que você for escrever, você irá precisar implementar diretamente ou indiretamente a interface javax.servlet.servlet. O ciclo de vida de um servlet é composto por 3 etapas: inicialização(init();), atendimento da request(run();, e response, destruição (destroy();).

1º - Carregar: Quando um servidor carrega um servlet, ele roda o método init(). Como na maioria dos servidores existem formas de administrar a hierarquia de processos (threads). Sendo assim o servidor chama o método init() uma única vez, a não ser que o servlet seja recarregado. O servidor não pode recarregar um servlet, a não ser que um servlet seja removido pelo método destroy.

2º - Executar: Quando o servidor carrega e inicializa o servlet, o mesmo, está apto a receber requests do cliente, sendo assim, cada request é acompanhada de um método run();. O método recebe requests do cliente e envia a resposta. Os servlets podem executar vários métodos de serviço de uma vez.

3º - Remover: Os servlets permanecem em execução até que sejam removidos.
Para remover um servlet é preciso utilizar o método destroy(). O método será executado somente uma vez, sendo assim o servidor não utilizará o método destroy() novamente, até que o servlet seja reiniciado de novo.



Nenhum comentário:

Postar um comentário

DÚVIDAS - CRITICAS - SUGESTÕES