我正在尝试获取部署在Tomcat中的泽西资源的servlet上下文,但是每当我尝试这样做时,我都会得到空指针异常。我的代码如下:
@Path("/resource")
public class MyResource {
@Context ServletContext context;
public MyResource(){
System.out.println("Context: "+context.getRealPath("/"));
}
}
我的网络.xml配置如下:
<servlet>
<servlet-name>MyResource</servlet-name>
<servlet-class>
com.sun.jersey.spi.container.servlet.ServletContainer
</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.mypackage</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>MyResource</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
任何线索我的问题可能是什么?使用 Tomcat 6.0.33 和 Jersey 1.12。
在使用
服务方法访问资源之前,不会进行注入。
@Path("/resource")
public class MyResource {
@Context ServletContext context;
public MyResource() {
System.out.println(context); //null
}
@GET
@Path("subresource")
public Response getASubResource() {
System.out.println(context); // not null
return Response.ok("OK").build();
}
}