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,java.io.Serializable
public class ResourceProviderServlet extends jakarta.servlet.http.HttpServlet- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ResourceProviderServlet(ResourceProvider resourceProvider)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddoGet(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)protected voiddoHead(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)static java.lang.StringencodeURI(java.lang.String string)URI-encode the given string using UTF-8.static java.lang.StringencodeURL(java.lang.String string)URL-encode the given string using UTF-8.protected java.lang.StringgetAttachmentName(jakarta.servlet.http.HttpServletRequest request, java.io.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, service, service
-
-
-
-
Constructor Detail
-
ResourceProviderServlet
public ResourceProviderServlet(ResourceProvider resourceProvider)
-
-
Method Detail
-
doHead
protected void doHead(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws jakarta.servlet.ServletException, java.io.IOException- Overrides:
doHeadin classjakarta.servlet.http.HttpServlet- Throws:
jakarta.servlet.ServletExceptionjava.io.IOException
-
doGet
protected void doGet(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws jakarta.servlet.ServletException, java.io.IOException- Overrides:
doGetin classjakarta.servlet.http.HttpServlet- Throws:
jakarta.servlet.ServletExceptionjava.io.IOException
-
handleNotFound
protected void handleNotFound(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws java.io.IOExceptionHandles 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:
java.io.IOException- When something fails at I/O level.
-
getAttachmentName
protected java.lang.String getAttachmentName(jakarta.servlet.http.HttpServletRequest request, java.io.File file)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
public static java.lang.String encodeURL(java.lang.String string)
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:
java.lang.UnsupportedOperationException- When this platform does not support UTF-8.
-
encodeURI
public static java.lang.String encodeURI(java.lang.String string)
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:
java.lang.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.
-
-