我现有的conf / context.xml文件已经有一个元素; WEB-INF / web.xml文件
我想添加另一个允许本地主机访问到/pipe理器/状态位置我的监测,但是像这样添加一个新的上下文元素;
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 /parsing确定SEVERE:parsing第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>
请注意,我们不需要该path,因为该文件被称为manager.xml
阅读这个更多的细节: http : //tomcat.apache.org/tomcat-6.0-doc/config/context.html
对于Tomcat 5,与Tomcat 4.x不同,build议不要将元素直接放在server.xml文件中。 这是因为它使修改的上下文configuration更具侵略性,因为主要的conf / server.xml文件无法重新加载而不重新启动Tomcat。
上下文元素可以被明确定义:
在$ CATALINA_HOME / conf / context.xml文件中:上下文元素信息将被所有webapps加载。 在$ CATALINA_HOME / conf / [enginename] / [hostname] /context.xml.default文件中:上下文元素信息将被该主机的所有webapp加载。 在$ CATALINA_HOME / conf / [enginename] / [hostname] /目录下的单个文件(扩展名为“.xml”)。 文件的名称(less于.xml)扩展名将被用作上下文path。 可以使用#定义多级上下文path,例如foo#bar.xml作为/ foo / bar的上下文path。 默认的Web应用程序可以使用名为ROOT.xml的文件来定义。 只有在$ CATALINA_HOME / conf / [enginename] / [hostname] /中的应用程序不存在上下文文件的情况下, 在应用程序文件中的/META-INF/context.xml中的单个文件中。 如果Web应用程序打包为WAR,那么/META-INF/context.xml将被复制到$ CATALINA_HOME / conf / [enginename] / [hostname] /并重命名以匹配应用程序的上下文path。 一旦这个文件存在,如果一个新的/META-INF/context.xml文件放在主机的appBase中,它将不会被replace。 在主conf / server.xml中的主机元素内部
除server.xml外,定义Context元素的文件只能定义一个Context元素。