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??
Como acessar imagens do contexto?
4 Respostas
Se não me engano tem um JSTL que resolve isso para você, <c:url>
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 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!
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: