Boa tarde a todos! Estou tentando fazer um programa (cliente swing) que acesse uma aplicação web feita com struts. Até agora consegui
submeter dados normalmente usando esse código:
URL url = new URL("http://localhost:8084/loja/adicionarProduto.do");
URLConnection con = url.openConnection();
con.setDoOutput(true);
BufferedWriter out = new BufferedWriter(
new OutputStreamWriter(con.getOutputStream()));
out.write("codigo=" + txtCodigo.getText() + "&" +
"descricao=" + txtDescricao.getText() + "&" +
"preco=" + txtPreco.getText() + "&" +
"quantidade=" + txtQuantidade.getText());
O estranho é que ele só funciona quando eu coloco esse comando logo após:
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
Tenho três dúvidas e se alguém souber alguma já vai me ajudar muito!
1- Porque é preciso chamar um objeto de leitura (InputStreamReader) para que o objeto de escrita funcione?
2- Como eu poderia pegar no cliente swing os objetos colocados na sessão? Que na página JSP são facilmente recuperados usando EL: ${objeto}
3- Usar URLConnection é uma boa maneira de se trabalhar com uma aplicação swing interagindo com um servidor web, ou existem outras formas mais indicadas? (Se sim, quais seriam?)
Att,
Fred
