Servlet-mapping

3 respostas
M

Olá pessoal… tudo certo ?

Estou com o seguinte problema:

  • Eu tenho um servlet webdav, para fazer upload de imagens para o meu servidor web, mas no mapping-url eu ponho ele com o valor …>/imagem/*<…

Naturalmente assim que eu acessar meu link: http://ip/meuwar/imagem/pasta1/img.gif
ele vai pegar a imagem da seguinte forma do meu servidor C:\tomcat\webapp\meuwar.war\pasta1\img.gif

Mas eu queria por minhas imagens dentro de uma pasta central no meu war com o nome de imagem para eu pegar ele como:
C:\tomcat\webapp\meuwar.war\imagem\pasta1\img.gif
Mas para isso que tenho que acessar por http://ip/meuwar/imagem/imagem/pasta1/img.gif
e isso eu não queria !

Objetivo: É que eu fiz um war que era todo mapeado com meu webapp, mas agora eu queria que somente ele rodasse caso estivessem acessando /imagem/ do meu war…, e isso me traria uma série de modificações tanto no meu war, quando num aplicativo cliente/servidor que eu tenho integrado !

Espero que alguém possa me ajudar…
Abraço,
Maicon

3 Respostas

M

Humm…

Mas como você está chamando esta imagem? Aí podemos lhe sugerir com mais precisão, porque há várias formas de resolver isto aí, mas seria melhor passar uma que se enquadre melhor a tua situação.

:okok:

M

A princípio eu dou um put com urlConnection e faço o download da mesma forma, com urlInputStream…

Mas mesmo se eu ir no meu navegador e por: http://ip/meuwar/imagem/pasta1/img.gif
minha imagem deverá estar dentro de uma pasta “pasta1” no meu war e não “imagem/pasta1”…

Hah criei uma classe herdada de webDav e sobreescrevi o doPut, para eu poder fazer alguns tratamentos com os arquivos que eu faço upload… mas meu problema está do doGet…

  • Hah, eu pensei em fazer algo assim no meu doGet() pegar o servletPath() concatenar com o pathInfo(), setando um novo pathInfo, mas ele não é me fornecido a opção para eu setar esta propriedade no meu servlet.
M

Uhuuuuullll…

Fechou… eu implementei uma classe do tipo HttpServletRequestWrapper reescrevendo o getPathInfo() adicionando servletPath, e reescrevi o método servidor substituindo o request…

Valeu pelo help !

Criado 31 de maio de 2006
Ultima resposta 1 de jun. de 2006
Respostas 3
Participantes 2