현재 작업 디렉토리의 하위 디렉토리 인 "html"디렉토리에서 정적 파일을 제공하는 Jetty가 포함 된 간단한 데모 응용 프로그램을 빌드하려고합니다. 아이디어는 데모 항아리와 내용이있는 디렉토리를 새 위치로 옮겨서 계속 사용할 수 있다는 것입니다.Jetty가 포함 된 정적 파일 검색
다음과 같은 변형을 시도했지만 404가 계속 나타납니다.
ServletContextHandler context =
new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
context.getInitParams().put(
"org.eclipse.jetty.servlet.Default.resourceBase", "html");
context.addServlet(new ServletHolder(new DefaultServlet()), "/html");
Server jetty = new Server(8080);
jetty.setHandler(context);
jetty.start();
업데이트 : 다음은 부두 튜토리얼에 설명 된대로 솔루션입니다. 정답에 언급 한 바와 같이, 대신 ServletContextHandler
의 ResourceHandler
을 사용
Server server = new Server();
SelectChannelConnector connector = new SelectChannelConnector();
connector.setPort(8080);
server.addConnector(connector);
ResourceHandler resource_handler = new ResourceHandler();
resource_handler.setDirectoriesListed(true);
resource_handler.setWelcomeFiles(new String[]{ "index.html" });
resource_handler.setResourceBase(".");
HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[] { resource_handler, new DefaultHandler() });
server.setHandler(handlers);
server.start();
server.join();
pom.xml 파일 : https://code.google.com/p/ram-badger/source/browse/trunk/static-jetty/pom을. xml – cwash
이것은 부두 9에서 작동하지 않는 것 같습니다 ... –
한 얼굴이 부두 9와 동일한 문제 일 경우 @see - http://stackoverflow.com/questions/28346438/resourcehandler-stop-hosting-files-with-jetty -9-404-not-found-error-works-fin –