Duvidas sobre RequestDispatcher  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
leonardom
Virtual Machine Man
[Avatar]

Membro desde: 23/02/2003 11:41:23
Mensagens: 679
Localização: Anywhere
Offline

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.

No servlet estou fazendo isso:



Estrutura da minha aplicação:



codigo formulario.jsp:


"If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas."

George Bernard Shaw (1856 - 1950) - Irish dramatist - Nobel Prize of Literature, 1925

blog: http://leonardom.wordpress.com
http://www.insidecode.com.br
[Email] [MSN]
maxguzenski
Virtual Machine Man
[Avatar]

Membro desde: 07/03/2003 11:47:42
Mensagens: 549
Localização: Porto Alegre
Offline

uma solucao bem imbecil, mas pode funcionar:

<img src='./images/logo.jpg' border='0'>

Maximiliano Ferreira Guzenski
Sun Certified Java Programmer 1.4
Sun Certified Web Component Developer 1.4
http://www.guzenski.com.br
[Email] [WWW] [MSN]
leonardom
Virtual Machine Man
[Avatar]

Membro desde: 23/02/2003 11:41:23
Mensagens: 679
Localização: Anywhere
Offline

Valeu!!! Max, mas não funcionou

"If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas."

George Bernard Shaw (1856 - 1950) - Irish dramatist - Nobel Prize of Literature, 1925

blog: http://leonardom.wordpress.com
http://www.insidecode.com.br
[Email] [MSN]
maxguzenski
Virtual Machine Man
[Avatar]

Membro desde: 07/03/2003 11:47:42
Mensagens: 549
Localização: Porto Alegre
Offline

isso ta estranho...

Maximiliano Ferreira Guzenski
Sun Certified Java Programmer 1.4
Sun Certified Web Component Developer 1.4
http://www.guzenski.com.br
[Email] [WWW] [MSN]
rodrigo_gomes
GUJ Master
[Avatar]

Membro desde: 25/11/2003 15:45:21
Mensagens: 1088
Localização: São Paulo
Offline

eu tow tendo um problema parecido com esse

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

se alguem tiver alguma ideia, fico muito grato

Rodrigo Gomes
[WWW] [MSN] [ICQ]
Lucashgt
Virtual Machine Man

Membro desde: 20/06/2003 20:25:41
Mensagens: 511
Localização: BR
Offline

maxguzenski wrote:uma solucao bem imbecil, mas pode funcionar:



Ae leonardom, tenta voltar dois niveis.

[Email] [WWW] [MSN] [ICQ]
leonardom
Virtual Machine Man
[Avatar]

Membro desde: 23/02/2003 11:41:23
Mensagens: 679
Localização: Anywhere
Offline

Lucashgt wrote:

Ae leonardom, tenta voltar dois niveis.



Se eu voltar dois níveis ai não mostra a imagem nem na primeira vez que abro a página.

"If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas."

George Bernard Shaw (1856 - 1950) - Irish dramatist - Nobel Prize of Literature, 1925

blog: http://leonardom.wordpress.com
http://www.insidecode.com.br
[Email] [MSN]
Lucashgt
Virtual Machine Man

Membro desde: 20/06/2003 20:25:41
Mensagens: 511
Localização: BR
Offline

Correto, estava apenas tentando tirar uma dúvida.

Só não consigo entender, como ele não está conseguindo encontrar a imagem.

O diretório socio é único na estrutura, não? Ou você possui mais algum, em outros niveis?
[Email] [WWW] [MSN] [ICQ]
leonardom
Virtual Machine Man
[Avatar]

Membro desde: 23/02/2003 11:41:23
Mensagens: 679
Localização: Anywhere
Offline

Lucashgt wrote:
O diretório socio é único na estrutura, não? Ou você possui mais algum, em outros niveis?


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!!!

"If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas."

George Bernard Shaw (1856 - 1950) - Irish dramatist - Nobel Prize of Literature, 1925

blog: http://leonardom.wordpress.com
http://www.insidecode.com.br
[Email] [MSN]
Lucashgt
Virtual Machine Man

Membro desde: 20/06/2003 20:25:41
Mensagens: 511
Localização: BR
Offline

Posso estar perguntando algo idiota, mas não tem nada a haver com Buffer?

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.

O que acha?
[Email] [WWW] [MSN] [ICQ]
spranta
JavaEvangelist
[Avatar]

Membro desde: 19/01/2004 17:32:48
Mensagens: 305
Localização: Belo Horizonte
Offline

O negócio é o seguinte, no seu web.xml, a url-pattern do seu servlet deve estar configurada como:

<servlet-mapping>
<servlet-name>Cadastro</servlet-name>
<url-pattern>/Cadastro</url-pattern>
</servlet-mapping>

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
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team