Como implantar um aplicativo JAX-RS?

A especificação JAX-RS 1.1 diz na página 6:

Se nenhuma subclasse de Aplicação estiver presente, o servlet adicionado DEVE ser nomeado:

javax.ws.rs.core.Application

Qual é o servlet adicionado? Poderia ser um servlet arbitrário?

Se uma subclasse de Aplicativo estiver presente e já houver um servlet definido que tenha um parâmetro de inicialização de servlet chamado:

javax.ws.rs.Application

Mais uma vez, o que é "um servlet" aqui?

Se uma subclasse de Aplicativo estiver presente e não estiver sendo manipulada por um servlet existente, o servlet adicionado pelo ContainerInitializer DEVE ser nomeado com o nome completo da subclasse Aplicativo.

"O servlet adicionado pelo ContainerInitializer" significa que os servlets são adicionados automaticamente? Como seria uma configuração?

No momento não uso nem uma classe Application nem um web.xml e funciona (com o GlassFish 3.1). Este mecanismo de implantação requer uma verificação completa do caminho da classe, que pode ser lenta com grandes bibliotecas?

Como implantar em um contêiner Servlet?

Há um número confuso de opções de configuração na web. Veja issoexemplo com params de contexto no web.xml (não funciona para mim!) Qual é a maneira preferida de implantar um aplicativo JAX-RS?

questionAnswers(4)

yourAnswerToTheQuestion