хостинг файла на пристани - PullRequest
0 голосов
/ 16 марта 2012

Я новичок на пристани. Я знаю, как указывать имена и сопоставления сервлетов в файле web.xml с помощью тегов <servlet> и <servelet-mapping>, но как мне разместить общие файлы на моем сервере Jetty, чтобы я мог вызывать их? В частности, я хочу загрузить несколько изображений и HTML-файл. Я использую файл войны.

Ответы [ 2 ]

2 голосов
/ 16 марта 2012

Если вы создаете файл войны, вам не нужно делать ничего особенного в Jett (или любом другом контейнере сервлетов)

Просто поместите ваши файлы HTML и изображения в файл war. Пока они находятся не в каталоге WEB-INF, они будут доступны клиентам.

Если вы используете стандартные механизмы развертывания Jetty, то, если у вас есть файл war с именем myapp.war и он имеет следующее содержимое:

myapp.war:
    pages/
        index.html
    images/
        logo.png
    WEB-INF/
        classes/
            com/
                example/
                    MyServlet.class
        lib/
            support.jar

тогда ваша страница index.html будет доступна по адресу http://localhost/myapp/pages/index.html (обычно с номером порта для любого порта, на котором вы используете Jetty)

2 голосов
/ 16 марта 2012

Вы хотите использовать DefaultServlet для обслуживания изображений и другого статического содержимого. Документация здесь и пример конфигурации будет выглядеть следующим образом:

  <servlet>
    <servlet-name>staticAssets</servlet-name>
    <servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>staticAssets</servlet-name>
    <url-pattern>/static/*</url-pattern>
  </servlet-mapping>

В вашем файле WAR все, что находится внутри статического каталога, будет отображаться по соответствующему URL.

...