REST? Convertendo /Servlet?id=teste&param=value para /Servlet/teste/value

Olá a todos,

Acredito que esse tipo de requisição /Servlet/teste/value seja um padrão do REST. Que seja.

Gostaria de criar um mecanismo e eu não sei como, de interpretar chamadas no servidor sem o uso de passagem por GET (com as parâmetros na url) e sim via caminho. Por exemplo gostaria que a chamada :

/Servlet?kb=1342134&file=teste.jpg seja interpretada como:

Servlet/1342134/teste.jpg

Como isso é possível? Filtros, alguma classe especial, etc etc…

Alguém ai tem alguma dica?

Um abraço,

Davi

Mapeie uma servlet utilizando wildcard “", tipo" /Servlet” em seu web.xml. Depois, recupere a url com PATH_INFO ou getPathInfo()…

Att,
JV – julioviegas.com

Oba, valew pela dica.

Porém esse mapeamento não funcionou. Tentei um filter, mas ele tb não deu certo…

Abraços,

Davi

Mostre como vc fez.

Opa, achei a caca…, agora funcionou para o filter. Fiz o mesmo mapeamento para o servlet e dá 404

Ficou assim:

<filter> <description></description> <display-name> RestFilter</display-name> <filter-name>RestFilter</filter-name> <filter-class>davi.RestFilter</filter-class> </filter> <filter-mapping> <filter-name>RestFilter</filter-name> <url-pattern>/kb/*</url-pattern> </filter-mapping>

Só que no filter eu ainda não consegui achar algo que faça o que o getPathInfo() faz para pegar o que veio depois do /kb/xyz/1234/sdf …

Abraços,

Davi