gpt4 book ai didi

java - 使用 Jersey 和 @ApplicationPath 注解加载资源

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:03:00 33 4
gpt4 key购买 nike

我正在尝试在没有 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

我可以使用 @WebServlet 注释部署一个 servlet,所以这与将没有 web.xml 的 servlet 加载到 Tomcat7 无关。

通过阅读 Jersey 的文档,运行时应该扫描扩展 Application 的类并执行 getClasses(),加载所有根资源。

最佳答案

您使用的是哪个版本的 Jersey?尝试将应用程序和资源分成两个类。绝对删除 @WebServlet 注释。 IE。有一个扩展 Application 的类用 @ApplicationPath 注释,另一个类用 @Path 注释。

编辑:确保 jersey-servlet.jar 包含在您的 WAR 文件中。

关于java - 使用 Jersey 和 @ApplicationPath 注解加载资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12768514/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com