Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Jetty + Static Resources from Jar


Автор: shimopus 10.12.2009, 01:54
Всем привет. Вроде бы и старая добрая тема, но никак не получается реализовать ее стандартными средствами Jetty. Не люблю велосипеды изобретать...

Итак, есть jar. Для простоты предположим, что в корне лежит папка xxx.jar/styles/main.css

Класс загрузчик сервера:
Код


public class Starter {

    public static void main(String[] args) throws Exception {
        Server server = new Server(8080);

        HandlerList handlers = new HandlerList();

        ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
        context.setContextPath("/");
        context.addServlet(new ServletHolder(new ConfigsWorker()),"/*");
        handlers.addHandler(context);

        ResourceHandler staticResources = new ResourceHandler();
        staticResources.setBaseResource(Resource.newSystemResource("."));
        handlers.addHandler(staticResources);

        server.setHandler(handlers);

        server.start();
        server.join();
    }
}


Что делаю. Добавляю один сервлет, который повешан на все адреса. Затем добавляю обработчик обращений к статическим ресурсам. Как я понял из документации, именно его надо ставить вторым в очереди хендлеров, чтобы не принимались все обращения как к ресурсам.

В результате у меня от сервлета по адресу / пиходит html со ссылкой на стиль вида  "/styles/main.css"

Стиль запрашивается браузером, но в ответ получает тот же самый html... Т.е. ResourceHandler не нашел просто этого ресурса.

Подскажите, пожалуйста, где я накосячил и что не учел. 

Заранее спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)