SERVLETS
As Servlets são a primeira forma que veremos de criar páginas dinâmicas com Java. Usa-se a própria linguagem Java para isso, criando uma classe que terá capacidade de gerar conteúdo HTML. O nome "servlet" vem da ideia de um pequeno servidor cujo objetivo é receber chamadas HTTP, processá-las e devolver uma resposta ao cliente. Uma primeira ideia da servlet seria que cada uma delas é responsável por uma página, sendo que ela lê dados da requisição do cliente e responde com outros dados. Como no Java tentamos sempre que possível trabalhar orientado a objetos, nada mais natural que uma servlet seja representada como um objeto a partir de uma classe Java. Portanto, cada servlet é um objeto Java que recebe tais requisições (request) e produz algo (response), como uma página HTML dinamicamente gerada.
Pense em um restaurante, onde há clientes e garçons. Dessa forma, imagine que o cliente pede ao garçom um determinado prato do cardápio. Esse por sua vez, solicita ao cozinheiro que faça o prato pedido pelo cliente. Após o cozinheiro terminar o prato, ele chama o garçom que, por sua vez, pega o prato e leva até o cliente. Após terminar de comer a sua refeição, o cliente solicita ao garçom a conta para pagar, que logo em seguida trás a conta. As servlet são, basicamente, como os garçons que tem requisições e depois entregam as respostas, porém o cliente é o browser do usuário.
Usando a Servlet em Java
Esclarescendo melhor o que foi dito anteriormente, a Servlet é uma API Java (do pacote javax.servlet), no qual proporciona ao desenvolvedor Java a possibilidade de adicionar conteúdo dinâmico em um servidor web usando a plataforma Java. Essa tecnologia disponibiliza ao programador de Java uma interface para o servidor web (ou servidor de aplicação), através de uma API. As aplicações baseadas no Servlet geram conteúdo dinâmico (normalmente HTML) e interagem com os clientes, utilizando o modelo request/response. Os servlets normalmente utilizam o protocolo HTTP, apesar de não serem restritos a ele. Um Servlet necessita de um container Web para ser executado.
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.println("< html>\n" + "< head>< title>Hello WWW< /title>< /head>\n" + "< body>\n" + "< h1>Hello WWW< /h1>\n" + "< /body>< /html>"); } }
Lembrando que para executar esse código, será necessário o uso do Tomcat.
Atividade de Fixação
No intuito de fixar a aprendizagem iniciada por meio deste módulo e verificar como está sua compreensão sobre o mesmo, são sugeridos alguns exercícios de fixação para serem resolvidos. Clique no link de exercícios ao lado, pois será por meio dele iniciada a lista de exercícios sobre os conteúdos estudados até este momento.