Apache + Tomcat + jk: обслуживание статических ресурсов в веб-приложении Java EE - PullRequest
1 голос
/ 04 ноября 2011

Я недавно установил Apache w / s + Tomcat и с помощью jk смог направить запросы от apache к t / c. Примеры в сети обычно имеют вид:

JkMount /*.jsp myTC

У нас есть несколько приложений Java EE, работающих на одном экземпляре Tomcat (тогда зачем использовать apache? Поверьте мне, у меня есть причины). Я подумал, что мы могли бы изменить контекст для каждого из этих приложений на что-то вроде:

/servlet/application1/
/servlet/application2/
/servlet/application3/

и тогда есть что-то вроде:

JkMount /servlet/* myTC

Это будет правильно направлять запросы на tomcat, однако остается вопрос, как обслуживать статические ресурсы для стандартного приложения Java EE:

/webapp-root
    resources/
       css/
       js/
       images/
    WEB-INF/
       /usual-folder-structure

Вопросы:

  1. Как обслуживать ресурсы / папки из apache? Все приложения имеют свои собственные ресурсы / папки. Я считаю, что ресурсы / должны будут находиться вне войны и где-то в doc-корне apache, но не могу понять строку JkMount.

  2. Является ли / servlet / схема «правильным» способом сделать это? Есть ли шаблоны, которым я должен следовать?

Буду признателен за любую помощь, любые указатели на ресурсы в сети были бы хороши, так как мне нужно прочитать об этом намного больше.

1 Ответ

0 голосов
/ 04 ноября 2011

(1) Следующего должно быть достаточно:

JkMount /* myTC
JkUnMount /resources/* myTC

(2) Все в порядке. Есть много правильных решений. Мне лично не нравится / сервлет / в URL. Это мусор, особенно в наше время, когда URL-адреса являются активом сайта / веб-приложения Я использую эту схему:

JkMount /* myTC
JkUnMount /*.css myTC
JkUnMount /*.ico myTC
JkUnMount /*.jpg myTC
JkUnMount /*.js myTC
JkUnMount /*.png myTC
JkUnMount /*.xml myTC
JkUnMount /*.zip myTC
...