views:

347

answers:

1

Is there a way, at the web server level (web.xml) to set headers for all transactions? Specifically, I would like to do this:

response.setHeader("Cache-Control", "no-cache, no-store");
response.setDateHeader("Expires", -1);

at the application level. I seem to recall that headers could be set in the Web.xml. Are there other solutions?

+2  A: 

Implement a javax.servlet.Filter, write appropriate logic in doFilter() method and finally map it in web.xml on an url-pattern of /*.

By the way, the 'magic' set which works in all known browsers and proxies are those:

response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setDateHeader("Expires", 0); // Proxies.
BalusC