Ir para conteúdo
Fórum Script Brasil
  • 0

Enviar Dados De Applet Para Html


pek

Pergunta

Boa tarde a todos!

Será que alguém me pode dar uma ajuda no seguinte:

Tenho uma applet que gera alguns dados, preciso de enviar esses dados para uma página em ASP mas sem ter que abrir uma janela do browser, ou seja, a applet conectar directamente com a página asp e enviar os dados.

Consigo enviar os dados utilizando o código:

java.net.URL url = new java.net.URL("http://www.omeusite.com/pagina.asp?param1=" + param1 + "&param2=" + param2);
getAppletContext.showDocument(url);

mas com a desvantagem de estar a abrir uma janela (e por conseguinte, o cliente vê os dados enviados).

Agradeço desde já toda a ajuda.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Uma solução interessante seria a seguinte:

Sua página ASP, ou uma cópia dela, com as mesmas funções, poderia ser totalmente vazia, aparentemente. Ao receber os dados, ela exibiria algo como "Dados atualizados", ou algo assim. O importante é que a cor de fundo dela se confunda com o da Applet, de modo que você possa inseri-la nesta.

Para inseri-la, você deve utilizar uma JTextPane, que é um componente Swing capaz de abrir páginas HTML. Utilizando essa solução, você ultrapassa a limitação imposta pela conexão socket, que impede a conexão com servidores de terceiros.

Para criar uma JTextPane dessa é bem simples:


JTextPane jtp = new JTextPane();
...
URL url = new URL("http://www.omeusite.com/pagina.asp?param1=" + param1 + "&param2=" + param2");
jtp.setPage(url);

Novamente, esclareço que a JTextPane deve ficar integrada com a applet, de modo que seja quase indetectivel. biggrin.gif

See ya!

Link para o comentário
Compartilhar em outros sites

  • 0

A utilização de uma frame no meu caso não dá porque se por algum motivo (por exemplo bloqueador de pop-ups ou browser que não suporte ou tenha desactivado os frames) a frame não existir a applet abre uma nova janela do browser, o que mostraria os dados passados na url.

A ideia da JTextPane resolve parte do meu problema, uma vez que posso posicionar a JTextPane fora dos limites da applet e nesse caso já não se vê, mas existe o risco de se ocorrer um erro ao abrir a página na JTextPane não existe forma de alertar o utilizador.

Sei que existe uma forma de conectar directamente com a página e que permite o envio de parametros tanto por GET como por POST (o que seria optimo para o meu caso), para além de que permite saber se a conexao falhou ou não.

Se não estou em erro é com a class HttpURLConnection mas ainda não encontrei um exemplo do uso desta class.

De qualquer forma agradeço todas as soluções aqui deixadas.

Link para o comentário
Compartilhar em outros sites

  • 0

Boas!

Consegui fazer a conexao utilizando REQUEST HTTP, vou deixar aqui o código caso alguém precise.

URL url = new URL("http://www.ositeaconectar.com/pagina.asp?param=valoraenviar");

HttpURLConnection connection = (HttpURLConnection) url.openConnection();

connection.setRequestMethod("POST");

connection.connect();

if (connection.getResponseCode() == conexao.HTTP_OK) {
    // Conexao efectuada com sucesso
    // ...o seu código aqui
}
else {
    // Ocorreu um erro ao conectar
    // ...o seu código aqui
}

É apenas ainda necessário efectuar o tratamento das excepções (por exemplo MalformedURLException, IOException, ...)

Espero que ajude! rolleyes.gif

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...