임베디드 부두 및 저지를 사용하여 편안한 웹 서비스에 문제가 있습니다. 나는 ecplise 응용 프로그램의 내부에서 부두 서버를 시작하고 저지 클라이언트를 사용하여 서버와 통신하려고합니다. 부두 및 저지를 사용하여 안정적인 웹 서비스 제공 404
나는이 튜토리얼을 기반으로 RESTful 웹 서비스 구축 : http://jlunaquiroga.blogspot.se/2014/01/restful-web-services-with-jetty-and.html내가 2.x에서 저지 1.x에서에서 자습서를 마이그레이션하는 몇 가지 문제가있었습니다을하지만 결국 내가하고 실행 웹 서버를 얻었다. 이제 문제는 클라이언트 (또는 브라우저)의 요청에 응답하지 않는다는 것입니다. 아무도 이유를 아나요?
제공자 패키지 :
package org.eclipse.eatop.jetty.helloworld.rest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("/xmlServices")
public class XMLProjectService {
@GET
@Produces(MediaType.TEXT_XML)
public String getProject()
{
return "<?xml version=\"1.0\"?>" + "<hello> hello world </hello>" ;
}
}
부두 임베디드 서버 :
public Object execute(ExecutionEvent event) throws ExecutionException {
Server server = new Server(8080);
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
server.setHandler(context);
ServletHolder sh = new ServletHolder(new ServletContainer());
sh.setInitOrder(1);
sh.setInitParameter(ServerProperties.PROVIDER_PACKAGES, "org.eclipse.eatop.jetty.helloworld.rest");
context.addServlet(sh, "/*");
try {
server.start();
} catch (Exception e) {
System.out.println("Unable to start jetty web server");
e.printStackTrace();
}
return null;
}
클라이언트 :
public class Test {
public static void main(String[] args) {
Client client = ClientBuilder.newClient();
WebTarget target = client.target(getBaseURI()).path("xmlServices");
System.out.println(target.request("text/xml").get());
}
private static URI getBaseURI() {
return UriBuilder.fromUri("http://localhost:8080/").build();
}
}
여기
내 코드입니다
이 결과는 내가 얻을 :
InboundJaxrsResponse{ClientResponse{method=GET, uri="http://localhost:8080/xmlServices", status=404, reason=Not Found}}
나는 Jetty 9.2.0.RCO와 JavaSE-1.7 및 Jersey 2.12를 사용하고 있음을 언급해야한다. –
도움이 필요한 경우 : + = [email protected] - STARTED + = org.glassfish.jersey.servlet.ServletContainer-1b05ad2 @ 3c64e64b == org.glassfish.jersey.servlet.ServletContainer, 1 , true - 시작됨 + -jersey.config.server.provider.packages = org.eclipse.eatop.jetty.helloworld.rest + - [/*]=>org.glassfish.jersey.servlet.ServletContainer-1b05ad2 + = org.eclipse.jetty.servlet.ServletHandler $ Default404Servlet-980200 @ 76a611b5 == org.eclipse.jetty.servlet.ServletHandler $ Default404Servlet, -1, false - STARTED + - [/]=>org.eclipse.jetty.servlet. ServletHandler $ Default404Servlet-980200 –