1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| public class JspNoCacheServlet extends HttpServlet {
private String jspServletName = "jsp";
public void init(ServletConfig cfg) throws ServletException {
String value = cfg.getInitParameter("jsp-servlet-name");
if (value!=null) {
this.jspServletName = value;
}
}
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletContext servletContext = request.getSession().getServletContext();
// On récupère le RequestDispatcher du compilateur de JSP de Tomcat :
RequestDispatcher dispatcher = servletContext.getNamedDispatcher(this.jspServletName);
if (request.getAttribute("javax.servlet.include.servlet_path")!=null) {
// on fait un include avec un Request modifié...
dispatcher.include(new RequestWrapper(request), response);
} else {
// On écrit les infos pour le cache dans l'entête de la réponse
response.setHeader("Cache-Control","no-cache");
response.setHeader("Pragma","no-cache");
response.setDateHeader ("Expires", 0);
//
// On forward...
dispatcher.forward(request, response);
}
}
} |
Partager