Пожалуйста, помогите мне, ребята, я схожу с ума здесь ..Джерси Jetty Embedded не будет читать Путь аннотацию, Ошибка 404
Так что я пытался использовать трикотаж (2.22.1) во встроенном причалу (9.2. 14.v20151106), с очень простым основным приложением, как это:
public class MainApp{
public static void main(String[] args) throws Exception {
Server server = new Server(8080);
ServletContextHandler context = new ServletContextHandler(server, "/", ServletContextHandler.SESSIONS);
ServletHolder sh = new ServletHolder(ServletContainer.class);
sh.setInitParameter(ServerProperties.PROVIDER_PACKAGES, "etc.mypackage");
sh.setInitParameter(ServerProperties.PROVIDER_SCANNING_RECURSIVE, "true");
sh.setInitParameter(ServerProperties.TRACING, "ALL");
sh.setInitParameter("jersey.config.server.tracing", "ALL");
sh.setInitOrder(1);
sh.setInitParameter("com.sun.jersey.api.json.POJOMappingFeature", "true");
context.addServlet(sh, "/");
server.start();
server.join();
}
}
Одна из вещей, что не работаешь здесь является то, что, кажется, не трассировка Джерси, чтобы работать, даже если установить его в параметре ,
И у меня есть 2 сервлетам etc.mypackage.servlets
:
@Path("/")
public class TestServlet {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String testString){ return "TestServlet.class; }
@Path("test1")
@GET
@Produces(MediaType.TEXT_PLAIN)
public String getString(){
String test = "TestServlet.class second method called";
return test;
}
}
, а другой с идентичными функциями, но с другой путь и отладки строки:
@Path("/2")
public class TestServlet2 {
@Path("/test1")
@GET
@Produces(MediaType.TEXT_PLAIN)
public String testString){ return "TestServlet2.class; }
@Path("test2")
@GET
@Produces(MediaType.TEXT_PLAIN)
public String getString(){
String test = "TestServlet2.class second method called";
return test;
}
}
Эти коды запуска и при вызове его в http://localhost:8080/ он вернет простой текст TestClass.class из первого метода этот класс, но если я добавлю больше пути в ссылку, он просто вернет ту же строку и никак не сможет вызвать для него второй способ: TestServlet класс или TestServlet2.
Но если изменил путь от TestServlet из @Path («/») во что-нибудь, кроме того, он просто возвращает ошибку 404 для любого URL, включая http://localhost:8080/. Я пробовал все, что я могу думать о причинах, но безуспешно, и это так расстраивает. Я что-то упустил?
Благодаря ...
Это работает! Я не могу поверить, что на самом деле это была проблема, потому что я был уверен, что я попытался с шаблоном, но я, должно быть, что-то изменил раньше. Огромное спасибо – samiunn