2010-09-23 5 views
0

в META-INF/context.xml моей войны у меня есть:tomcat 6: доступ к веб-приложению без названия войны в URL-адресе и без перезаписи ROOT?

<?xml version="1.0" encoding="UTF-8"?> 
<Context path="/foobar" docBase="my-long-war-name"/> 

развернуть свою войну с WebApps/и я подтверждаю, что мой contex.xml в %CATALINA_HOME%\conf\Catalina\localhost с именем my-long-war-name.xml

Теперь, вместо того, чтобы доступ к моим Служба REST через http:/ /localhost:8080/my-long-war-name/contacts/data tomcat должна разрешать http:/ /localhost:8080/foobar/contacts/data , но я могу получить доступ только к моей службе через прежний URL-адрес. Это похоже на то, что он полностью игнорирует приведенный выше путь для моего веб-приложения. Я даже пробовал исключить docBase, и это тоже не сработало.

Почему это не работает ?! он должен быть таким базовым!

+0

Из-за ограничений в Tomcat вы не можете этого сделать без редактирования server.xml и указания элемента Context. В вашем случае элемент path просто игнорируется. –

+0

Спасибо. Ваш ответ кажется правильным, даже несмотря на то, что в документации Tomcat 5.5 amd 6.0 говорится, что не рекомендуется добавлять это в server.xml. Я просто считаю, что функция context.xml не всегда работает так, как рекламируется. – pastafarian

ответ

0

Я не понимаю, зачем вам нужен <Context>. Я никогда не касаюсь этого при развертывании в Tomcat, и все работает нормально.

Почему вы просто не делаете имя ВОФЛ foobar, развертываете его и делаете с ним? Вы, кажется, привязаны к этой идее, несмотря на доказательства противоположности о том, насколько это важно.

+0

переименование файла войны удалит информацию из военного названия файла, такую ​​как номер версии, который может быть полезен системному администратору без необходимости заглядывать в военный файл. – pastafarian

+0

Звучит как плохое решение. Информация о версии должна находиться внутри манифеста войны. И ваша система сборки станет лучшим источником информации о версии, чем название войны. – duffymo