Class ResourceProviderServlet
java.lang.Object
jakarta.servlet.GenericServlet
jakarta.servlet.http.HttpServlet
org.teamapps.ux.servlet.resourceprovider.ResourceProviderServlet
- All Implemented Interfaces:
jakarta.servlet.Servlet,jakarta.servlet.ServletConfig,Serializable
public class ResourceProviderServlet
extends jakarta.servlet.http.HttpServlet
- See Also:
-
Field Summary
Fields inherited from class jakarta.servlet.http.HttpServlet
LEGACY_DO_HEAD -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddoGet(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) protected voiddoHead(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) static StringURI-encode the given string using UTF-8.static StringURL-encode the given string using UTF-8.protected StringgetAttachmentName(jakarta.servlet.http.HttpServletRequest request, File file) Returns the file name to be used inContent-Dispositionheader.protected voidhandleNotFound(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Handles the case when the file is not found.static voidsetCacheHeaders(jakarta.servlet.http.HttpServletResponse response, long expires) Set the cache headers.static voidsetNoCacheHeaders(jakarta.servlet.http.HttpServletResponse response) Set the no-cache headers.Methods inherited from class jakarta.servlet.http.HttpServlet
doDelete, doOptions, doPost, doPut, doTrace, getLastModified, init, service, serviceMethods inherited from class jakarta.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
-
Constructor Details
-
ResourceProviderServlet
-
-
Method Details
-
doHead
protected void doHead(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws jakarta.servlet.ServletException, IOException - Overrides:
doHeadin classjakarta.servlet.http.HttpServlet- Throws:
jakarta.servlet.ServletExceptionIOException
-
doGet
protected void doGet(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws jakarta.servlet.ServletException, IOException - Overrides:
doGetin classjakarta.servlet.http.HttpServlet- Throws:
jakarta.servlet.ServletExceptionIOException
-
handleNotFound
protected void handleNotFound(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws IOException Handles the case when the file is not found.The default implementation sends a HTTP 404 error.
- Parameters:
request- The involved HTTP servlet request.response- The involved HTTP servlet response.- Throws:
IOException- When something fails at I/O level.
-
getAttachmentName
Returns the file name to be used inContent-Dispositionheader. This does not need to be URL-encoded as this will be taken care of.The default implementation returns
File.getName().- Parameters:
request- The involved HTTP servlet request.file- The involved file.- Returns:
- The file name to be used in
Content-Dispositionheader.
-
encodeURL
URL-encode the given string using UTF-8.- Parameters:
string- The string to be URL-encoded using UTF-8.- Returns:
- The given string, URL-encoded using UTF-8, or
nullifnullwas given. - Throws:
UnsupportedOperationException- When this platform does not support UTF-8.
-
encodeURI
URI-encode the given string using UTF-8. URIs (paths and filenames) have different encoding rules as compared to URL query string parameters.URLEncoderis actually only for www (HTML) form based query string parameter values (as used when a webbrowser submits a HTML form). URI encoding has a lot in common with URL encoding, but the space has to be %20 and some chars doesn't necessarily need to be encoded.- Parameters:
string- The string to be URI-encoded using UTF-8.- Returns:
- The given string, URI-encoded using UTF-8, or
nullifnullwas given. - Throws:
UnsupportedOperationException- When this platform does not support UTF-8.
-
setCacheHeaders
public static void setCacheHeaders(jakarta.servlet.http.HttpServletResponse response, long expires) Set the cache headers. If the
expiresargument is larger than 0 seconds, then the following headers will be set:Cache-Control: public,max-age=[expiration time in seconds],must-revalidateExpires: [expiration date of now plus expiration time in seconds]
Else the method will delegate to
setNoCacheHeaders(HttpServletResponse).- Parameters:
response- The HTTP servlet response to set the headers on.expires- The expire time in seconds (not milliseconds!).
-
setNoCacheHeaders
public static void setNoCacheHeaders(jakarta.servlet.http.HttpServletResponse response) Set the no-cache headers. The following headers will be set:
Cache-Control: no-cache,no-store,must-revalidateExpires: [expiration date of 0]Pragma: no-cache
- Parameters:
response- The HTTP servlet response to set the headers on.
-