Servlets – Java Web

De acordo com a Wikipédia, Servlet é um componente do lado servidor que gera dados HTML e XML para a camada de apresentação de um aplicativo Web. É basicamente uma classe na linguagem de programação Java que dinamicamente processa requisições e respostas, proporcionando dessa maneira novos recursos aos servidores. A definição mais usada considera-os extensões de servidores.

Eu diria que é impossível falar de Java Web e não se pensar em Servlet na mesma hora. Muita gente não sabe nem por onde começar a implementar isso. Então vamos lá!

Se você ainda está pensando – “Quero fazer só um Hello World, para que saber sobre Servlet?” – vou dizer, quando escreve um jsp e coloca um “<% %>” por exemplo, quem faz o papel de interpretar essa tag e transformar em HTML é exatamente uma Servlet, que faz parte do JSP Engine.

Agora que estão todos convencidos a aprender, vamos ao tutorial:

1 – Em primeiro lugar, você deve criar a classe que será sua Servlet. No meu caso criei a ExemploServlet:


package teste;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ExemploServlet extends HttpServlet{

public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
response.setContentType("text/html");//seta o tipo de conteúdo da resposta da servlet para html

PrintWriter out = response.getWriter();//instancia o printer, que vai imprimir o html.

out.println("");
out.println("");
out.println("");
out.println("

Oba! Minha Servlet Funcionou! Hoje é dia:"+new Date()+"

");// um parágrafo simples, que imprime a data atual
out.println("");
out.println("");
}
}

OBS: Se você não conseguiu importar as classes de Servlet, baixe a biblioteca aqui. Se não sabe instalar veja aqui como instalar.

2 – Agora, devemos editar o “web.xml” para que ele fique da seguinte maneira:



Flavio


ExemploServlet
teste.ExemploServlet


ExemploServlet
*.aplicacao


3 – Pronto, agora inicie o Tomcat, e digite no browser “http://localhost:8080/[Nome_do_Projeto]/[Qualquer_coisa].aplicacao”
Obs: Em [Qualquer_coisa] você pode colocar qualquer valor mesmo.

This entry was posted in java, Tutoriais and tagged , , , , , . Bookmark the permalink.

4 Responses to Servlets – Java Web

  1. camilo lopes says:

    opa! flavio, parabens! pelo post, bem explicado e detalhado. Em meu blog, ano passado falei tb sobre servlet indo para um conceito do dia-dia e tem alguns exemplos de servlet com jsp.
    http://blog.camilolopes.com.br/?p=86
    http://camilolopes.wordpress.com/2008/07/07/comunicando-servlet-jsp/
    flw abracos,

  2. Excelente artigo, esse doGet, tem haver com os metodos de requisição do html (get e post)?

    podemos então implementar uma ação para quando o metodo for get e outra ação para quando o metodo for post?

  3. Exatamente isso! Temos o doGet se os dados estiverem sendo enviados por Get, e o doPost se os dados estiverem sendo enviados por Post. Note que você passa o HttpServletRequest, que tem métodos que permitem descobrir sobre as informações recebidas, tais como dados de formulários, cabeçalhos de solicitação HTTP. E também o HttpServletResponse que tem métodos que lhe permite especificar a linha de resposta HTTP (200, 404, etc), cabeçalhos de resposta (Content-Type, Set-Cookie, etc) e, mais importante, permite que você obtenha um PrintWriter usado para enviar a saída volta para o cliente.

  4. Daniel says:

    massa mlq… é isso mesmo, mais eu fui fazer o teste na minha aplicao teste aqui que usa struts, fiz o servler e mapiei no web.xml normal junto aos filters, só que quando chamo o url ele da um erro 405 dizendo que HTTP Status 405 – HTTP method GET is not supported by this URL, tu sabe que que rola nesse caso? sera que tem a ver com os filters do struts pras actions?

Deixar uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

*

Pode usar estas etiquetas HTML e atributos: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>