相关疑难解决方法(0)

Tomcat:缓存控制

Jetty有一个CacheControl参数(可以指定webdefault.xml),用于确定客户端的缓存行为(通过影响发送给客户端的标头).

Tomcat有类似的选择吗?简而言之,我想关闭tomcat服务器和/或特定webapp提供的所有页面的缓存?

更新

请注意,我不是指服务器端缓存.我希望服务器告诉所有客户端(浏览器)不要使用自己的缓存并始终从服务器获取内容.我想一次为所有资源,包括静态资源(.css,.js等).

java tomcat

43
推荐指数
3
解决办法
8万
查看次数

如何使用Spring MVC和Spring Security为资源处理程序启用HTTP缓存

我希望为一些静态资源启用HTTP缓存,例如图像,其访问受到Spring Security的限制.(这些资源不是安全关键,但也不应公开访问).如何避免让Spring Security添加禁用缓存的HTTP响应头?

如果我添加setCachePeriod()到我的资源处理程序注册WebMvcConfigurerAdapter.addResourceHandlers()如下:

registry.addResourceHandler("/static/**")
  .addResourceLocations("classpath:/static/").setCachePeriod(3600);
Run Code Online (Sandbox Code Playgroud)

仍然返回资源以及禁用缓存的以下标头:

Cache-Control: max-age=3600, must-revalidate
Expires: Mon, 04 Aug 2014 07:45:36 GMT
Pragma: no-cache
Run Code Online (Sandbox Code Playgroud)

我想避免在项目中引入任何XML配置,该项目目前仅使用Java注释配置.

有没有比扩展Spring资源处理程序更好的解决方案?

java spring caching spring-mvc spring-security

11
推荐指数
1
解决办法
1万
查看次数

Spring Security - 无法避免缓存控制

我有一个应用程序,并使用spring的控制器映射将图像加载到我的用户.(InputStream,响应等).

在我的控制器中,我将标头设置为缓存控制,基于文件等等.但是总是存在pragma:no-cache和Cache-Control:所有请求中的"max-age = 0",这取代了我的响应设置.

我正在努力解决这个问题,但没有任何作用.

我已经阅读了所有页面并尝试了我发现的所有内容:http: //docs.spring.io/autorepo/docs/spring-security/3.2.0.CI-SNAPSHOT/reference/html/headers.html

我的spring security.xml有:

    <security:headers disabled="true"/>
Run Code Online (Sandbox Code Playgroud)

任何人都有一个好主意来解决这个问题?

请记住,要加载我需要通过控制器加载的图像,我从不直接调用静态.

spring caching spring-security

7
推荐指数
3
解决办法
2万
查看次数

标签 统计

caching ×2

java ×2

spring ×2

spring-security ×2

spring-mvc ×1

tomcat ×1