applicationContext.attributeEvent=Exception thrown by attributes event listener
applicationContext.mapping.error=Error during mapping
applicationContext.requestDispatcher.iae=Path {0} does not start with a "/" character
applicationContext.resourcePaths.iae=Path {0} does not start with a "/" character
applicationContext.setAttribute.namenull=Name cannot be null
applicationDispatcher.allocateException=Allocate exception for servlet {0}
applicationDispatcher.deallocateException=Deallocate exception for servlet {0}
applicationDispatcher.forward.ise=Cannot forward after response has been committed
applicationDispatcher.forward.throw=Forwarded resource threw an exception
applicationDispatcher.include.throw=Included resource threw an exception
applicationDispatcher.isUnavailable=Servlet {0} is currently unavailable
applicationDispatcher.serviceException=Servlet.service() for servlet {0} threw exception
applicationDispatcher.specViolation.request=Original SevletRequest or wrapped original ServletRequest not passed to RequestDispatcher in violation of SRV.8.2 and SRV.14.2.5.1
applicationDispatcher.specViolation.response=Original SevletResponse or wrapped original ServletResponse not passed to RequestDispatcher in violation of SRV.8.2 and SRV.14.2.5.1
applicationRequest.badParent=Cannot locate parent Request implementation
applicationRequest.badRequest=Request is not a javax.servlet.ServletRequestWrapper
applicationResponse.badParent=Cannot locate parent Response implementation
applicationResponse.badResponse=Response is not a javax.servlet.ServletResponseWrapper
aprListener.aprInit=The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: {0}
aprListener.tcnInvalid=An incompatible version {0} of the Apache Tomcat Native library is installed, while Tomcat requires version {1} 
aprListener.tcnVersion=An older version {0} of the Apache Tomcat Native library is installed, while Tomcat recommends version greater than {1}
aprListener.aprDestroy=Failed shutdown of Apache Portable Runtime
containerBase.addDefaultMapper=Exception configuring default mapper of class {0}
containerBase.alreadyStarted=Container {0} has already been started
containerBase.notConfigured=No basic Valve has been configured
containerBase.notStarted=Container {0} has not been started
containerBase.backgroundProcess.cluster=Exception processing cluster {0} background process
containerBase.backgroundProcess.loader=Exception processing loader {0} background process
containerBase.backgroundProcess.manager=Exception processing manager {0} background process
containerBase.backgroundProcess.realm=Exception processing realm {0} background process
containerBase.backgroundProcess.valve=Exception processing valve {0} background process
fastEngineMapper.alreadyStarted=FastEngineMapper {0} has already been started
fastEngineMapper.notStarted=FastEngineMapper {0} has not yet been started
filterChain.filter=Filter execution threw an exception
filterChain.servlet=Servlet execution threw an exception
httpContextMapper.container=This container is not a StandardContext
httpEngineMapper.container=This container is not a StandardEngine
httpHostMapper.container=This container is not a StandardHost
interceptorValve.alreadyStarted=InterceptorValve has already been started
interceptorValve.notStarted=InterceptorValve has not yet been started
naming.bindFailed=Failed to bind object: {0}
naming.jmxRegistrationFailed=Failed to register in JMX: {0}
naming.unbindFailed=Failed to unbind object: {0}
naming.invalidEnvEntryType=Environment entry {0} has an invalid type
naming.invalidEnvEntryValue=Environment entry {0} has an invalid value
naming.namingContextCreationFailed=Creation of the naming context failed: {0}
standardContext.invalidWrapperClass={0} is not a subclass of StandardWrapper
standardContext.alreadyStarted=Context has already been started
standardContext.applicationListener=Error configuring application listener of class {0}
standardContext.applicationSkipped=Skipped installing application listeners due to previous error(s)
standardContext.badRequest=Invalid request path ({0}).
standardContext.crlfinurl=The URL pattern "{0}" contains a CR or LF and so can never be matched.
standardContext.errorPage.error=Error page location {0} must start with a ''/''
standardContext.errorPage.required=ErrorPage cannot be null
standardContext.errorPage.warning=WARNING: Error page location {0} must start with a ''/'' in Servlet 2.4
standardContext.filterMap.either=Filter mapping must specify either a <url-pattern> or a <servlet-name>
standardContext.filterMap.name=Filter mapping specifies an unknown filter name {0}
standardContext.filterMap.pattern=Invalid <url-pattern> {0} in filter mapping
standardContext.filterStart=Exception starting filter {0}
standardContext.filterStartFailed=Failed to start application Filters successfully
standardContext.requestListener.requestInit=Exception sending request initialized lifecycle event to listener instance of class {0}
standardContext.requestListener.requestDestroy=Exception sending request destroyed lifecycle event to listener instance of class {0}
standardContext.requestListenerStartFailed=Failed to start request listener valve successfully
standardContext.requestListenerConfig.added=Added request listener Valve
standardContext.requestListenerConfig.error=Exception adding request listener Valve: {0}
standardContext.isUnavailable=This application is not currently available
standardContext.listenerStart=Exception sending context initialized event to listener instance of class {0}
standardContext.listenerStartFailed=Failed to start application Listeners successfully
standardContext.listenerStop=Exception sending context destroyed event to listener instance of class {0}
standardContext.loginConfig.errorPage=Form error page {0} must start with a ''/'
standardContext.loginConfig.errorWarning=WARNING: Form error page {0} must start with a ''/'' in Servlet 2.4
standardContext.loginConfig.loginPage=Form login page {0} must start with a ''/'
standardContext.loginConfig.loginWarning=WARNING: Form login page {0} must start with a ''/'' in Servlet 2.4
standardContext.loginConfig.required=LoginConfig cannot be null
standardContext.mappingError=MAPPING configuration error for relative URI {0}
standardContext.notFound=The requested resource ({0}) is not available.
standardContext.notReloadable=Reloading is disabled on this Context
standardContext.notStarted=Context has not yet been started
standardContext.notWrapper=Child of a Context must be a Wrapper
standardContext.parameter.duplicate=Duplicate context initialization parameter {0}
standardContext.parameter.required=Both parameter name and parameter value are required
standardContext.pathRequired=Context path must be configured
standardContext.reloadingCompleted=Reloading this Context is completed
standardContext.reloadingFailed=Reloading this Context failed due to previous errors
standardContext.reloadingStarted=Reloading this Context has started
standardContext.resourcesStart=Error starting static Resources
standardContext.securityConstraint.pattern=Invalid <url-pattern> {0} in security constraint
standardContext.servletMap.name=Servlet mapping specifies an unknown servlet name {0}
standardContext.servletMap.pattern=Invalid <url-pattern> {0} in servlet mapping
standardContext.startCleanup=Exception during cleanup after start failed
standardContext.startFailed=Context [{0}] startup failed due to previous errors
standardContext.startingLoader=Exception starting Loader
standardContext.startingManager=Exception starting Manager
standardContext.startingWrapper=Exception starting Wrapper for servlet {0}
standardContext.stoppingContext=Exception stopping Context
standardContext.stoppingLoader=Exception stopping Loader
standardContext.stoppingManager=Exception stopping Manager
standardContext.stoppingWrapper=Exception stopping Wrapper for servlet {0}
standardContext.urlDecode=Cannot URL decode request path {0}
standardContext.urlPattern.patternWarning=WARNING: URL pattern {0} must start with a ''/'' in Servlet 2.4
standardContext.urlValidate=Cannot validate URL decoded request path {0}
standardContext.wrapper.error=JSP file {0} must start with a ''/'
standardContext.wrapper.warning=WARNING: JSP file {0} must start with a ''/'' in Servlet 2.4
standardEngine.alreadyStarted=Engine has already been started
standardEngine.mappingError=MAPPING configuration error for server name {0}
standardEngine.noHost=No Host matches server name {0}
standardEngine.noHostHeader=HTTP/1.1 request with no Host: header
standardEngine.notHost=Child of an Engine must be a Host
standardEngine.notParent=Engine cannot have a parent Container
standardEngine.notStarted=Engine has not yet been started
standardEngine.unfoundHost=Virtual host {0} not found
standardEngine.unknownHost=No server host specified in this request
standardEngine.unregister.mbeans.failed=Error in destroy() for mbean file {0}
standardHost.accessBase=Cannot access document base directory {0}
standardHost.alreadyStarted=Host has already been started
standardHost.appBase=Application base directory {0} does not exist
standardHost.clientAbort=Remote Client Aborted Request, IOException: {0}
standardHost.configRequired=URL to configuration file is required
standardHost.configNotAllowed=Use of configuration file is not allowed
standardHost.installBase=Only web applications in the Host web application directory can be installed
standardHost.installing=Installing web application at context path {0} from URL {1}
standardHost.installingWAR=Installing web application from URL {0}
standardHost.installingXML=Processing Context configuration file URL {0}
standardHost.installError=Error deploying application at context path {0}
standardHost.invalidErrorReportValveClass=Couldn''t load specified error report valve class: {0}
standardHost.docBase=Document base directory {0} already exists
standardHost.mappingError=MAPPING configuration error for request URI {0}
standardHost.noContext=No Context configured to process this request
standardHost.noHost=No Host configured to process this request
standardHost.notContext=Child of a Host must be a Context
standardHost.notStarted=Host has not yet been started
standardHost.nullName=Host name is required
standardHost.pathFormat=Invalid context path: {0}
standardHost.pathMatch=Context path {0} must match the directory or WAR file name: {1}
standardHost.pathMissing=Context path {0} is not currently in use
standardHost.pathRequired=Context path is required
standardHost.pathUsed=Context path {0} is already in use
standardHost.removing=Removing web application at context path {0}
standardHost.removeError=Error removing application at context path {0}
standardHost.start=Starting web application at context path {0}
standardHost.stop=Stopping web application at context path {0}
standardHost.unfoundContext=Cannot find context for request URI {0}
standardHost.warRequired=URL to web application archive is required
standardHost.warURL=Invalid URL for web application archive: {0}
standardHost.validationEnabled=XML validation enabled
standardHost.validationDisabled=XML validation disabled
standardPipeline.alreadyStarted=Pipeline has already been started
standardPipeline.notStarted=Pipeline has not been started
standardPipeline.noValve=No more Valves in the Pipeline processing this request
standardServer.addContainer.ise=No connectors available to associate this container with
standardServer.initialize.initialized=This server has already been initialized
standardServer.start.connectors=At least one connector is not associated with any container
standardServer.start.started=This server has already been started
standardServer.stop.notStarted=This server has not yet been started
standardService.initialize.initialized=This service has already been initialized
standardService.initialize.failed=Service initializing at {0} failed
standardService.register.failed=Error registering Service at domain {0}
standardService.start.name=Starting service {0}
standardService.start.started=This service has already been started
standardService.stop.name=Stopping service {0}
standardService.stop.notStarted=This service has not yet been started
standardWrapper.allocate=Error allocating a servlet instance
standardWrapper.allocateException=Allocate exception for servlet {0}
standardWrapper.containerServlet=Loading container servlet {0}
standardWrapper.createFilters=Create filters exception for servlet {0}
standardWrapper.deallocateException=Deallocate exception for servlet {0}
standardWrapper.destroyException=Servlet.destroy() for servlet {0} threw exception
standardWrapper.exception0=Tomcat Exception Report
standardWrapper.exception1=A Servlet Exception Has Occurred
standardWrapper.exception2=Exception Report:
standardWrapper.exception3=Root Cause:
standardWrapper.initException=Servlet.init() for servlet {0} threw exception
standardWrapper.instantiate=Error instantiating servlet class {0}
standardWrapper.isUnavailable=Servlet {0} is currently unavailable
standardWrapper.jasperLoader=Using Jasper classloader for servlet {0}
standardWrapper.jspFile.format=JSP file {0} does not start with a ''/'' character
standardWrapper.loadException=Servlet {0} threw load() exception
standardWrapper.missingClass=Wrapper cannot find servlet class {0} or a class it depends on
standardWrapper.missingLoader=Wrapper cannot find Loader for servlet {0}
standardWrapper.notChild=Wrapper container may not have child containers
standardWrapper.notClass=No servlet class has been specified for servlet {0}
standardWrapper.notContext=Parent container of a Wrapper must be a Context
standardWrapper.notFound=Servlet {0} is not available
standardWrapper.notServlet=Class {0} is not a Servlet
standardWrapper.privilegedServlet=Servlet of class {0} is privileged and cannot be loaded by this web application
standardWrapper.releaseFilters=Release filters exception for servlet {0}
standardWrapper.serviceException=Servlet.service() for servlet {0} threw exception
standardWrapper.statusHeader=HTTP Status {0} - {1}
standardWrapper.statusTitle=Tomcat Error Report
standardWrapper.unavailable=Marking servlet {0} as unavailable
standardWrapper.unloadException=Servlet {0} threw unload() exception
standardWrapper.unloading=Cannot allocate servlet {0} because it is being unloaded
standardWrapper.waiting=Waiting for {0} instance(s) to be deallocated
