Como acessar imagens do contexto?

4 respostas
A

Oi pessoal, o problema é o seguinte: tenho uma aplicação em que o Servlet recebe a requisição, realiza as operações e “passa o controle” para a página JSP através do comando request.getRequestDispatcher(“minhaPage.jsp”).forward(request, response);
Entretanto, as imagens referenciadas pela página não são exibidas no browser.
Uma solução, a qual eu não quero utilizar, é usar o comando sendRedirect(“page.jsp”) ao invés de forward(req, resp).
Outra solução, que tb não quero utilizar, seria alterar os caminhos utilizados nas páginas, inserindo o contexto da app. Exemplo, ao invés de utilizar <img src=“oi.gif” />, utilizar <img src="/meuContexto/oi.gif" />.
Alguém pode me indicar uma outra solução??

4 Respostas

R

Se não me engano tem um JSTL que resolve isso para você, <c:url>

M

bem, seu eu não tiver entendido mal a tua dúvida você pode utilizar o request.getContextPath() para resolver o teu problema. ok?

:okok:

A

A sugestão de microfilo é uma opção. Eu já a havia visto em algum local mas não lembrava onde. Encontrei um exemplo na Java Magazine 19, justamente pra contornar esse tipo de problema. O esquema é assim:

<c:url var=“imagem” value="/imagens/minhaImagem.gif" />
<img src="${imagem}" />

No entanto, caso a página seja feita com um editor HTML tipo o dreamweaver ou fireworks, o programador terá a dura tarefa de ter que corrigir os caminhos das imagens. Caso esta abordagem seja utilizada, já na criação da página (com um editor), o web designer fica impossibiltado de visualizar as imagens no seu editor.

Será que alguém conhece outra alternativa melhor?
Valeu galera!

M

salve,

cara não vejo muita solução para que imagens com urls “dinâmicas” serem visualizadas em editores não…

bem o teu problema é que tua página é chamada pela url http://localhost:8080/tuaApp/jsp/tuaPagina.jsp e quando você chama teu servlet o teu jsp reconhece o caminho raíz do servlet e não dele próprio (http://localhost:8080/servelet/TeuServlet) não é??

bem resolvi isto com um ServletContext, que guardava no contexto o caminho da aplicação… bem não dá para visualizar pelo Dreamweaver mas funciona.

:okok:

Criado 30 de junho de 2005
Ultima resposta 2 de jul. de 2005
Respostas 4
Participantes 3