Chamar JSP do controlador (Iniciante)

4 respostas
C

Oi pessoal,
Estou aprendendo java graças à ajuda do pessoal daki - Brigadão! :razz:

Está acontecendo algo estranho. Tenho um JSP (inicial.jsp) que exibe uma imagem de fundo. Tando o JSP quanto a imagem estão no diretório da aplicação. Se eu chamo localhost/aplicacao/inicial.jsp ele exibe a imagem corretamente.
Porém se eu chamo à partir de um servlet controlador , ele chama a página jsp só que não exibe a imagem
No Servlet chamo assim:

if (this.GerenciaLogin(request)){ super.getServletContext().getRequestDispatcher(response.encodeURL( "/inicial.jsp")).forward(request,response);

Alguém sabe como resolver?
Obrigado e até mais!

4 Respostas

V

Quando vc chama pelo controlador, qual a URL que aparece no browser? e pelo JSP, qual q aparece?

quem faz a solicitação da imagem é o browser com base no atributo src da imagem, verifique se vc está passando corretamente o caminho (relativo ou absoluto) para a imagem

C

Olá viecili
No browser aparece o caminho do servlet controlador, mas a página que é exibida é a do jsp…(sem a imagem)
Já quando eu chamo o JSP diretamente, o caminho q apareçe é o do JSP (daí a imagem aparece)
Quanto ao caminho relativo ou absoluto eu me confundo um pouco, mas como a imagem está no mesmo diretório do JSP, chamo somente o nome a imagem no atributo src.

V

gostaria q vc tivesse sido um pouco mais específico nas URLs, mas td bem…

por exemplo:

Estrutura do site:
\ (raiz)
± home (jsp e imagens)

mapeamento do servlet controlador
\servlet\Controlador

Colocando o caminho da imagem como relativo:

  1. acessando o JSP (imagem aparece)
    http://www.site.com.br/home/meuJSP.jsp
    o browser irá requisitar a imagem na URL http://www.site.com.br/home/imagem.jpg

  2. acessando o Controlador (imagem não aparece)
    http://www.site.com.br/servlet/Controlador?page=meuJSP
    o browser irá requisitar a imagem na URL
    http://www.site.com.br/servlet/imagem.jpg

para resolver isso, faça o caminho da imagem absoluto
<img src="/home/imagem.jpg" />

C

Era isso mesmo cara,
valeu!! muito obrigado.
O lançe é que nunca havia programado para web. estou começando agora. Tem uns detalhes que pegam…
Mas aos poucos a gente vai

Um abraço e até mais!

Criado 10 de novembro de 2004
Ultima resposta 10 de nov. de 2004
Respostas 4
Participantes 2