Os materiais didáticos aqui disponibilizados estão licenciados através de Creative Commons Atribuição-SemDerivações-SemDerivados CC BY-NC-ND. Você possui a permissão para visualizar e compartilhar, desde que atribua os créditos do autor. Não poderá alterá-los e nem utilizá-los para fins comerciais.
Atribuição-SemDerivações-SemDerivados
CC BY-NC-ND
Cursos / Informática para Internet / Dispositivos Móveis / Aula
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.
@WebServlet("/ServletHello")
public class ServletHello extends HttpServlet {
public ServletHello() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
String mobileId = request.getParameter("id");
String responseText = "";
if(mobileId != null){
System.out.println("Cliente identificado: "+mobileId);
responseText = "Ola "+mobileId+" ! Sou seu servidor HTTP";
}
else{
System.out.println("Cliente anonimo!");
responseText = "Ola ! Sou seu servidor HTTP";
}
out.println(responseText);
out.flush();
System.out.println("Resposta enviada...");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doGet(req, resp);
}
}
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