Servlet enviando Mensagem para Swing

8 respostas
J

Qual uma boa maneira de por meio de um JSP enviar mensagem para uma aplicação Desktop ( Swing ) ?
como se fosse um Chat só que de web para Swing.
eu fiz de uma forma mas naõ deu certo, sobrecarregava no Tomcat e as vezes caia .
eu ficava escutando do Swing os InputStream que poderia chegar ( do JSP ) e visse versa mas

estou com uma dificuldade para iniciar essa Tarefa visto que a ideia que coloquei não ficou mto legal. mas aceito a ajuda de vc’s !

8 Respostas

nbluis

Tem que ser assim mesmo?

Se for o caso não vai conseguir fugir de fazer uma requisição http e pegar o retorno do input stream.

Existe uma API da apache para auxiliar nessas requisições (commons-httpclient).

Mas existem maneiras melhores de fazer isso;

J

Pois é Luiz estou procurando pq ocorre de naõ pegar a mensagem enviada.
Erros tais como java.io.EOFException, StreamReaderException, IOException… ocorre com mta frequencia.

ñ é simplesmente dar um submit ( via JSP ) e no Swing receber bonitinho, se colocar um listening no swing ele retorna Exception mesmo vc tendo enviado pelo JSP uma mensagem ! é meio estranho !
eu usei para enviar JSP p/ Swing

Mas vc sabe outra maneira melhor de fazer ?
se souber por favor me dá um help ! :frowning:

valeu !

nbluis

Cara, utiliza outro tipo de comunicação…

Se seu cliente é swing pra que utilizar jsps?

J

é que é um suporte online , os funcionários irão dar suporte ao internauta (WEB) e os funcionários terão um client instalado em suas máquinas p/ que em qualquer minuto atenda ao usuário na web.
para isso seria mensagens instantâneas.
entendeu ?

[]'s

benflodin

ja implementei uma solução assim e funciona muito bem, recomendo que estude como funciona o protocolo HTTP e
vai entender o porque dos seus problemas.

basicamente o que voce deve fazer eh: uma requisição por operação!
faz a requisição enviando os parametros necessarios, processa sua logica e da como resposta o resultado!

ow isso parece com alguma coisa, o que eh mesmo ??? a um webservice mas sem toda enrolçao de XML’s :twisted:

J

estou fazendo do jeito que me disse !

o chato é que se depara com alguns erros como por ex:

qdo faço um submit vai para o Servlet e  faz esse procedimento

PrintWriter out = response.getWriter();

out.println(msg);

out.close();

// até aqui tudo bem

daí nas linhas debaixo onde faço o retorno o foward para a Página novamente
request.getRequestDispatcher(“msgPost.jsp”).forward(request, response);

dá o seguinte erro:
java.lang.IllegalStateException: Cannot forward after response has been committed

ou seja seria melhor enviar por um Ajax ou algum assim p/ evitar esse erro.

benflodin

quanto voce usa: out.close(); voce encerra a stream, testa tirando isso pra ver.

J

xiii cara pior que não resolveu tirei o .close mas não fez nem cosegas…
erros como EOFException

e java.lang.IllegalStateException: getOutputStream() has already been called for this response ao enviar mensagem:

ObjectOutputStream objectOutputStream = new ObjectOutputStream(response.getOutputStream());

objectOutputStream.writeObject(new String(enviando mensagem teste));

objectOutputStream.flush();

objectOutputStream.close();

persistem em acontecer.

tá fogo viu !!!

Criado 27 de setembro de 2007
Ultima resposta 1 de out. de 2007
Respostas 8
Participantes 3