Я пытаюсь написать службу REST, используя Jetty WebAppcontext, у меня есть код ниже, но я получаю 503. Не уверен, что мне не хватает.
public static void main(String[] args) throws Exception {
Server server = new Server(8081);
HandlerCollection handlers=new HandlerCollection();
String resourceBase = WebServer.class.getClassLoader().getResource(".").toString()+"../../src/main/webapp";
WebAppContext webAppContext = new WebAppContext(resourceBase,"/");
System.out.println(" resourceBase "+resourceBase);
handlers.addHandler(webAppContext);
server.setHandler(handlers);
server.start();
System.out.println("Started");
server.join();
}
Web.xml
<servlet>
<servlet-name>Jersey</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>com.app.server.WebApplication</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
Код WebApplication
public class WebApplication extends ResourceConfig {
public WebApplication(){
System.out.println("initialized");
register(JacksonJaxbJsonProvider.class);
packages("com.app.rest.services");
}
}
, а услуга -
@Path("/get")
public class Get {
private static final Logger logger = LogManager.getLogger(Get.class);
@GET
@Produces(MediaType.TEXT_PLAIN)
public String get() {
return "Yes";
}
}
Когда я звоню как http://localhost:8081/rest/get,, получаю 503. Я много пробовално я все еще получаю ту же ошибку.Пожалуйста, дайте мне знать, что мне не хватает.
Спасибо