Назад | Перейти на главную страницу

как добавить несколько элементов контекста в conf / context.xml в tomcat6

в моем существующем файле conf / context.xml уже есть элемент; WEB-INF / web.xml

Я хотел бы добавить еще один, чтобы разрешить доступ localhost к местоположению / manager / status в моем мониторинге, однако добавив новый элемент Context, например:

conf / context.xml

----
<Context>
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>
<Context path="/manager" privileged="true"
         docBase="/usr/share/tomcat6/webapps/manager">
         <Valve className="org.apache.catalina.valves.RemoteAddrValve"
                allow="127\.0\.0\.1"/>
</Context>
----

ломает xml, поскольку я предполагаю, что этому файлу нужен единственный корневой элемент для lint / parse ok SEVERE: Parse Fatal Error в строке 6, столбец 2: разметка в документе, следующем за корневым элементом, должна быть правильно сформирована.

org.xml.sax.SAXParseException: The markup in the document following the root element must be well-formed.
        at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)

Подробная информация в файле context.xml используется для всех контекстов. Если вы хотите указать конкретные детали для одного конкретного контекста, создайте файл с тегом контекста в $ CATALINA_BASE / conf / [enginename] / [hostname] /

например. conf / catalina / localhost / manager.xml, который содержит:

<Context privileged="true"
         docBase="/usr/share/tomcat6/webapps/manager">
         <Valve className="org.apache.catalina.valves.RemoteAddrValve"
                allow="127\.0\.0\.1"/>
</Context>

обратите внимание, что нам не нужен путь, так как файл называется manager.xml

прочтите это для более подробной информации: http://tomcat.apache.org/tomcat-6.0-doc/config/context.html

Для Tomcat 5, в отличие от Tomcat 4.x, НЕ рекомендуется размещать элементы непосредственно в файле server.xml. Это связано с тем, что это делает изменение конфигурации контекста более инвазивным, поскольку основной файл conf / server.xml не может быть перезагружен без перезапуска Tomcat.

Элементы контекста могут быть определены явно:

В файле $ CATALINA_HOME / conf / context.xml: информация об элементе контекста будет загружена всеми веб-приложениями. В файле $ CATALINA_HOME / conf / [enginename] / [hostname] /context.xml.default: информация об элементе Context будет загружена всеми веб-приложениями этого хоста. В отдельных файлах (с расширением ".xml") в каталоге $ CATALINA_HOME / conf / [enginename] / [hostname] /. Имя файла (без расширения .xml) будет использоваться в качестве пути контекста. Пути многоуровневого контекста могут быть определены с помощью #, например foo # bar.xml для контекстного пути / foo / bar. Веб-приложение по умолчанию может быть определено с помощью файла с именем ROOT.xml. Только если файл контекста не существует для приложения в каталоге $ CATALINA_HOME / conf / [enginename] / [hostname] /; в отдельном файле в /META-INF/context.xml внутри файлов приложения. Если веб-приложение упаковано как WAR, то /META-INF/context.xml будет скопирован в $ CATALINA_HOME / conf / [enginename] / [hostname] / и переименован в соответствии с контекстным путем приложения. Как только этот файл существует, он не будет заменен, если новый WAR с более новым /META-INF/context.xml будет помещен в appBase хоста. внутри элемента Host в главном conf / server.xml

За исключением server.xml, файлы, которые определяют элементы контекста, могут определять только один элемент контекста.