Class ServerPagesFilter
- All Implemented Interfaces:
jakarta.servlet.Filter
Such logic is required in order to merge assets and views worlds so overall it could be used as good old JSP.
Filter detect direct http errors from assets or views and if custom error page registered for current error code - redirect to error page (which could also be a template). If no special page registered - server error response as is.
Exceptions inside rest resources are tracked by request event listener
TemplateExceptionListener which allows to use more informative
exception objects in error page (note that it means exception mappers are executed, but their response is ignored).
Direct error responses are tracked with response filter
TemplateErrorResponseFilter (applied only for template resources).
When SPA support is enabled, intercepted 404 error is checked if spa routing detected and do index redirect instead of showing error page.
- Since:
- 22.10.2018
-
Constructor Summary
ConstructorsConstructorDescriptionServerPagesFilter(String uriPath, String filePattern, String index, TemplateRedirect redirect, SpaSupport spa, Iterable<io.dropwizard.views.common.ViewRenderer> renderers) -
Method Summary
-
Constructor Details
-
ServerPagesFilter
public ServerPagesFilter(String uriPath, String filePattern, String index, TemplateRedirect redirect, SpaSupport spa, Iterable<io.dropwizard.views.common.ViewRenderer> renderers)
-
-
Method Details
-
init
public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException - Specified by:
initin interfacejakarta.servlet.Filter- Throws:
jakarta.servlet.ServletException
-
doFilter
public void doFilter(jakarta.servlet.ServletRequest servletRequest, jakarta.servlet.ServletResponse servletResponse, jakarta.servlet.FilterChain chain) throws IOException, jakarta.servlet.ServletException - Specified by:
doFilterin interfacejakarta.servlet.Filter- Throws:
IOExceptionjakarta.servlet.ServletException
-
destroy
public void destroy()- Specified by:
destroyin interfacejakarta.servlet.Filter
-