Tenho um Servlet que recebe a requisição de um formulário (codigo abaixo) e faz a validação dos dados, se alguma informação estiver inválida o Servlet faz um forward para esse formulário novamente passando uma mensagem. Porém quando o Servlet faz isso o formulário e a mensagem são exibidos, mas a imagem de logo não é encontrada. Minha dúvida é porque isso acontece e se existe alguma forma de resolver isso.
o usuario entra com login e senha se tiver tudo ok manda pra welcome.jsp
senao manda pra login.html de novo, soh que quando o LoginServlet é chamado ele
simplesmente não faz nada…não aparece nehuma mensagem de erro
fica em branco
jah dei uma procurada aqui no forum e até achei alguem com situação parecida mas não
consegui respostas
[quote=“Lucashgt”]
O diretório socio é único na estrutura, não? Ou você possui mais algum, em outros niveis?[/quote]
Sim o diretório socio é o único abaixo de cadastro. Dentro de sócio tenho images.
Acho que isso ocorre porque qdo executo o Dispacher, ele deve voltar um nível e então não localiza a pasta images porque ela está dentro de socio. Mas o correto era isso não acontecer. Realmente não entendo!!!
Posso estar perguntando algo idiota, mas não tem nada a haver com Buffer?
:arrow: Tenta setar para que a mesma não seja armazenada em Buffer, assim quando solicitada, ela terá que fazer as solicitações de imagens e tudo mais novamente.
Assim, quando vc executa o dispatcher.forward(request, response) dentro deste servlet vc pode ver que a sua url que está na barra de endereços do seu navegador não está localhost:8080/cadastro /socio/formulario.jsp
e sim como localhost:8080/cadastro /Cadastro.
Desta forma ele não vai achar a sua imagem porque se a sua referencia é: img src=‘images/logo.jpg’ border=‘0’, então ele vai buscar em: localhost:8080/cadastro/images/logo.jpg, e como vc pode ver este não é o caminho correto, que é localhost:8080/cadastro/socio/images/logo.jpg
Sendo assim, se vc mudar a referencia da sua imagem na sua jsp para
img src=‘socio/images/logo.jpg’ border=‘0’, aí vc conserta a referencia quando vc voltar do servlet mas por outro lado vc vai perdê-la quando for chamar a pagina do formulario diretamente, pois a referencia a imagem ficaria: localhost:8080/cadastro/socio/socio/images/logo.jpg que nao está certo.
Ou seja, para consertar isso, vc precisa dar nova referencia a url-pattern deste servlet para que ele nao volte para a raiz de forma que então ele passe a possuir o mesmo nivel de estrutura de arvore da jsp que o chamou e para a qual ele retorna a requisição.
Espero que vc tenha entendido.
Otávio