web.xmlを使用せずに基本的なジャージ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;
}
}
/ myapplication / resources / mypath / sampleにアクセスしようとすると、404が表示されます。
アノテーションを使用してサーブレットをデプロイできるため、@WebServlet
これはweb.xmlなしのサーブレットをTomcat7にロードすることとは関係ありません。
ジャージーのドキュメントを読んでから、ランタイムは拡張Application
して実行するクラスをスキャンしgetClasses()
、すべてのルートリソースをロードする必要があります。