First of all, you should always call (or have very good reason not to do so)
filterChain.doFilter(request, response);
or filters declared after this one will not be called.
Next, move call filterChain.doFilter() to the top of method, set your headers after and declare your filter mapping as last in web.xml.
And this will work as expected.