# Deprecated API

## Contents

- Deprecated Interfaces
- Deprecated Classes
- Deprecated Exceptions
- Deprecated Fields
- Deprecated Methods
- Deprecated Constructors

- Deprecated Interfaces
  Interface and Description
  org.apache.tomcat.util.codec.BinaryDecoder This interface is unused and will be removed in Tomcat 9
  org.apache.tomcat.util.codec.BinaryEncoder This interface is unused and will be removed in Tomcat 9
  org.apache.tomcat.util.codec.Decoder This interface is unused and will be removed in Tomcat 9
  org.apache.tomcat.util.digester.DocumentProperties.Encoding This method will be removed in Tomcat 9
  org.apache.tomcat.util.codec.Encoder This interface is unused and will be removed in Tomcat 9

- Deprecated Classes
  Class and Description
  org.apache.coyote.ajp.AjpProtocol This class will be removed in Tomcat 9.
  org.apache.jasper.xmlparser.ASCIIReader Will be removed in Tomcat 9.0.x onwards
  org.apache.catalina.realm.Constants Unused. Will be removed in Tomcat 9
  org.apache.naming.Constants Unused. Will be removed in Tomcat 9.
  org.apache.jasper.el.ELResolverImpl
  org.apache.jasper.xmlparser.EncodingMap Will be removed in Tomcat 9.0.x onwards
  org.apache.jasper.el.ExpressionEvaluatorImpl
  org.apache.jasper.el.ExpressionImpl
  org.apache.jasper.el.FunctionMapperImpl
  org.apache.coyote.http11.Http11Protocol This class will be removed in Tomcat 9.
  org.apache.tomcat.util.net.jsse.JSSEKeyManager Unused. This class will be removed in Tomcat 9.
  org.apache.catalina.util.MIME2Java Unused. Will be removed in Tomcat 9.
  org.apache.tomcat.util.digester.RuleSetBase Unnecessary once deprecated methods are removed. Will be removed in Tomcat 9.
  org.apache.jasper.xmlparser.SymbolTable Will be removed in Tomcat 9.0.x onwards
  org.apache.jasper.xmlparser.UCSReader Will be removed in Tomcat 9.0.x onwards
  org.apache.jasper.xmlparser.UTF8Reader Will be removed in Tomcat 9.0.x onwards
  org.apache.jasper.el.VariableResolverImpl
  org.apache.jasper.xmlparser.XMLChar Will be removed in Tomcat 9.0.x onwards
  org.apache.jasper.xmlparser.XMLEncodingDetector Will be removed in Tomcat 9.0.x onwards
  org.apache.jasper.xmlparser.XMLString Will be removed in Tomcat 9.0.x onwards
  org.apache.jasper.xmlparser.XMLStringBuffer Will be removed in Tomcat 9.0.x onwards

- Deprecated Exceptions
  Exceptions and Description
  org.apache.tomcat.util.codec.DecoderException This exception is unused and will be removed in Tomcat 9
  org.apache.tomcat.util.codec.EncoderException This exception is unused and will be removed in Tomcat 9

- Deprecated Fields
  Field and Description
  org.apache.coyote.http11.Constants.ACK_BYTES_REASON This option will be removed in Tomcat 9. Reason phrase will not be sent.
  org.apache.catalina.loader.WebappClassLoaderBase.allPermission Unused. This will be removed in Tomcat 9.
  org.apache.catalina.util.DOMWriter.canonical Will be made private in Tomcat 9.
  org.apache.coyote.Constants.DEFAULT_CHARACTER_ENCODING This will be removed in Tomcat 9.0.x onwards.
  org.apache.tomcat.util.http.Parameters.DEFAULT_ENCODING This will be removed in Tomcat 9.0.x
  org.apache.catalina.ha.session.DeltaManager.managerName Unused. Will be removed in Tomcat 9
  org.apache.catalina.realm.UserDatabaseRealm.name This will be removed in Tomcat 9 onwards.
  org.apache.catalina.realm.MemoryRealm.name This will be removed in Tomcat 9 onwards.
  org.apache.catalina.realm.JNDIRealm.name This will be removed in Tomcat 9 onwards.
  org.apache.catalina.realm.JDBCRealm.name This will be removed in Tomcat 9 onwards.
  org.apache.catalina.realm.JAASRealm.name This will be removed in Tomcat 9 onwards.
  org.apache.catalina.realm.DataSourceRealm.name This will be removed in Tomcat 9 onwards.
  org.apache.catalina.realm.CombinedRealm.name This will be removed in Tomcat 9 onwards.
  org.apache.tomcat.util.digester.RuleSetBase.namespaceURI Unused. This will be removed in Tomcat 9.
  org.apache.tomcat.util.digester.RulesBase.namespaceURI Unused. Will be removed in Tomcat 9.0.x
  org.apache.catalina.util.DOMWriter.out Will be made private in Tomcat 9.
  org.apache.tomcat.util.digester.CallMethodRule.paramClassNames Unused. This will be removed in Tomcat 9.
  org.apache.catalina.servlets.DefaultServlet.RESOURCES_JNDI_NAME Unused. Will be removed in Tomcat 9.
  org.apache.catalina.session.StandardSession.sessionContext
  org.apache.tomcat.jni.SSL.SSL_OP_PKCS1_CHECK_1 Unsupported in the current version of OpenSSL
  org.apache.tomcat.jni.SSL.SSL_OP_PKCS1_CHECK_2 Unsupported in the current version of OpenSSL
  org.apache.catalina.connector.Connector.URIEncoding This will be removed in 9.0.x onwards
  org.apache.catalina.connector.Connector.URIEncodingLower This will be removed in 9.0.x onwards
  org.apache.coyote.Constants.USE_CUSTOM_STATUS_MSG_IN_HEADER This option will be removed in Tomcat 9. Reason phrase will not be sent.
  org.apache.catalina.authenticator.Constants.USE_SUBJECT_CREDS_ONLY_PROPERTY Unused. Will be removed in Tomcat 9.

- Deprecated Methods
  Method and Description
  org.apache.catalina.Context.addServletMapping(String, String) Will be removed in Tomcat 9. Use `Context.addServletMappingDecoded(String, String)`
  org.apache.catalina.core.StandardContext.addServletMapping(String, String)
  org.apache.catalina.Context.addServletMapping(String, String, boolean) Will be removed in Tomcat 9. Use `Context.addServletMappingDecoded(String, String, boolean)`
  org.apache.catalina.core.StandardContext.addServletMapping(String, String, boolean)
  org.apache.jasper.compiler.SmapGenerator.addSmap(String, String) Unused. This will be removed in Tomcat 9.0.x
  org.apache.jasper.compiler.SmapGenerator.addStratum(SmapStratum, boolean) Use `SmapGenerator.setStratum(SmapStratum)`
  org.apache.catalina.startup.Tomcat.addWebapp(Host, String, String, ContextConfig) Use `Tomcat.addWebapp(Host, String, String, LifecycleListener)` instead
  org.apache.tomcat.jdbc.pool.PooledConnection.checkUser(String, String) use `PooledConnection.shouldForceReconnect(String, String)` method kept since it was public, to avoid changing interface.
  org.apache.catalina.servlets.DefaultServlet.copy(WebResource, InputStream, PrintWriter, String) Unused. This will be removed in Tomcat 9. Use `DefaultServlet.copy(InputStream, PrintWriter, String)`
  org.apache.catalina.servlets.DefaultServlet.copy(WebResource, InputStream, ServletOutputStream) Unused. This will be removed in Tomcat 9. Use `DefaultServlet.copy(InputStream, ServletOutputStream)`
  org.apache.tomcat.util.codec.binary.BaseNCodec.decode(Object) This unused method will be removed in Tomcat 9
  org.apache.coyote.Request.doRead(ByteChunk) Unused. Will be removed in Tomcat 9. Use `Request.doRead(ApplicationBufferHandler)`
  org.apache.coyote.InputBuffer.doRead(ByteChunk) Unused. Will be removed in Tomcat 9. Use `InputBuffer.doRead(ApplicationBufferHandler)`
  org.apache.coyote.ajp.AjpProcessor.SocketInputBuffer.doRead(ByteChunk) Unused. Will be removed in Tomcat 9. Use `AjpProcessor.SocketInputBuffer.doRead(ApplicationBufferHandler)`
  org.apache.coyote.http11.Http11InputBuffer.doRead(ByteChunk) Unused. Will be removed in Tomcat 9. Use `Http11InputBuffer.doRead(ApplicationBufferHandler)`
  org.apache.coyote.http11.filters.VoidInputFilter.doRead(ByteChunk) Unused. Will be removed in Tomcat 9. Use `VoidInputFilter.doRead(ApplicationBufferHandler)`
  org.apache.coyote.http11.filters.SavedRequestInputFilter.doRead(ByteChunk) Unused. Will be removed in Tomcat 9. Use `SavedRequestInputFilter.doRead(ApplicationBufferHandler)`
  org.apache.coyote.http11.filters.IdentityInputFilter.doRead(ByteChunk) Unused. Will be removed in Tomcat 9. Use `IdentityInputFilter.doRead(ApplicationBufferHandler)`
  org.apache.coyote.http11.filters.ChunkedInputFilter.doRead(ByteChunk) Unused. Will be removed in Tomcat 9. Use `ChunkedInputFilter.doRead(ApplicationBufferHandler)`
  org.apache.coyote.http11.filters.BufferedInputFilter.doRead(ByteChunk) Unused. Will be removed in Tomcat 9. Use `BufferedInputFilter.doRead(ApplicationBufferHandler)`
  org.apache.coyote.Response.doWrite(ByteChunk) Unused. Will be removed in Tomcat 9. Use `Response.doWrite(ByteBuffer)`
  org.apache.coyote.OutputBuffer.doWrite(ByteChunk) Unused. Will be removed in Tomcat 9. Use `OutputBuffer.doWrite(ByteBuffer)`
  org.apache.coyote.ajp.AjpProcessor.SocketOutputBuffer.doWrite(ByteChunk) Unused. Will be removed in Tomcat 9. Use `AjpProcessor.SocketOutputBuffer.doWrite(ByteBuffer)`
  org.apache.coyote.http11.Http11OutputBuffer.doWrite(ByteChunk) Unused. Will be removed in Tomcat 9. Use `Http11OutputBuffer.doWrite(ByteBuffer)`
  org.apache.coyote.http11.Http11OutputBuffer.SocketOutputBuffer.doWrite(ByteChunk) Unused. Will be removed in Tomcat 9. Use `Http11OutputBuffer.SocketOutputBuffer.doWrite(ByteBuffer)`
  org.apache.coyote.http11.filters.VoidOutputFilter.doWrite(ByteChunk) Unused. Will be removed in Tomcat 9. Use `VoidOutputFilter.doWrite(ByteBuffer)`
  org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(ByteChunk) Unused. Will be removed in Tomcat 9. Use `IdentityOutputFilter.doWrite(ByteBuffer)`
  org.apache.coyote.http11.filters.GzipOutputFilter.doWrite(ByteChunk) Unused. Will be removed in Tomcat 9. Use `GzipOutputFilter.doWrite(ByteBuffer)`
  org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ByteChunk) Unused. Will be removed in Tomcat 9. Use `ChunkedOutputFilter.doWrite(ByteBuffer)`
  org.apache.tomcat.util.codec.binary.BaseNCodec.encode(Object) This unused method will be removed in Tomcat 9
  org.apache.catalina.util.URLEncoder.encode(String) Use `URLEncoder.encode(String, String)`
  org.apache.catalina.util.URLEncoder.encode(String, String) This will be removed in Tomcat 9.0.x
  org.apache.catalina.connector.Response.encodeRedirectUrl(String) As of Version 2.1 of the Java Servlet API, use `encodeRedirectURL()` instead.
  org.apache.catalina.filters.CsrfPreventionFilter.CsrfResponseWrapper.encodeRedirectUrl(String)
  org.apache.catalina.connector.Response.encodeUrl(String) As of Version 2.1 of the Java Servlet API, use `encodeURL()` instead.
  org.apache.catalina.filters.CsrfPreventionFilter.CsrfResponseWrapper.encodeUrl(String)
  org.apache.catalina.loader.WebappClassLoaderBase.filter(String) Use `WebappClassLoaderBase.filter(String, boolean)` This will be removed in Tomcat 9
  org.apache.coyote.AbstractProtocol.getBacklog()
  org.apache.tomcat.util.net.AbstractEndpoint.getBacklog()
  org.apache.tomcat.dbcp.dbcp2.DelegatingResultSet.getBigDecimal(int, int) Use `DelegatingResultSet.getBigDecimal(int)`
  org.apache.tomcat.dbcp.dbcp2.DelegatingCallableStatement.getBigDecimal(int, int) Use `DelegatingCallableStatement.getBigDecimal(int)` or `DelegatingCallableStatement.getBigDecimal(String)`
  org.apache.tomcat.dbcp.dbcp2.DelegatingResultSet.getBigDecimal(String, int) Use `DelegatingResultSet.getBigDecimal(String)`
  org.apache.tomcat.util.buf.B2CConverter.getCharsetLower(String) Will be removed in Tomcat 9.0.x
  org.apache.coyote.http11.AbstractHttp11Protocol.getCompressableMimeType() Use `AbstractHttp11Protocol.getCompressibleMimeType()`
  org.apache.coyote.http11.AbstractHttp11Protocol.getCompressableMimeTypes() Use `AbstractHttp11Protocol.getCompressibleMimeTypes()`
  org.apache.tomcat.util.descriptor.web.XmlEncodingBase.getEncoding() This method will be removed in Tomcat 9
  org.apache.tomcat.util.http.Parameters.getEncoding() This method will be removed in Tomcat 9.0.x
  org.apache.jasper.runtime.PageContextImpl.getExpressionEvaluator()
  org.apache.jasper.runtime.JspContextWrapper.getExpressionEvaluator()
  org.apache.catalina.realm.UserDatabaseRealm.getName()
  org.apache.catalina.realm.RealmBase.getName() This will be removed in Tomcat 9 onwards. Use `Class.getSimpleName()` instead.
  org.apache.catalina.realm.NullRealm.getName()
  org.apache.catalina.realm.MemoryRealm.getName()
  org.apache.catalina.realm.JNDIRealm.getName()
  org.apache.catalina.realm.JDBCRealm.getName()
  org.apache.catalina.realm.JAASRealm.getName()
  org.apache.catalina.realm.DataSourceRealm.getName()
  org.apache.catalina.realm.CombinedRealm.getName()
  org.apache.tomcat.util.digester.RuleSetBase.getNamespaceURI() Unused. This will be removed in Tomcat 9.
  org.apache.tomcat.util.digester.RuleSet.getNamespaceURI() Unused. Will be removed in Tomcat 9
  org.apache.tomcat.util.digester.Rules.getNamespaceURI() Unused. Will be removed in Tomcat 9
  org.apache.catalina.servlets.DefaultServlet.getReadme(WebResource) Unused. Will be removed in Tomcat 9
  org.apache.catalina.connector.Request.getRealPath(String) As of version 2.1 of the Java Servlet API, use `ServletContext.getRealPath()`.
  org.apache.tomcat.util.digester.Digester.getRuleNamespaceURI() Unused. Will be removed in Tomcat 9
  org.apache.coyote.AbstractProtocol.getSendReasonPhrase() This option will be removed in Tomcat 9. Reason phrase will not be sent.
  org.apache.catalina.core.ApplicationContextFacade.getServlet(String) As of Java Servlet API 2.1, with no direct replacement.
  org.apache.catalina.core.ApplicationContext.getServlet(String)
  org.apache.jasper.servlet.JspCServletContext.getServlet(String) This method has been deprecated with no replacement
  org.apache.catalina.core.ApplicationContextFacade.getServletNames() As of Java Servlet API 2.1, with no direct replacement.
  org.apache.catalina.core.ApplicationContext.getServletNames()
  org.apache.jasper.servlet.JspCServletContext.getServletNames() This method has been deprecated with no replacement
  org.apache.catalina.core.ApplicationContextFacade.getServlets() As of Java Servlet API 2.1, with no direct replacement.
  org.apache.catalina.core.ApplicationContext.getServlets()
  org.apache.jasper.servlet.JspCServletContext.getServlets() This method has been deprecated with no replacement
  org.apache.catalina.session.StandardSessionFacade.getSessionContext() As of Version 2.1, this method is deprecated and has no replacement.
  org.apache.catalina.session.StandardSession.getSessionContext() As of Version 2.1, this method is deprecated and has no replacement. It will be removed in a future version of the Java Servlet API.
  org.apache.coyote.AbstractProtocol.getSoLinger()
  org.apache.tomcat.util.net.AbstractEndpoint.getSoLinger()
  org.apache.coyote.AbstractProtocol.getSoTimeout()
  org.apache.tomcat.util.net.AbstractEndpoint.getSoTimeout()
  org.apache.jasper.compiler.SmapStratum.getStratumName() Unused. This will be removed in Tomcat 9.0.x
  org.apache.tomcat.dbcp.dbcp2.DelegatingResultSet.getUnicodeStream(int) Use `DelegatingResultSet.getCharacterStream(int)`
  org.apache.tomcat.dbcp.dbcp2.DelegatingResultSet.getUnicodeStream(String) Use `DelegatingResultSet.getCharacterStream(String)`
  org.apache.catalina.valves.rewrite.ResolverImpl.getUriEncoding()
  org.apache.catalina.valves.rewrite.Resolver.getUriEncoding() This will be removed in Tomcat 9.0.x
  org.apache.catalina.connector.Connector.getURIEncodingLower() This will be removed in 9.0.x onwards
  org.apache.catalina.session.StandardSessionFacade.getValue(String) As of Version 2.2, this method is replaced by `StandardSessionFacade.getAttribute(java.lang.String)`.
  org.apache.catalina.session.StandardSession.getValue(String) As of Version 2.2, this method is replaced by `getAttribute()`
  org.apache.catalina.session.StandardSessionFacade.getValueNames() As of Version 2.2, this method is replaced by `StandardSessionFacade.getAttributeNames()`
  org.apache.catalina.session.StandardSession.getValueNames() As of Version 2.2, this method is replaced by `getAttributeNames()`
  org.apache.jasper.runtime.PageContextImpl.getVariableResolver()
  org.apache.jasper.runtime.JspContextWrapper.getVariableResolver()
  org.apache.catalina.util.DOMWriter.getWriterEncoding() Unused. Will be removed in Tomcat 9.
  org.apache.tomcat.jdbc.pool.interceptor.StatementCache.isCached(String) Unused. Will be removed in Tomcat 9
  org.apache.catalina.core.StandardWrapper.isContainerProvidedServlet(String) Unused. Will be removed in Tomcat 9
  org.apache.catalina.connector.Request.isRequestedSessionIdFromUrl() As of Version 2.1 of the Java Servlet API, use `isRequestedSessionIdFromURL()` instead.
  org.apache.catalina.core.ApplicationContextFacade.log(Exception, String) As of Java Servlet API 2.1, use `log(String, Throwable)` instead
  org.apache.catalina.core.ApplicationContext.log(Exception, String)
  org.apache.jasper.servlet.JspCServletContext.log(Exception, String) Use log(String,Throwable) instead
  org.apache.catalina.util.DOMWriter.normalize(String) Will be made private in Tomcat 9.
  org.apache.tomcat.util.http.Parameters.processParameters(MessageBytes, String) This method will be removed in Tomcat 9.0.x
  org.apache.catalina.session.StandardSessionFacade.putValue(String, Object) As of Version 2.2, this method is replaced by `StandardSessionFacade.setAttribute(java.lang.String, java.lang.Object)`
  org.apache.catalina.session.StandardSession.putValue(String, Object) As of Version 2.2, this method is replaced by `setAttribute()`
  org.apache.catalina.session.StandardSessionFacade.removeValue(String) As of Version 2.2, this method is replaced by `StandardSessionFacade.removeAttribute(java.lang.String)`
  org.apache.catalina.session.StandardSession.removeValue(String) As of Version 2.2, this method is replaced by `removeAttribute()`
  org.apache.catalina.servlets.DefaultServlet.render(String, WebResource) Unused. Will be removed in Tomcat 9
  org.apache.catalina.servlets.DefaultServlet.renderHtml(String, WebResource) Unused. Will be removed in Tomcat 9
  org.apache.catalina.servlets.DefaultServlet.renderXml(String, WebResource, Source) Unused. Will be removed in Tomcat 9
  org.apache.jasper.runtime.JspContextWrapper.resolveVariable(String)
  org.apache.coyote.AbstractProtocol.setBacklog(int)
  org.apache.tomcat.util.net.AbstractEndpoint.setBacklog(int)
  org.apache.coyote.Request.setCharacterEncoding(String) This method will be removed in Tomcat 9.0.x
  org.apache.coyote.http11.AbstractHttp11Protocol.setCompressableMimeType(String) Use `AbstractHttp11Protocol.setCompressibleMimeType(String)`
  org.apache.coyote.http11.Http11Processor.setCompressableMimeTypes(String[]) Use `Http11Processor.setCompressibleMimeTypes(String[])`
  org.apache.catalina.connector.Request.setContext(Context) Use setters on `MappingData` object. Depending on use case, you may need to update other `MappingData` fields as well, such as `contextSlashCount` and `host`.
  org.apache.jasper.compiler.SmapGenerator.setDoEmbedded(boolean) Unused. Will be removed in Tomcat 9.0.x
  org.apache.catalina.connector.OutputBuffer.setEncoding(String) This method will be removed in Tomcat 9.0.x
  org.apache.catalina.connector.InputBuffer.setEncoding(String) This method will be removed in Tomcat 9.0.x
  org.apache.tomcat.util.descriptor.web.XmlEncodingBase.setEncoding(String) This method will be removed in Tomcat 9
  org.apache.tomcat.util.http.Parameters.setEncoding(String) This method will be removed in Tomcat 9.0.x
  org.apache.tomcat.util.digester.Rules.setNamespaceURI(String) Unused. Will be removed in Tomcat 9
  org.apache.tomcat.jni.SSLContext.setNextProtos(long, String) use `SSLContext.setNpnProtos(long, String[], int)`
  org.apache.catalina.connector.Connector.setProtocol(String) Will be removed in Tomcat 9. Protocol must be configured via the constructor
  org.apache.catalina.connector.Connector.setProtocolHandlerClassName(String) Will be removed in Tomcat 9. Protocol must be configured via the constructor
  org.apache.tomcat.util.http.Parameters.setQueryStringEncoding(String) This method will be removed in Tomcat 9
  org.apache.tomcat.util.digester.Digester.setRuleNamespaceURI(String) Unused. Will be removed in Tomcat 9
  org.apache.coyote.AbstractProtocol.setSendReasonPhrase(boolean) This option will be removed in Tomcat 9. Reason phrase will not be sent.
  org.apache.coyote.AbstractProtocol.setSoLinger(int)
  org.apache.tomcat.util.net.AbstractEndpoint.setSoLinger(int)
  org.apache.coyote.AbstractProtocol.setSoTimeout(int)
  org.apache.tomcat.util.net.AbstractEndpoint.setSoTimeout(int)
  org.apache.catalina.connector.Response.setStatus(int, String) As of Version 2.1 of the Java Servlet API, this method has been deprecated due to the ambiguous meaning of the message parameter.
  org.apache.tomcat.dbcp.dbcp2.DelegatingPreparedStatement.setUnicodeStream(int, InputStream, int) Use setAsciiStream(), setCharacterStream() or setNCharacterStream()
  org.apache.catalina.connector.Request.setWrapper(Wrapper) Use setters on `MappingData` object. Depending on use case, you may need to update other `MappingData` fields as well, such as `context` and `contextSlashCount`.
  org.apache.catalina.util.DOMWriter.sortAttributes(NamedNodeMap) Will be made private in Tomcat 9.
  org.apache.tomcat.util.buf.UDecoder.URLDecode(byte[], String, boolean) This method will be removed in Tomcat 9
  org.apache.tomcat.util.buf.UDecoder.URLDecode(String, String) This method will be removed in Tomcat 9
  org.apache.tomcat.util.buf.UDecoder.URLDecode(String, String, boolean) This method will be removed in Tomcat 9

- Deprecated Constructors
  Constructor and Description
  org.apache.jasper.compiler.SmapStratum(String) Use the no-arg constructor

Copyright © 2000-2017 Apache Software Foundation. All Rights Reserved.