我有一个非常简单的公司简介网站,我正在使用JSF2开发,我使用的唯一动态参数是确定使用PrettyFaces完成的显示语言。该网站不使用任何AJAX。
使用JSF2的唯一真正原因是使用Facelets模板机制来维护整个站点的布局、CSS和JS。
我希望GAE在第一次执行时从JVM加载内容,然后将内容缓存为静态Facelets文件以用于后续请求。我注意到静态图像文件的加载速度比任何Java生成的代码都快,尤其是在第一次请求时。
有没有任何方法可以使用appengine-web.xml或faces-config.xml来实现这一功能?
AFAIK没有办法实现开箱即用的自动servlet/facelets响应缓存。但是,您可以始终编写自己的缓存servlet过滤器。
OTOH,所有GAE响应都由Google CDN缓存透明缓存。您可以通过添加Cache-control
HTTP头来实现任何响应的缓存。
请注意,缓存不能以编程方式过期,因此,如果将缓存时间设置为一小时,则现有用户需要一小时才能获得新内容,因此应在代码中谨慎使用。