Não estou conseguindo de jeito nenhum enviar dados por método post de um applet para um servlet, já tentei todos os exemplos e explicações que encontrei na internet e nada. alguém poderia me ajudar?
obrigado.
Não estou conseguindo de jeito nenhum enviar dados por método post de um applet para um servlet, já tentei todos os exemplos e explicações que encontrei na internet e nada. alguém poderia me ajudar?
obrigado.
HttpClient client = new HttpClient();
client.getParams().setParameter("http.useragent", "Application");
PostMethod method = new PostMethod("http://localhost:8080/app/meu_servlet");
method.addParameter("nome", "valor");
int returnCode = client.executeMethod(method);
System.out.println(method.getResponseBodyAsString());
valeu cara!
acredito que esteja td certo aki coma aplicação, só não consigo fazer meu applet rodar com essa biblioteca do http client.
ele dá erro na execução.
como eu faço:
pego os .class do applet e jogo dentro do projeto web, para que um jsp abra a applet.
Seu cliente vai precisar ter o httpclient.jar no classpath dele.
Se isso não for possível, faz um POST via JSE mesmo:
try {
String data = URLEncoder.encode("var1", "UTF-8") + "=" + URLEncoder.encode("valor1", "UTF-8");
data += "&" + URLEncoder.encode("var2", "UTF-8") + "=" + URLEncoder.encode("valor2", "UTF-8");
URL url = new URL("http://localhost:8080/app/meu_servlet");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = rd.readLine()) != null) {
//faz algo com o response
}
wr.close();
rd.close();
} catch (Exception e) {
}
Já coloquei ele no classpath do projeto do applet, pra usar os métodos, e no classpath do projeto web.
ele da erro ao executar o applet, diz que nao encontra as classes do httpclient, acho que não tá compilando junto. e nao consegui fazer o applet compilar junto.
o outro método dá erro no método:
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
ele não passa daí, não sei porque…
Você tem de inserir o httpclient.jar no CLASSPATH do cliente, na máquina onde está sendo executado o applet, e não no projeto.
Não há reza q faça funcionar, meu código:
//APPLET
private void postResult() {
try {
String data = URLEncoder.encode("senha", "UTF-8") + "=" + URLEncoder.encode("valor1", "UTF-8");
data += "&" + URLEncoder.encode("var2", "UTF-8") + "=" + URLEncoder.encode("valor2", "UTF-8");
URL url = new URL("http://localhost:8084/Transmissao/SrvEnviaMensagem");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = rd.readLine()) != null) {
//faz algo com o response
}
wr.close();
rd.close();
getAppletContext().showDocument(url);
} catch (Exception e) {
}
}
O parâmetro chega nulo ao servlet.
eu estou pegando ele com request.getParameter
seria de outro jeito?
esta faltando alguma coisa?
nào entendi tb esse negócio do response, se preciso fazer algo com ele e tal… essa variavel n tem utilidade (line).
Vlw!
Up aí, se alguem souber, preciso deste programa rodando pra terça pra apresentar o tcc, e só falta esse post funcionar!
Obrigado.
Será que alguém pode me ajudar? pode ser qualquer gambiarra que faça enviar uma string do applet pra um servlet trabalhar em cima dela. Menos por GET pq a string eh grande.
up ai, tentei de td, deve ser alguma coisinha q to errando… to precisando mto desse envio… se alguem puder me ajudar…
Ola desculpa incomodar, mas estou com um problema parecido com o q vc teve no apple e ja to ficando careca kra…
O programa faz o seguinte gera uma img num applet e envia para o server localhost:8084 (netbeans) isto esta funcionando (gritos de alegria), mas como pobre num tem sorte, fiz o deploy no tomcat 5.5 localhost:8080 e a aplicação parou de funcionar quando chama o servlet… olhei no log do apache ele inicializa (chama) o servlet mas num tem resposta… da um erro 500 ou fica sem resposta do servlet.
Por favor me ajuda ai... qualquer informação,dica, é valida.
Agradeço,
Daniel