您好,我有一个 Google Web Toolkit 项目。我想用
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
但我不知道如何在 GWT 中设置 header 。我有这个“入门”应用程序:
public class Starter extends HttpServlet {
@Override
public void init() throws ServletException {
//do something
}
}
但是我怎样才能获得“响应”呢?我需要一个“HttpServletResponse”。但是我应该如何以及在哪里放置它?我看到这个请求:Client side caching in GWT ,它有点像我的,但它没有帮助。
谢谢
最佳答案
我写了一个答案here ,它解释了如何使用过滤器设置 header (我的示例代码应该适用于所有 servlet 容器,如 Tomcat、Jetty 等)
这既可以应用于静态文件(如果您从 servlet 容器提供它们),也可以应用于您的 Servlet(只要确保过滤器应用于与您的相同路径Servlet - 然后你的 Filter 将“包装”Servlet。这比将头代码直接放在你的 Servlet 中更方便,这也可以在你的 doGet()
或 doPost()
方法。)
另一种选择是放置 reverse proxy server 在 web 服务器前面,并让它根据请求 URI(或者可能为所有 POST 请求等)添加缓存 header
使用 GWT,确保为不同的资源设置正确的缓存 header 非常重要 - 请参阅我的问题 here .如有疑问,始终选择不缓存,然后逐步介绍缓存!
关于java - GWT:response.setHeader - 如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6284184/