@SuppressWarnings({"UnusedDeclaration"})
    protected void postHandle(ServletRequest request, ServletResponse response) throws Exception {
    }
Allows 'post' advice logic to be called, but only if no exception occurs during filter chain execution.  That
is, if {@link #executeChain executeChain} throws an exception, this method will never be called.  Be aware of
this when implementing logic.  Most resource 'cleanup' behavior is often done in the
{@link #afterCompletion(javax.servlet.ServletRequest, javax.servlet.ServletResponse, Exception)
     afterCompletion(request,response,exception)}
implementation, which is guaranteed to be called for every request, even when the chain processing throws
an Exception.
<p/>
The default implementation does nothing (no-op) and exists as a template method for subclasses.

@param request  the incoming ServletRequest
@param response the outgoing ServletResponse
@throws Exception if an error occurs.
web/src/main/java/org/apache/shiro/web/servlet/AdviceFilter.java