Package org.apache.catalina.servlets
Class DefaultServlet
java.lang.Object
javax.servlet.GenericServlet
javax.servlet.http.HttpServlet
org.apache.catalina.servlets.DefaultServlet
- All Implemented Interfaces:
- Serializable,- Servlet,- ServletConfig
- Direct Known Subclasses:
- WebdavServlet
The default resource-serving servlet for most web applications, used to serve static resources such as HTML pages and images.
This servlet is intended to be mapped to / e.g.:
   <servlet-mapping>
       <servlet-name>default</servlet-name>
       <url-pattern>/</url-pattern>
   </servlet-mapping>
 
 
 It can be mapped to sub-paths, however in all cases resources are served from the web application resource root using
 the full path from the root of the web application context. 
 e.g. given a web application structure:
 
 /context
   /images
     tomcat2.jpg
   /static
     /images
       tomcat.jpg
 
 
 ... and a servlet mapping that maps only /static/* to the default servlet:
 
   <servlet-mapping>
       <servlet-name>default</servlet-name>
       <url-pattern>/static/*</url-pattern>
   </servlet-mapping>
 
 
 Then a request to /context/static/images/tomcat.jpg will succeed while a request to
 /context/images/tomcat2.jpg will fail.
 
- Author:
- Craig R. McClanahan, Remy Maucherat
- See Also:
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionprotected static classprotected static class
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected static final intSize of file transfer buffer in bytes.protected DefaultServlet.CompressionFormat[]List of compression formats to serve and their preference order.protected StringAllow customized directory listing per context.protected intThe debugging detail level for this servlet.protected StringFile encoding to be used when reading static files.protected static final ArrayList<DefaultServlet.Range>Full range marker.protected StringAllow customized directory listing per instance.protected intThe input buffer size to use when serving resources.protected booleanShould we generate directory listings?protected StringAllow customized directory listing per directory.protected static final StringMIME multipart separation stringprotected intThe output buffer size to use when serving resources.protected StringAllow a readme file to be included.protected booleanRead only flag.protected WebResourceRootThe complete set of web application resourcesprotected static final StringDeprecated.Unused.protected intMinimum size for sendfile usage in bytes.protected booleanFlag to determine if server information is presented.protected static final StringManagerThe string manager for this package.protected booleanFlag to determine if resources should be sorted.protected org.apache.catalina.servlets.DefaultServlet.SortManagerThe sorting manager for sorting files and directories.protected booleanShould the Accept-Ranges: bytes header be send with static resources?
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected booleancheckIfHeaders(HttpServletRequest request, HttpServletResponse response, WebResource resource) Check if the conditions specified in the optional If headers are satisfied.protected booleancheckIfMatch(HttpServletRequest request, HttpServletResponse response, WebResource resource) Check if the if-match condition is satisfied.protected booleancheckIfModifiedSince(HttpServletRequest request, HttpServletResponse response, WebResource resource) Check if the if-modified-since condition is satisfied.protected booleancheckIfNoneMatch(HttpServletRequest request, HttpServletResponse response, WebResource resource) Check if the if-none-match condition is satisfied.protected booleancheckIfUnmodifiedSince(HttpServletRequest request, HttpServletResponse response, WebResource resource) Check if the if-unmodified-since condition is satisfied.protected booleancheckSendfile(HttpServletRequest request, HttpServletResponse response, WebResource resource, long length, DefaultServlet.Range range) Check if sendfile can be used.protected voidcopy(InputStream is, PrintWriter writer, String encoding) Copy the contents of the specified input stream to the specified output stream, and ensure that both streams are closed before returning (even in the face of an exception).protected voidcopy(InputStream is, ServletOutputStream ostream) Copy the contents of the specified input stream to the specified output stream, and ensure that both streams are closed before returning (even in the face of an exception).protected voidcopy(WebResource resource, InputStream is, PrintWriter writer, String encoding) Deprecated.Unused.protected voidcopy(WebResource resource, InputStream is, ServletOutputStream ostream) Deprecated.Unused.protected voidcopy(WebResource resource, ServletOutputStream ostream, Iterator<DefaultServlet.Range> ranges, String contentType) Copy the contents of the specified input stream to the specified output stream, and ensure that both streams are closed before returning (even in the face of an exception).protected voidcopy(WebResource resource, ServletOutputStream ostream, DefaultServlet.Range range) Copy the contents of the specified input stream to the specified output stream, and ensure that both streams are closed before returning (even in the face of an exception).protected IOExceptioncopyRange(InputStream istream, ServletOutputStream ostream) Copy the contents of the specified input stream to the specified output stream, and ensure that both streams are closed before returning (even in the face of an exception).protected IOExceptioncopyRange(InputStream istream, ServletOutputStream ostream, long start, long end) Copy the contents of the specified input stream to the specified output stream, and ensure that both streams are closed before returning (even in the face of an exception).protected IOExceptioncopyRange(Reader reader, PrintWriter writer) Copy the contents of the specified input stream to the specified output stream, and ensure that both streams are closed before returning (even in the face of an exception).voiddestroy()Finalize this servlet.protected Stringprotected voiddoDelete(HttpServletRequest req, HttpServletResponse resp) Process a DELETE request for the specified resource.protected voiddoGet(HttpServletRequest request, HttpServletResponse response) Process a GET request for the specified resource.protected voiddoHead(HttpServletRequest request, HttpServletResponse response) Process a HEAD request for the specified resource.protected voiddoOptions(HttpServletRequest req, HttpServletResponse resp) Override default implementation to ensure that TRACE is correctly handled.protected voiddoPost(HttpServletRequest request, HttpServletResponse response) Process a POST request for the specified resource.protected voiddoPut(HttpServletRequest req, HttpServletResponse resp) Process a PUT request for the specified resource.protected FileexecutePartialPut(HttpServletRequest req, DefaultServlet.Range range, String path) Handle a partial PUT.protected SourcefindXsltSource(WebResource directory) Return a Source for the xsl template (if possible).protected StringgenerateETag(WebResource resource) Provides the entity tag (the ETag header) for the given resource.protected StringgetPathPrefix(HttpServletRequest request) Determines the appropriate path to prepend resources with when generating directory listings.protected StringgetReadme(WebResource directory) Deprecated.Unused.protected StringgetReadme(WebResource directory, String encoding) Get the readme file as a string.protected StringgetRelativePath(HttpServletRequest request) Return the relative path associated with this servlet.protected StringgetRelativePath(HttpServletRequest request, boolean allowEmptyPath) voidinit()Initialize this servlet.protected DefaultServlet.RangeparseContentRange(HttpServletRequest request, HttpServletResponse response) Parse the content-range header.protected ArrayList<DefaultServlet.Range>parseRange(HttpServletRequest request, HttpServletResponse response, WebResource resource) Parse the range header.protected InputStreamrender(String contextPath, WebResource resource) Deprecated.Unused.protected InputStreamrender(String contextPath, WebResource resource, String encoding) Deprecated.protected InputStreamrender(HttpServletRequest request, String contextPath, WebResource resource, String encoding) Decide which way to render.protected InputStreamrenderHtml(String contextPath, WebResource resource) Deprecated.Unused.protected InputStreamrenderHtml(String contextPath, WebResource resource, String encoding) Deprecated.Unused.protected InputStreamrenderHtml(HttpServletRequest request, String contextPath, WebResource resource, String encoding) Return an InputStream to an HTML representation of the contents of this directory.protected StringrenderSize(long size) Render the specified file size (in bytes).protected InputStreamrenderXml(String contextPath, WebResource resource, Source xsltSource) Deprecated.Unused.protected InputStreamrenderXml(String contextPath, WebResource resource, Source xsltSource, String encoding) Deprecated.Unused.protected InputStreamrenderXml(HttpServletRequest request, String contextPath, WebResource resource, Source xsltSource, String encoding) Return an InputStream to an XML representation of the contents this directory.protected StringrewriteUrl(String path) URL rewriter.protected voidsendNotAllowed(HttpServletRequest req, HttpServletResponse resp) protected voidserveResource(HttpServletRequest request, HttpServletResponse response, boolean content, String inputEncoding) Serve the specified resource, optionally including the data content.protected voidservice(HttpServletRequest req, HttpServletResponse resp) Receives standard HTTP requests from the publicservicemethod and dispatches them to thedoMethod methods defined in this class.Methods inherited from class javax.servlet.http.HttpServletdoTrace, getLastModified, serviceMethods inherited from class javax.servlet.GenericServletgetInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
- 
Field Details- 
smThe string manager for this package.
- 
FULLFull range marker.
- 
mimeSeparationMIME multipart separation string- See Also:
 
- 
RESOURCES_JNDI_NAMEDeprecated.Unused. Will be removed in Tomcat 9.JNDI resources name.- See Also:
 
- 
BUFFER_SIZEprotected static final int BUFFER_SIZESize of file transfer buffer in bytes.- See Also:
 
- 
debugprotected int debugThe debugging detail level for this servlet.
- 
inputprotected int inputThe input buffer size to use when serving resources.
- 
listingsprotected boolean listingsShould we generate directory listings?
- 
readOnlyprotected boolean readOnlyRead only flag. By default, it's set to true.
- 
compressionFormatsList of compression formats to serve and their preference order.
- 
outputprotected int outputThe output buffer size to use when serving resources.
- 
localXsltFileAllow customized directory listing per directory.
- 
contextXsltFileAllow customized directory listing per context.
- 
globalXsltFileAllow customized directory listing per instance.
- 
readmeFileAllow a readme file to be included.
- 
resourcesThe complete set of web application resources
- 
fileEncodingFile encoding to be used when reading static files. If none is specified the platform default is used.
- 
sendfileSizeprotected int sendfileSizeMinimum size for sendfile usage in bytes.
- 
useAcceptRangesprotected boolean useAcceptRangesShould the Accept-Ranges: bytes header be send with static resources?
- 
showServerInfoprotected boolean showServerInfoFlag to determine if server information is presented.
- 
sortListingsprotected boolean sortListingsFlag to determine if resources should be sorted.
- 
sortManagerprotected transient org.apache.catalina.servlets.DefaultServlet.SortManager sortManagerThe sorting manager for sorting files and directories.
 
- 
- 
Constructor Details- 
DefaultServletpublic DefaultServlet()
 
- 
- 
Method Details- 
destroypublic void destroy()Finalize this servlet.- Specified by:
- destroyin interface- Servlet
- Overrides:
- destroyin class- GenericServlet
 
- 
initInitialize this servlet.- Overrides:
- initin class- GenericServlet
- Throws:
- ServletException- if an exception occurs that interrupts the servlet's normal operation
 
- 
getRelativePathReturn the relative path associated with this servlet.- Parameters:
- request- The servlet request we are processing
- Returns:
- the relative path
 
- 
getRelativePath
- 
getPathPrefixDetermines the appropriate path to prepend resources with when generating directory listings. Depending on the behaviour ofgetRelativePath(HttpServletRequest)this will change.- Parameters:
- request- the request to determine the path for
- Returns:
- the prefix to apply to all resources in the listing.
 
- 
serviceprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException Description copied from class:javax.servlet.http.HttpServletReceives standard HTTP requests from the publicservicemethod and dispatches them to thedoMethod methods defined in this class. This method is an HTTP-specific version of theServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)method. There's no need to override this method.- Overrides:
- servicein class- HttpServlet
- Parameters:
- req- the- HttpServletRequestobject that contains the request the client made of the servlet
- resp- the- HttpServletResponseobject that contains the response the servlet returns to the client
- Throws:
- ServletException- if the HTTP request cannot be handled
- IOException- if an input or output error occurs while the servlet is handling the HTTP request
- See Also:
 
- 
doGetprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException Process a GET request for the specified resource.- Overrides:
- doGetin class- HttpServlet
- Parameters:
- request- The servlet request we are processing
- response- The servlet response we are creating
- Throws:
- IOException- if an input/output error occurs
- ServletException- if a servlet-specified error occurs
- See Also:
 
- 
doHeadprotected void doHead(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException Process a HEAD request for the specified resource.- Overrides:
- doHeadin class- HttpServlet
- Parameters:
- request- The servlet request we are processing
- response- The servlet response we are creating
- Throws:
- IOException- if an input/output error occurs
- ServletException- if a servlet-specified error occurs
 
- 
doOptionsprotected void doOptions(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException Override default implementation to ensure that TRACE is correctly handled.- Overrides:
- doOptionsin class- HttpServlet
- Parameters:
- req- the- HttpServletRequestobject that contains the request the client made of the servlet
- resp- the- HttpServletResponseobject that contains the response the servlet returns to the client
- Throws:
- IOException- if an input or output error occurs while the servlet is handling the OPTIONS request
- ServletException- if the request for the OPTIONS cannot be handled
 
- 
determineMethodsAllowed
- 
sendNotAllowed- Throws:
- IOException
 
- 
doPostprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException Process a POST request for the specified resource.- Overrides:
- doPostin class- HttpServlet
- Parameters:
- request- The servlet request we are processing
- response- The servlet response we are creating
- Throws:
- IOException- if an input/output error occurs
- ServletException- if a servlet-specified error occurs
- See Also:
 
- 
doPutprotected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException Process a PUT request for the specified resource.- Overrides:
- doPutin class- HttpServlet
- Parameters:
- req- The servlet request we are processing
- resp- The servlet response we are creating
- Throws:
- IOException- if an input/output error occurs
- ServletException- if a servlet-specified error occurs
 
- 
executePartialPutprotected File executePartialPut(HttpServletRequest req, DefaultServlet.Range range, String path) throws IOException Handle a partial PUT. New content specified in request is appended to existing content in oldRevisionContent (if present). This code does not support simultaneous partial updates to the same resource.- Parameters:
- req- The Servlet request
- range- The range that will be written
- path- The path
- Returns:
- the associated file object
- Throws:
- IOException- an IO error occurred
 
- 
doDeleteprotected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException Process a DELETE request for the specified resource.- Overrides:
- doDeletein class- HttpServlet
- Parameters:
- req- The servlet request we are processing
- resp- The servlet response we are creating
- Throws:
- IOException- if an input/output error occurs
- ServletException- if a servlet-specified error occurs
 
- 
checkIfHeadersprotected boolean checkIfHeaders(HttpServletRequest request, HttpServletResponse response, WebResource resource) throws IOException Check if the conditions specified in the optional If headers are satisfied.- Parameters:
- request- The servlet request we are processing
- response- The servlet response we are creating
- resource- The resource
- Returns:
- trueif the resource meets all the specified conditions, and- falseif any of the conditions is not satisfied, in which case request processing is stopped
- Throws:
- IOException- an IO error occurred
 
- 
rewriteUrlURL rewriter.- Parameters:
- path- Path which has to be rewritten
- Returns:
- the rewritten path
 
- 
serveResourceprotected void serveResource(HttpServletRequest request, HttpServletResponse response, boolean content, String inputEncoding) throws IOException, ServletException Serve the specified resource, optionally including the data content.- Parameters:
- request- The servlet request we are processing
- response- The servlet response we are creating
- content- Should the content be included?
- inputEncoding- The encoding to use if it is necessary to access the source as characters rather than as bytes
- Throws:
- IOException- if an input/output error occurs
- ServletException- if a servlet-specified error occurs
 
- 
parseContentRangeprotected DefaultServlet.Range parseContentRange(HttpServletRequest request, HttpServletResponse response) throws IOException Parse the content-range header.- Parameters:
- request- The servlet request we are processing
- response- The servlet response we are creating
- Returns:
- the partial content-range, nullif the content-range header was invalid or#IGNOREif there is no header to process
- Throws:
- IOException- an IO error occurred
 
- 
parseRangeprotected ArrayList<DefaultServlet.Range> parseRange(HttpServletRequest request, HttpServletResponse response, WebResource resource) throws IOException Parse the range header.- Parameters:
- request- The servlet request we are processing
- response- The servlet response we are creating
- resource- The resource
- Returns:
- a list of ranges, nullif the range header was invalid or#FULLif the Range header should be ignored.
- Throws:
- IOException- an IO error occurred
 
- 
render@Deprecated protected InputStream render(String contextPath, WebResource resource) throws IOException, ServletException Deprecated.Unused. Will be removed in Tomcat 9Decide which way to render. HTML or XML.- Parameters:
- contextPath- The path
- resource- The resource
- Returns:
- the input stream with the rendered output
- Throws:
- IOException- an IO error occurred
- ServletException- rendering error
 
- 
render@Deprecated protected InputStream render(String contextPath, WebResource resource, String encoding) throws IOException, ServletException Deprecated.Decide which way to render. HTML or XML.- Parameters:
- contextPath- The path
- resource- The resource
- encoding- The encoding to use to process the readme (if any)
- Returns:
- the input stream with the rendered output
- Throws:
- IOException- an IO error occurred
- ServletException- rendering error
 
- 
renderprotected InputStream render(HttpServletRequest request, String contextPath, WebResource resource, String encoding) throws IOException, ServletException Decide which way to render. HTML or XML.- Parameters:
- request- The HttpServletRequest being served
- contextPath- The path
- resource- The resource
- encoding- The encoding to use to process the readme (if any)
- Returns:
- the input stream with the rendered output
- Throws:
- IOException- an IO error occurred
- ServletException- rendering error
 
- 
renderXml@Deprecated protected InputStream renderXml(String contextPath, WebResource resource, Source xsltSource) throws IOException, ServletException Deprecated.Unused. Will be removed in Tomcat 9Return an InputStream to an XML representation of the contents this directory.- Parameters:
- contextPath- Context path to which our internal paths are relative
- resource- The associated resource
- xsltSource- The XSL stylesheet
- Returns:
- the XML data
- Throws:
- IOException- an IO error occurred
- ServletException- rendering error
 
- 
renderXml@Deprecated protected InputStream renderXml(String contextPath, WebResource resource, Source xsltSource, String encoding) throws ServletException, IOException Deprecated.Unused. Will be removed in Tomcat 10Return an InputStream to an XML representation of the contents this directory.- Parameters:
- contextPath- Context path to which our internal paths are relative
- resource- The associated resource
- xsltSource- The XSL stylesheet
- encoding- The encoding to use to process the readme (if any)
- Returns:
- the XML data
- Throws:
- IOException- an IO error occurred
- ServletException- rendering error
 
- 
renderXmlprotected InputStream renderXml(HttpServletRequest request, String contextPath, WebResource resource, Source xsltSource, String encoding) throws IOException, ServletException Return an InputStream to an XML representation of the contents this directory.- Parameters:
- request- The HttpServletRequest being served
- contextPath- Context path to which our internal paths are relative
- resource- The associated resource
- xsltSource- The XSL stylesheet
- encoding- The encoding to use to process the readme (if any)
- Returns:
- the XML data
- Throws:
- IOException- an IO error occurred
- ServletException- rendering error
 
- 
renderHtml@Deprecated protected InputStream renderHtml(String contextPath, WebResource resource) throws IOException Deprecated.Unused. Will be removed in Tomcat 9Return an InputStream to an HTML representation of the contents of this directory.- Parameters:
- contextPath- Context path to which our internal paths are relative
- resource- The associated resource
- Returns:
- the HTML data
- Throws:
- IOException- an IO error occurred
 
- 
renderHtml@Deprecated protected InputStream renderHtml(String contextPath, WebResource resource, String encoding) throws IOException Deprecated.Unused. Will be removed in Tomcat 10Return an InputStream to an HTML representation of the contents of this directory.- Parameters:
- contextPath- Context path to which our internal paths are relative
- resource- The associated resource
- encoding- The encoding to use to process the readme (if any)
- Returns:
- the HTML data
- Throws:
- IOException- an IO error occurred
 
- 
renderHtmlprotected InputStream renderHtml(HttpServletRequest request, String contextPath, WebResource resource, String encoding) throws IOException Return an InputStream to an HTML representation of the contents of this directory.- Parameters:
- request- The HttpServletRequest being served
- contextPath- Context path to which our internal paths are relative
- resource- The associated resource
- encoding- The encoding to use to process the readme (if any)
- Returns:
- the HTML data
- Throws:
- IOException- an IO error occurred
 
- 
renderSizeRender the specified file size (in bytes).- Parameters:
- size- File size (in bytes)
- Returns:
- the formatted size
 
- 
getReadmeDeprecated.Unused. Will be removed in Tomcat 9Get the readme file as a string.- Parameters:
- directory- The directory to search
- Returns:
- the readme for the specified directory
 
- 
getReadmeGet the readme file as a string.- Parameters:
- directory- The directory to search
- encoding- The readme encoding
- Returns:
- the readme for the specified directory
 
- 
findXsltSourceReturn a Source for the xsl template (if possible).- Parameters:
- directory- The directory to search
- Returns:
- the source for the specified directory
- Throws:
- IOException- an IO error occurred
 
- 
checkSendfileprotected boolean checkSendfile(HttpServletRequest request, HttpServletResponse response, WebResource resource, long length, DefaultServlet.Range range) Check if sendfile can be used.- Parameters:
- request- The Servlet request
- response- The Servlet response
- resource- The resource
- length- The length which will be written (will be used only if range is null)
- range- The range that will be written
- Returns:
- trueif sendfile should be used (writing is then delegated to the endpoint)
 
- 
checkIfMatchprotected boolean checkIfMatch(HttpServletRequest request, HttpServletResponse response, WebResource resource) throws IOException Check if the if-match condition is satisfied.- Parameters:
- request- The servlet request we are processing
- response- The servlet response we are creating
- resource- The resource
- Returns:
- trueif the resource meets the specified condition, and- falseif the condition is not satisfied, in which case request processing is stopped
- Throws:
- IOException- an IO error occurred
 
- 
checkIfModifiedSinceprotected boolean checkIfModifiedSince(HttpServletRequest request, HttpServletResponse response, WebResource resource) Check if the if-modified-since condition is satisfied.- Parameters:
- request- The servlet request we are processing
- response- The servlet response we are creating
- resource- The resource
- Returns:
- trueif the resource meets the specified condition, and- falseif the condition is not satisfied, in which case request processing is stopped
 
- 
checkIfNoneMatchprotected boolean checkIfNoneMatch(HttpServletRequest request, HttpServletResponse response, WebResource resource) throws IOException Check if the if-none-match condition is satisfied.- Parameters:
- request- The servlet request we are processing
- response- The servlet response we are creating
- resource- The resource
- Returns:
- trueif the resource meets the specified condition, and- falseif the condition is not satisfied, in which case request processing is stopped
- Throws:
- IOException- an IO error occurred
 
- 
checkIfUnmodifiedSinceprotected boolean checkIfUnmodifiedSince(HttpServletRequest request, HttpServletResponse response, WebResource resource) throws IOException Check if the if-unmodified-since condition is satisfied.- Parameters:
- request- The servlet request we are processing
- response- The servlet response we are creating
- resource- The resource
- Returns:
- trueif the resource meets the specified condition, and- falseif the condition is not satisfied, in which case request processing is stopped
- Throws:
- IOException- an IO error occurred
 
- 
generateETagProvides the entity tag (the ETag header) for the given resource. Intended to be over-ridden by custom DefaultServlet implementations that wish to use an alternative format for the entity tag.- Parameters:
- resource- The resource for which an entity tag is required.
- Returns:
- The result of calling WebResource.getETag()on the given resource
 
- 
copy@Deprecated protected void copy(WebResource resource, InputStream is, ServletOutputStream ostream) throws IOException Deprecated.Unused. This will be removed in Tomcat 9. Usecopy(InputStream, ServletOutputStream)Copy the contents of the specified input stream to the specified output stream, and ensure that both streams are closed before returning (even in the face of an exception).- Parameters:
- resource- The source resource
- is- The input stream to read the source resource from
- ostream- The output stream to write to
- Throws:
- IOException- if an input/output error occurs
 
- 
copyCopy the contents of the specified input stream to the specified output stream, and ensure that both streams are closed before returning (even in the face of an exception).- Parameters:
- is- The input stream to read the source resource from
- ostream- The output stream to write to
- Throws:
- IOException- if an input/output error occurs
 
- 
copy@Deprecated protected void copy(WebResource resource, InputStream is, PrintWriter writer, String encoding) throws IOException Deprecated.Unused. This will be removed in Tomcat 9. Usecopy(InputStream, PrintWriter, String)Copy the contents of the specified input stream to the specified output stream, and ensure that both streams are closed before returning (even in the face of an exception).- Parameters:
- resource- The source resource
- is- The input stream to read the source resource from
- writer- The writer to write to
- encoding- The encoding to use when reading the source input stream
- Throws:
- IOException- if an input/output error occurs
 
- 
copyCopy the contents of the specified input stream to the specified output stream, and ensure that both streams are closed before returning (even in the face of an exception).- Parameters:
- is- The input stream to read the source resource from
- writer- The writer to write to
- encoding- The encoding to use when reading the source input stream
- Throws:
- IOException- if an input/output error occurs
 
- 
copyprotected void copy(WebResource resource, ServletOutputStream ostream, DefaultServlet.Range range) throws IOException Copy the contents of the specified input stream to the specified output stream, and ensure that both streams are closed before returning (even in the face of an exception).- Parameters:
- resource- The source resource
- ostream- The output stream to write to
- range- Range the client wanted to retrieve
- Throws:
- IOException- if an input/output error occurs
 
- 
copyprotected void copy(WebResource resource, ServletOutputStream ostream, Iterator<DefaultServlet.Range> ranges, String contentType) throws IOException Copy the contents of the specified input stream to the specified output stream, and ensure that both streams are closed before returning (even in the face of an exception).- Parameters:
- resource- The source resource
- ostream- The output stream to write to
- ranges- Enumeration of the ranges the client wanted to retrieve
- contentType- Content type of the resource
- Throws:
- IOException- if an input/output error occurs
 
- 
copyRangeCopy the contents of the specified input stream to the specified output stream, and ensure that both streams are closed before returning (even in the face of an exception).- Parameters:
- istream- The input stream to read from
- ostream- The output stream to write to
- Returns:
- Exception which occurred during processing
 
- 
copyRangeCopy the contents of the specified input stream to the specified output stream, and ensure that both streams are closed before returning (even in the face of an exception).- Parameters:
- reader- The reader to read from
- writer- The writer to write to
- Returns:
- Exception which occurred during processing
 
- 
copyRangeprotected IOException copyRange(InputStream istream, ServletOutputStream ostream, long start, long end) Copy the contents of the specified input stream to the specified output stream, and ensure that both streams are closed before returning (even in the face of an exception).- Parameters:
- istream- The input stream to read from
- ostream- The output stream to write to
- start- Start of the range which will be copied
- end- End of the range which will be copied
- Returns:
- Exception which occurred during processing
 
 
-