Saltar para o conteúdo

J2EE/Servlets

Origem: Wikilivros, livros abertos por um mundo aberto.

Conceitos Básicos

[editar | editar código-fonte]

Servlets (servidorzinho) são classes Java que extendem javax.servlet.http.HttpServlet. Para começar a desenvolver servlets é preciso conhecer alguns conceitos:

  • Request

Pensando em um Site de comércio web, quando alguem clica em um botão ou link, é feita um Request ao servidor. Quando este request chega ao Container, ele é encapsulado em um javax.servlet.http.HttpServletRequest

  • Response

Após processar a requisição do cliente, o Container envia um Response ao Browser que enviou aquele Request. Ele é encapsulado em um javax.servlet.http.HttpServletResponse

  • Método doGet

È a maneira mais simples de se informar parâmetros a servlet. Os parâmetros são passados via QueryString, ou seja, após a URL da servlet, adicione um ? e o nome=valor do parâmetro, caso haja mais de um, separe-os por & conforme o ex.:

  http://localhost:8080/servlet?parametro1=valor1&parametro2=valor2
  • Método doPost

É similar ao metodo doGet, porém os parâmetros não são visíveis na QueryString como no doGet.

Sendo mais prático, abaixo está o código de uma página que chama a MinhaPrimeiraServlet utilizando o metodo doGet:

<html>
  <body>
    <form action="servlet?parametro1=valor1&parametro2=valor2" method="get">
      <input type="submit" value="Enviar" />
    </form>
  </body>
</html>

Se você não entendeu ou tem pouco conhecimento em html, é recomendado que você estude isto primeiro.

MinhaPrimeiraServlet

[editar | editar código-fonte]

Quando o usuário clicar em Enviar, um Request vai chegar ao Container que chamará a servlet:

public class MinhaPrimeiraServlet extends HttpServlet {

  public void doGet(HttpServletRequest req, HttpServletResponse resp)
      throws Exception {

    //Obtêm o PrintWriter que será utilizado para printar o html
    PrintWriter out = resp.getWriter();
    out.println("Minha Primeira Servlet");
    out.close();

  }
}

Configuração

[editar | editar código-fonte]

Para ser acessível, a servlet tem que estar configurada em um arquivo XML denominado Deployment Descriptor, que leva o nome de web.xml.

De modo simplista, a configuração desta servlet seria:

 <servlet>
   <servlet-name>MinhaPrimeiraServlet</servlet-name>
   <servlet-class>wikibooks.MinhaPrimeiraServlet</servlet-class>
 </servlet>

 <servlet-mapping>
   <servlet-name>MinhaPrimeiraServlet</servlet-name>
   <url-pattern>/servlet</url-pattern>
 </servlet-mapping>


Esta página é um esboço de informática. Ampliando-a você ajudará a melhorar o Wikilivros.