Problema com perda de sessão  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
maruero
JavaTeenager
[Avatar]

Membro desde: 21/08/2006 12:01:38
Mensagens: 174
Localização: Barueri
Offline

Olá galera,

Enfrentei um problema estranho hoje, foi o seguinte:
Estou desenvolvendo uma aplicação de upload de arquivos através de Servlets.
Tenho uma Servlet responsável pelo upload em sí e uma que é utilizada pela interface para saber o progresso do processo de upload.
O o upload e o progresso são feitos utilizando a ProgressListener e a ServletFileUpload ambas da lib da Apache.
Criei uma ProgressListener na primeira Servlet que simplesmente põe na Sessão uma porcentagem, e essa porcentagem é obtida pela segunda Servlet.

Para testar eu fazia o seguinte:
1.: Usava a primeira Servlet com um arquivo gigante, através de um HTML simples com um FORM no Firefox.
2.: Enquanto a primeira Servlet não respondia eu chamava a segunda para saber o status do upload, através, também, de um HTML simples com um FORM em uma aba diferente da mesma instância do Firefox.
Obs.: Usando o Firebug confirmei que o as duas abas com os dois FORM's enviavam o mesmo código de Sessão.

O meu problema é que sempre durante a execução da segunda Servlet era obtida uma Sessão nova, e não pegava a mesma Sessão utilizada pela primeira Servlet.

Realizei várias tentativas de solucionar o problema, fazer as duas Servlets olharem para a mesma Sessão.
E apenas quando modifiquei a forma com que eu definia o Status do Response que a coisa funcionou.
No caso eu definia no processo do upload status do response como sendo 201 e estava esquecendo de redefiní-lo para 200 no final do processo de upload.
Mas não consegui entender qual é a relação de uma coisa com a outra.

Mas também não consigo entender qual outra coisa estava impedindo de as duas Servlets compartilharem a mesma Sessão.

Alguem aí sabe dizer qual era a fonte do meu problema, que foi resolvido na sorte?

This message was edited 1 time. Last update was at 27/10/2010 17:19:04

maruero
JavaTeenager
[Avatar]

Membro desde: 21/08/2006 12:01:38
Mensagens: 174
Localização: Barueri
Offline

Aparentemente tem haver com o fato de eu tentar fazer uma segunda requisição, que deve levar o JSession consigo, antes da primeira responder para que o browser posso "gravar" o JSession.
Não sei.... estou averiguando.

Alguem tem algum palpite?
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team