Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Изменить вид URL'а у tomcat


Автор: Skeleton 9.6.2006, 10:35
При использовании tomcat URL'ы имеют вид www.site.ru/examples/servlet и www.site.ru/examples/page.jsp. Как изменить вид URL'ов на www.site.ru/servlet и www.site.ru/page.jsp ? 

Автор: tux 9.6.2006, 11:32
Загляни в server.xml. Там есть тэг такого типа:
Код

<Host appBase="webapps" autoDeploy="true" debug="0" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">
...
</Host>

Чтобы добиться того, чего хочешь надо, чтобы значение параметра appBase указывало на корень твоего приложения. 

Автор: Stampede 9.6.2006, 19:34
Там еще нужно указать путь контекста приложения.

Если рассказывать на пальцах, каждое веб приложение имеет свой путь (context path). Если его явно не прописывать в конфиге, то в качестве пути будет использовано имя директории, в которой находится приложение, относительно корня всех приложений контейнера (по умолчанию webapps). Например, если твоя прога лежит в /etc/tomcat/webapps/examples, то ее context path будет /examples. Это значит, что все урлы для хождения в прогу начинаются с /examples.

Кроме этого, есть дефолтный контекст.  По умолчанию ему соответствует приложение в директории webapps/root. Если ты хочешь, чтобы к твоей проге можно было обращаиться без указания префикса /examples, то тебе наде отобразить ее на дефолтный контекст. Для этого можно:
  • переименовать examples в root, либо
  • явно прописать дефолтный контекст:
Код

<Host name="www.site.ru" ...>
...
    <Context path="" docBase="examples" ...>
    </Context>
...
</Host>


В зависимости от того, как у тебя прописаны ссылки на внутренние ресурсы (как абсолютные от корня или относительные), у тебя может либо все заработать сразу, либо придется повозиться. Если что - спрашивай, подскажем.  

Автор: Skeleton 9.6.2006, 20:16
Всё заработало, спасибо 

Автор: ochnev 22.7.2007, 23:47
А можно сделать так, чтобы этот локальный сайт был доступен по 80-му порту?
Причём таким образом, чтобы кроме Tomcat на том же компе мог работать и Apache, который тоже сидит на 80-м порту.
То есть, чтобы обращения к localhost:80 ловил Apache (по-прежнему), localhost:8080 - Tomcat (по-прежнему), а www.mylocalsite.com:80 - Tomcat.

Автор: kkorsakoff 23.7.2007, 10:23
На апач ставится mod_jk, настраивается так, что www.mylocalsite.com будет перенаправляться на томкат. На томкате заводится AJP коннектор (он в стандартном конфиге включен). Читать например тут 
http://www.opennet.ru/base/dev/apache2_tomcat5.txt.html
http://www.jboss.ru/jboss_ru/servlet/articles?m=SHOW&id=4816

Добавлено через 30 секунд
Сам же томкат в добавок отвечает на 8080 порту

Автор: v2v 25.7.2007, 12:10
В server.xml 8080 заменяешь на 80.

Автор: kkorsakoff 25.7.2007, 14:37
v2v, человек вроде хочет апач на 80 порту, а томкат на 8080, не путайsmile

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