org.springframework.http.CacheControl#noCache ( )源码实例Demo

下面列出了org.springframework.http.CacheControl#noCache ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

/**
 * Apply the given cache seconds and generate corresponding HTTP headers,
 * i.e. allow caching for the given number of seconds in case of a positive
 * value, prevent caching if given a 0 value, do nothing else.
 * Does not tell the browser to revalidate the resource.
 * @param response current HTTP response
 * @param cacheSeconds positive number of seconds into the future that the
 * response should be cacheable for, 0 to prevent caching
 */
@SuppressWarnings("deprecation")
protected final void applyCacheSeconds(HttpServletResponse response, int cacheSeconds) {
	if (this.useExpiresHeader || !this.useCacheControlHeader) {
		// Deprecated HTTP 1.0 cache behavior, as in previous Spring versions
		if (cacheSeconds > 0) {
			cacheForSeconds(response, cacheSeconds);
		}
		else if (cacheSeconds == 0) {
			preventCaching(response);
		}
	}
	else {
		CacheControl cControl;
		if (cacheSeconds > 0) {
			cControl = CacheControl.maxAge(cacheSeconds, TimeUnit.SECONDS);
			if (this.alwaysMustRevalidate) {
				cControl = cControl.mustRevalidate();
			}
		}
		else if (cacheSeconds == 0) {
			cControl = (this.useCacheControlNoStore ? CacheControl.noStore() : CacheControl.noCache());
		}
		else {
			cControl = CacheControl.empty();
		}
		applyCacheControl(response, cControl);
	}
}
 
/**
 * Apply the given cache seconds and generate corresponding HTTP headers,
 * i.e. allow caching for the given number of seconds in case of a positive
 * value, prevent caching if given a 0 value, do nothing else.
 * Does not tell the browser to revalidate the resource.
 * @param response current HTTP response
 * @param cacheSeconds positive number of seconds into the future that the
 * response should be cacheable for, 0 to prevent caching
 */
@SuppressWarnings("deprecation")
protected final void applyCacheSeconds(HttpServletResponse response, int cacheSeconds) {
	if (this.useExpiresHeader || !this.useCacheControlHeader) {
		// Deprecated HTTP 1.0 cache behavior, as in previous Spring versions
		if (cacheSeconds > 0) {
			cacheForSeconds(response, cacheSeconds);
		}
		else if (cacheSeconds == 0) {
			preventCaching(response);
		}
	}
	else {
		CacheControl cControl;
		if (cacheSeconds > 0) {
			cControl = CacheControl.maxAge(cacheSeconds, TimeUnit.SECONDS);
			if (this.alwaysMustRevalidate) {
				cControl = cControl.mustRevalidate();
			}
		}
		else if (cacheSeconds == 0) {
			cControl = (this.useCacheControlNoStore ? CacheControl.noStore() : CacheControl.noCache());
		}
		else {
			cControl = CacheControl.empty();
		}
		applyCacheControl(response, cControl);
	}
}
 
源代码3 项目: lams   文件: WebContentGenerator.java
/**
 * Apply the given cache seconds and generate corresponding HTTP headers,
 * i.e. allow caching for the given number of seconds in case of a positive
 * value, prevent caching if given a 0 value, do nothing else.
 * Does not tell the browser to revalidate the resource.
 * @param response current HTTP response
 * @param cacheSeconds positive number of seconds into the future that the
 * response should be cacheable for, 0 to prevent caching
 */
@SuppressWarnings("deprecation")
protected final void applyCacheSeconds(HttpServletResponse response, int cacheSeconds) {
	if (this.useExpiresHeader || !this.useCacheControlHeader) {
		// Deprecated HTTP 1.0 cache behavior, as in previous Spring versions
		if (cacheSeconds > 0) {
			cacheForSeconds(response, cacheSeconds);
		}
		else if (cacheSeconds == 0) {
			preventCaching(response);
		}
	}
	else {
		CacheControl cControl;
		if (cacheSeconds > 0) {
			cControl = CacheControl.maxAge(cacheSeconds, TimeUnit.SECONDS);
			if (this.alwaysMustRevalidate) {
				cControl = cControl.mustRevalidate();
			}
		}
		else if (cacheSeconds == 0) {
			cControl = (this.useCacheControlNoStore ? CacheControl.noStore() : CacheControl.noCache());
		}
		else {
			cControl = CacheControl.empty();
		}
		applyCacheControl(response, cControl);
	}
}
 
源代码4 项目: lams   文件: ResourcesBeanDefinitionParser.java
private CacheControl parseCacheControl(Element element) {
	CacheControl cacheControl = CacheControl.empty();
	if ("true".equals(element.getAttribute("no-cache"))) {
		cacheControl = CacheControl.noCache();
	}
	else if ("true".equals(element.getAttribute("no-store"))) {
		cacheControl = CacheControl.noStore();
	}
	else if (element.hasAttribute("max-age")) {
		cacheControl = CacheControl.maxAge(Long.parseLong(element.getAttribute("max-age")), TimeUnit.SECONDS);
	}
	if ("true".equals(element.getAttribute("must-revalidate"))) {
		cacheControl = cacheControl.mustRevalidate();
	}
	if ("true".equals(element.getAttribute("no-transform"))) {
		cacheControl = cacheControl.noTransform();
	}
	if ("true".equals(element.getAttribute("cache-public"))) {
		cacheControl = cacheControl.cachePublic();
	}
	if ("true".equals(element.getAttribute("cache-private"))) {
		cacheControl = cacheControl.cachePrivate();
	}
	if ("true".equals(element.getAttribute("proxy-revalidate"))) {
		cacheControl = cacheControl.proxyRevalidate();
	}
	if (element.hasAttribute("s-maxage")) {
		cacheControl = cacheControl.sMaxAge(Long.parseLong(element.getAttribute("s-maxage")), TimeUnit.SECONDS);
	}
	if (element.hasAttribute("stale-while-revalidate")) {
		cacheControl = cacheControl.staleWhileRevalidate(
				Long.parseLong(element.getAttribute("stale-while-revalidate")), TimeUnit.SECONDS);
	}
	if (element.hasAttribute("stale-if-error")) {
		cacheControl = cacheControl.staleIfError(
				Long.parseLong(element.getAttribute("stale-if-error")), TimeUnit.SECONDS);
	}
	return cacheControl;
}
 
/**
 * Apply the given cache seconds and generate corresponding HTTP headers,
 * i.e. allow caching for the given number of seconds in case of a positive
 * value, prevent caching if given a 0 value, do nothing else.
 * Does not tell the browser to revalidate the resource.
 * @param response current HTTP response
 * @param cacheSeconds positive number of seconds into the future that the
 * response should be cacheable for, 0 to prevent caching
 */
@SuppressWarnings("deprecation")
protected final void applyCacheSeconds(HttpServletResponse response, int cacheSeconds) {
	if (this.useExpiresHeader || !this.useCacheControlHeader) {
		// Deprecated HTTP 1.0 cache behavior, as in previous Spring versions
		if (cacheSeconds > 0) {
			cacheForSeconds(response, cacheSeconds);
		}
		else if (cacheSeconds == 0) {
			preventCaching(response);
		}
	}
	else {
		CacheControl cControl;
		if (cacheSeconds > 0) {
			cControl = CacheControl.maxAge(cacheSeconds, TimeUnit.SECONDS);
			if (this.alwaysMustRevalidate) {
				cControl = cControl.mustRevalidate();
			}
		}
		else if (cacheSeconds == 0) {
			cControl = (this.useCacheControlNoStore ? CacheControl.noStore() : CacheControl.noCache());
		}
		else {
			cControl = CacheControl.empty();
		}
		applyCacheControl(response, cControl);
	}
}
 
private CacheControl parseCacheControl(Element element) {
	CacheControl cacheControl = CacheControl.empty();
	if ("true".equals(element.getAttribute("no-cache"))) {
		cacheControl = CacheControl.noCache();
	}
	else if ("true".equals(element.getAttribute("no-store"))) {
		cacheControl = CacheControl.noStore();
	}
	else if (element.hasAttribute("max-age")) {
		cacheControl = CacheControl.maxAge(Long.parseLong(element.getAttribute("max-age")), TimeUnit.SECONDS);
	}
	if ("true".equals(element.getAttribute("must-revalidate"))) {
		cacheControl = cacheControl.mustRevalidate();
	}
	if ("true".equals(element.getAttribute("no-transform"))) {
		cacheControl = cacheControl.noTransform();
	}
	if ("true".equals(element.getAttribute("cache-public"))) {
		cacheControl = cacheControl.cachePublic();
	}
	if ("true".equals(element.getAttribute("cache-private"))) {
		cacheControl = cacheControl.cachePrivate();
	}
	if ("true".equals(element.getAttribute("proxy-revalidate"))) {
		cacheControl = cacheControl.proxyRevalidate();
	}
	if (element.hasAttribute("s-maxage")) {
		cacheControl = cacheControl.sMaxAge(Long.parseLong(element.getAttribute("s-maxage")), TimeUnit.SECONDS);
	}
	return cacheControl;
}
 
public CacheControl toCacheControl() {
	if (Boolean.TRUE.equals(this.noStore)) {
		return CacheControl.noStore();
	}
	if (Boolean.TRUE.equals(this.noCache)) {
		return CacheControl.noCache();
	}
	if (this.maxAge != null) {
		return CacheControl.maxAge(this.maxAge.getSeconds(), TimeUnit.SECONDS);
	}
	return CacheControl.empty();
}
 
private CacheControl parseCacheControl(Element element) {
	CacheControl cacheControl;
	if ("true".equals(element.getAttribute("no-cache"))) {
		cacheControl = CacheControl.noCache();
	}
	else if ("true".equals(element.getAttribute("no-store"))) {
		cacheControl = CacheControl.noStore();
	}
	else if (element.hasAttribute("max-age")) {
		cacheControl = CacheControl.maxAge(Long.parseLong(element.getAttribute("max-age")), TimeUnit.SECONDS);
	}
	else {
		cacheControl = CacheControl.empty();
	}

	if ("true".equals(element.getAttribute("must-revalidate"))) {
		cacheControl = cacheControl.mustRevalidate();
	}
	if ("true".equals(element.getAttribute("no-transform"))) {
		cacheControl = cacheControl.noTransform();
	}
	if ("true".equals(element.getAttribute("cache-public"))) {
		cacheControl = cacheControl.cachePublic();
	}
	if ("true".equals(element.getAttribute("cache-private"))) {
		cacheControl = cacheControl.cachePrivate();
	}
	if ("true".equals(element.getAttribute("proxy-revalidate"))) {
		cacheControl = cacheControl.proxyRevalidate();
	}
	if (element.hasAttribute("s-maxage")) {
		cacheControl = cacheControl.sMaxAge(Long.parseLong(element.getAttribute("s-maxage")), TimeUnit.SECONDS);
	}
	if (element.hasAttribute("stale-while-revalidate")) {
		cacheControl = cacheControl.staleWhileRevalidate(
				Long.parseLong(element.getAttribute("stale-while-revalidate")), TimeUnit.SECONDS);
	}
	if (element.hasAttribute("stale-if-error")) {
		cacheControl = cacheControl.staleIfError(
				Long.parseLong(element.getAttribute("stale-if-error")), TimeUnit.SECONDS);
	}
	return cacheControl;
}
 
private CacheControl parseCacheControl(Element element) {
	CacheControl cacheControl;
	if ("true".equals(element.getAttribute("no-cache"))) {
		cacheControl = CacheControl.noCache();
	}
	else if ("true".equals(element.getAttribute("no-store"))) {
		cacheControl = CacheControl.noStore();
	}
	else if (element.hasAttribute("max-age")) {
		cacheControl = CacheControl.maxAge(Long.parseLong(element.getAttribute("max-age")), TimeUnit.SECONDS);
	}
	else {
		cacheControl = CacheControl.empty();
	}

	if ("true".equals(element.getAttribute("must-revalidate"))) {
		cacheControl = cacheControl.mustRevalidate();
	}
	if ("true".equals(element.getAttribute("no-transform"))) {
		cacheControl = cacheControl.noTransform();
	}
	if ("true".equals(element.getAttribute("cache-public"))) {
		cacheControl = cacheControl.cachePublic();
	}
	if ("true".equals(element.getAttribute("cache-private"))) {
		cacheControl = cacheControl.cachePrivate();
	}
	if ("true".equals(element.getAttribute("proxy-revalidate"))) {
		cacheControl = cacheControl.proxyRevalidate();
	}
	if (element.hasAttribute("s-maxage")) {
		cacheControl = cacheControl.sMaxAge(Long.parseLong(element.getAttribute("s-maxage")), TimeUnit.SECONDS);
	}
	if (element.hasAttribute("stale-while-revalidate")) {
		cacheControl = cacheControl.staleWhileRevalidate(
				Long.parseLong(element.getAttribute("stale-while-revalidate")), TimeUnit.SECONDS);
	}
	if (element.hasAttribute("stale-if-error")) {
		cacheControl = cacheControl.staleIfError(
				Long.parseLong(element.getAttribute("stale-if-error")), TimeUnit.SECONDS);
	}
	return cacheControl;
}