Dificuldade com HttpURLConnection

3 respostas
L

Preciso estabelecer uma conexao http com um servlet e estou tendo dificuldades.
Veja um aplicativo de teste que uso para estabelecer a conexao:

package fragmentadordados;

import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;

public class TesteConexao {
    public static void main(String[] args) {
      try{  
        String parametrosDaUrl =    "acao=" + URLEncoder.encode("buscar_dados",  "UTF-8")+
                                    "&dados_id="+URLEncoder.encode("25",  "UTF-8");  
        
        URL url = new URL("http://localhost:8084/appTeste/TesteServlet?"+parametrosDaUrl);
        System.out.println("Executando: "+url);
        
        HttpURLConnection con = (HttpURLConnection) url.openConnection();
        con.setDoInput(true);
        con.setDoOutput(true);
        con.setRequestMethod("GET");
        con.connect();
        
      }catch (Exception e){
          System.out.println("deu pau");
      }       
        
    }
}

Veja agora o método doGet do Servlet que eu uso para receber a conexao:

protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        System.out.println("executou um GET no AppTeste");
        String acao = request.getParameter("acao");
        String dadosId = request.getParameter("dados_id");
        System.out.println("acao: "+acao+", dados_id:"+dadosId);
    }

Detalhe, se eu for no browser e passar a url completa : http://localhost:8084/appTeste/TesteServlet?acao=buscar_dados&dados_id=25
o meu servlet responde bunitinho, mas quando eu executo o aplicativo simplesmente nao acontece nada…

aguardo se alguem conseguir mostrar onde estou errando.
[]s

3 Respostas

gibaholms

oi amigo

logicamente não aconteceu nada neh, vc não esta pegando a resposta do servidor… vc soh esta requisitando, agora vc tem q fazer um inputstream pra receber a resposta do server

L

Olá,

Eu não quero uma reposta do meu servidor agora… veja que o método que eu implementei do doGet nem ao menos retorna algo para o cliente… tudo que eu quero e startar um processo no Servlet quando a requisição chega. O fato é que, por algum motivo que eu desconheço, a requisição não está acontecendo…

L

Prezado gibaholms,

Você estava certíssimo.

O Servlet nao processa a requisição se eu nao quero a resposta. Eu preciso ao menos dar um con.getResponseCode() após estabelecer a conexão para que o processo seja startado no lado servidor, ai funcionou bunitinho.

grato

Criado 3 de março de 2009
Ultima resposta 5 de mar. de 2009
Respostas 3
Participantes 2