public class StaticFileServer extends Object implements StaticFileHandler
VaadinServlet is mapped using
"/*".
This class is primarily meant to be used during developing time. For a production mode site you should consider serving static resources directly from the servlet (using a default servlet if such exists) or through a stand alone static file server.
| Constructor and Description |
|---|
StaticFileServer(VaadinServletService servletService)
Constructs a file server.
|
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
browserHasNewestVersion(javax.servlet.http.HttpServletRequest request,
long resourceLastModifiedTimestamp)
Checks if the browser has an up to date cached version of requested
resource using the "If-Modified-Since" header.
|
protected int |
getCacheTime(String filenameWithPath)
Calculates the cache lifetime for the given filename in seconds.
|
boolean |
isStaticResourceRequest(javax.servlet.http.HttpServletRequest request)
Checks if a static resource can be found for the requested path.
|
boolean |
serveStaticResource(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Serves a static resource for the requested path if a resource can be
found.
|
protected void |
writeCacheHeaders(String filenameWithPath,
javax.servlet.http.HttpServletResponse response)
Writes cache headers for the file into the response.
|
protected long |
writeModificationTimestamp(URL resourceUrl,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Writes the modification timestamp info for the file into the response.
|
public StaticFileServer(VaadinServletService servletService)
servletService - servlet service for the deployment, not nullpublic boolean isStaticResourceRequest(javax.servlet.http.HttpServletRequest request)
StaticFileHandlerisStaticResourceRequest in interface StaticFileHandlerrequest - the request to checktrue if a static resource exists and can be sent as
a response to this request, false otherwisepublic boolean serveStaticResource(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws IOException
StaticFileHandlerserveStaticResource in interface StaticFileHandlerrequest - the request object to read fromresponse - the response object to write totrue if a file was served and the request has been
handled, false otherwise.IOException - if the underlying servlet container reports an exceptionprotected long writeModificationTimestamp(URL resourceUrl, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
resourceUrl - the internal URL of the filerequest - the request objectresponse - the response objectprotected void writeCacheHeaders(String filenameWithPath, javax.servlet.http.HttpServletResponse response)
filenameWithPath - the name and path of the file being sentresponse - the response objectprotected int getCacheTime(String filenameWithPath)
By default filenames containing ".nocache." return 0, filenames containing ".cache." return one year and all other files return 1 hour.
filenameWithPath - the name of the file being sentprotected boolean browserHasNewestVersion(javax.servlet.http.HttpServletRequest request,
long resourceLastModifiedTimestamp)
request - The HttpServletRequest from the browser.resourceLastModifiedTimestamp - The timestamp when the resource was last modified. -1 if the
last modification time is unknown.Copyright © 2019. All rights reserved.