我正在尝试在没有 web.xml 的情况下将基本的 jersey restful 服务部署到 Tomcat7:
@WebServlet(loadOnStartup=1)
@ApplicationPath("resources")
@Path("/mypath/{name}")
public class MyResource extends Application {
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> s = new HashSet<Class<?>>();
s.add(MyResource.class);
return s;
}
@GET
@Consumes("text/plain")
@Produces("text/plain")
public String getWelcome(@PathParam(value = "name") String name) {
return "Welcome to jax-rs " + name;
}
}
尝试访问时出现 404:/myapplication/resources/mypath/sample。
我可以使用注解部署 servlet @WebServlet
,因此这与将没有 web.xml 的 servlet 加载到 Tomcat7 中无关。
通过阅读 Jersey 的文档,运行时应该扫描扩展Application
和执行的类getClasses()
,加载所有根资源。