Tomcat и "#" в имени файла/приложения

Все, что вы хотели знать о программизме, но боялись спросить.
Ответить
Аватара пользователя
Димас
Житель
Сообщения: 593
Зарегистрирован: 22 июл 2005, 16:58
Откуда: Север->Торонто

Tomcat и "#" в имени файла/приложения

Сообщение Димас »

Подскажите, кто в Tomcat силен, я тут совсем неопытный.

В webapps имеются подкаталоги типа /myApp, /myApp#UserAdministration, /myApp#AccountManager (Unix).
В Tomcat manager я вижу приложения /myApp, /myApp/UserAdministration, /myApp/AccountManager.
Могу в браузере набрать http://XXX.XXX.XXX.XXX:8080/myApp/UserAdministration и все будет работать.
Подкаталогов UserAdministration, AccountManager в /myApp нет.

Играет ли # здесь какую-то роль или где-то в другом месте собака зарыта?
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 45298
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby - PoCo

Re: Tomcat и "#" в имени файла/приложения

Сообщение Stanislav »

server.xml в студию
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 45298
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby - PoCo

Re: Tomcat и "#" в имени файла/приложения

Сообщение Stanislav »

Тэк-с... Дима еще дрыхнет... :D
Вообще, даже можно и без конфига:

Если у вас в jk.conf написано:
JkMount /myApp имя_жк-воркера

И в server.xml (или в конфигах контекста - иногда они отдельно):
context path="/" ... docBase="myApp"
context path="/UserAdministration" ... docBase="myApp#UserAdministration"
context path="/AccountManager" ... docBase="myApp#AccountManager"

то все нормально - знак # лишь один из символов имени каталога - не более
Аватара пользователя
Димас
Житель
Сообщения: 593
Зарегистрирован: 22 июл 2005, 16:58
Откуда: Север->Торонто

Re: Tomcat и "#" в имени файла/приложения

Сообщение Димас »

Stanislav писал(а):Тэк-с... Дима еще дрыхнет... :D
Вообще, даже можно и без конфига:

Если у вас в jk.conf написано:
JkMount /myApp имя_жк-воркера

И в server.xml (или в конфигах контекста - иногда они отдельно):
context path="/" ... docBase="myApp"
context path="/UserAdministration" ... docBase="myApp#UserAdministration"
context path="/AccountManager" ... docBase="myApp#AccountManager"

то все нормально - знак # лишь один из символов имени каталога - не более
I've waked up! :D
I've checked /apache-tomcat-6.0.18/conf server.xml. There is no "context".
In the context.xml there are only Oracle connection resources and one Manager pathname.
I did not find jk.conf.
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 45298
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby - PoCo

Re: Tomcat и "#" в имени файла/приложения

Сообщение Stanislav »

Димас писал(а):
Stanislav писал(а):Тэк-с... Дима еще дрыхнет... :D
Вообще, даже можно и без конфига:

Если у вас в jk.conf написано:
JkMount /myApp имя_жк-воркера

И в server.xml (или в конфигах контекста - иногда они отдельно):
context path="/" ... docBase="myApp"
context path="/UserAdministration" ... docBase="myApp#UserAdministration"
context path="/AccountManager" ... docBase="myApp#AccountManager"

то все нормально - знак # лишь один из символов имени каталога - не более
I've waked up! :D
I've checked /apache-tomcat-6.0.18/conf server.xml. There is no "context".
In the context.xml there are only Oracle connection resources and one Manager pathname.
I did not find jk.conf.
jk.conf обычно в /etc/httpd/conf.d/
Context elements may be explicitly defined:
* In the $CATALINA_HOME/conf/context.xml file: the Context element information will be loaded by all webapps.
* In the $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml.default file: the Context element information will be loaded by all webapps of that host.
* In individual files (with a ".xml" extension) in the $CATALINA_HOME/conf/[enginename]/[hostname]/ directory. The name of the file (less the .xml) extension will be used as the context path. Multi-level context paths may be defined using #, e.g. foo#bar.xml for a context path of /foo/bar. The default web application may be defined by using a file called ROOT.xml.
* Only if a context file does not exist for the application in the $CATALINA_HOME/conf/[enginename]/[hostname]/; in an individual file at /META-INF/context.xml inside the application files. If the web application is packaged as a WAR then /META-INF/context.xml will be copied to $CATALINA_HOME/conf/[enginename]/[hostname]/ and renamed to match the application's context path. Once this file exists, it will not be replaced if a new WAR with a newer /META-INF/context.xml is placed in the host's appBase.
* inside a Host element in the main conf/server.xml
With the exception of server.xml, files that define Context elements may only define a single Context element.
Аватара пользователя
Димас
Житель
Сообщения: 593
Зарегистрирован: 22 июл 2005, 16:58
Откуда: Север->Торонто

Re: Tomcat и "#" в имени файла/приложения

Сообщение Димас »

Did not find jk.conf.

I am sure the thing is in the "Multi-level context paths may be defined using #, e.g. foo#bar.xml for a context path of /foo/bar." I found context files in the conf/Catalina like myApp#UserAdministration.xml
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 45298
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby - PoCo

Re: Tomcat и "#" в имени файла/приложения

Сообщение Stanislav »

Димас писал(а):Did not find jk.conf.
I am sure the thing is in the "Multi-level context paths may be defined using #, e.g. foo#bar.xml for a context path of /foo/bar." I found context files in the conf/Catalina like myApp#UserAdministration.xml
Это только в описании пути контекста - собственное имя директории, содержащей вебаппликуху, к этому не имеет никакого отношения.
Аватара пользователя
Димас
Житель
Сообщения: 593
Зарегистрирован: 22 июл 2005, 16:58
Откуда: Север->Торонто

Re: Tomcat и "#" в имени файла/приложения

Сообщение Димас »

А вот и имеет!

Создал папку test#aaa в webapps и положил туда простенький index.jsp.
Вуаля! Tomcat manager показывает новое приложение /test/aaa которое успешно запускается как из Tomcat manager так и
в браузере через линк http://localhost:8080/test/aaa/. Каталога test у меня нет, jk.conf и server.xml не редактировал.
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 45298
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby - PoCo

Re: Tomcat и "#" в имени файла/приложения

Сообщение Stanislav »

Димас писал(а):А вот и имеет!

Создал папку test#aaa в webapps и положил туда простенький index.jsp.
Вуаля! Tomcat manager показывает новое приложение /test/aaa которое успешно запускается как из Tomcat manager так и
в браузере через линк http://localhost:8080/test/aaa/. Каталога test у меня нет, jk.conf и server.xml не редактировал.
Уберите опцию автодеплой и посмотрите, кто кого имеет :-)
Ответить