Conexões HTTP

O método GET, no protocolo HTTP, é responsável por requisições que buscam dados do servidor. É possível passar alguns parâmetros com o GET para obter resultados diferentes, como veremos dentro do nosso exemplo. Vejamos agora a Listagem 6, que demonstra o código do Servlet que receberá as requisições do Android e retornará uma mensagem de boas vindas, que posteriormente será lida no Android.

AخA
1
@WebServlet("/ServletHello") 
2
public class ServletHello extends HttpServlet { 
3
      public ServletHello() { 
4
            super(); 
5
      } 
6
      protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
7
            PrintWriter out = response.getWriter(); 
8
            String mobileId = request.getParameter("id"); 
9
                               
10
            String responseText = ""; 
11
            if(mobileId != null){ 
12
                  System.out.println("Cliente identificado: "+mobileId); 
13
                  responseText = "Ola "+mobileId+" ! Sou seu servidor HTTP"; 
14
            } 
15
            else{ 
16
                  System.out.println("Cliente anonimo!"); 
17
                  responseText = "Ola ! Sou seu servidor HTTP"; 
18
            } 
19
            out.println(responseText); 
20
            out.flush(); 
21
            System.out.println("Resposta enviada..."); 
22
      } 
23
                
24
      @Override 
25
      protected void doPost(HttpServletRequest req, HttpServletResponse resp) 
26
                        throws ServletException, IOException { 
27
                  doGet(req, resp); 
28
      } 
29
}
Listagem 6 - Servlet que receberá as requisições de nosso exemplo.

Perceba que a primeira linha do exemplo indica o caminho que deveremos utilizar dentro de nosso servidor para chegar até o Servlet. Como estaremos executando o servidor em nossa máquina e acessando pela interface local, o endereço para acessar esse Servlet será o http://10.0.2.2:8080/nome-do-app/ServletHello. É importante sempre lembrar de utilizar o endereço 10.0.2.2 ao invés de 127.0.0.1, ou mesmo localhost, quando estivermos executando a aplicação num emulador Android.

Dentro da classe, percebemos que além de ela estender HttpServlet, ela deve implementar o método doGet(request, result), que será responsável por processar as requisições GET que forem recebidas. Além disso, o método doPost(request, result) também está ilustrado no exemplo, pois as requisições POST também são de suma importância para a comunicação bem sucedida entre cliente e servidor. Páginas de login costumam utilizar esse tipo de requisição para realizar a autenticação do usuário, pois os dados não são passados explicitamente, pelo endereço da solicitação.

Versão 5.3 - Todos os Direitos reservados