On Feb 18, 2010, at 5:37 AM, Arun Gupta wrote:
> I have a webapp with the following resource:
>
> @Path("/actor/{id}")
> @RequestScoped
> public class ActorResource {
>    @Inject SakilaBean sakila;
>
>    @GET
>    @Produces("application/json")
>    public Actor getActor(@PathParam("id") int id) {
>        System.out.println("id: " + id);
>        return sakila.findActorById(id);
>    }
> }
>
> This is deployed as simplewebapp.war on GlassFish v3.
>
> http://localhost:8080/simplewebapp/actor/4
>
I am not sure what a "simplewebapp.war" is, but i think i can guess it  
is one that has no web.xml?
Assuming that is the case you need to include the following:
@ApplicationPath("/sakila")
public class MyApplication extends Application {
}
An implementation of Application is required for inform Jersey what  
root resource and provider classes are registered. If you do not  
override any of the methods then all classes annotationed with @Path  
and @Provider will be included.
Paul.
> gives a 404. However adding:
>
> <servlet>
>       <servlet-name>Jersey Web Application</servlet-name>
> <servlet- 
> class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet- 
> class>
>     </servlet>
>
>     <servlet-mapping>
>       <servlet-name>Jersey Web Application</servlet-name>
>       <url-pattern>/sakila/*</url-pattern>
>     </servlet-mapping>
>
> to web.xml, then the resource is available at:
>
> http://localhost:8080/simplewebapp/sakila/actor/4.
>
> Why Jersey servlet need to be registered explicitly ?
>
> -Arun
> -- 
> Need Application Server ? Download from http://glassfish.org
> Blog: http://blogs.sun.com/arungupta
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>