本文整理匯總了Java中javax.servlet.http.HttpServletRequest.getDateHeader方法的典型用法代碼示例。如果您正苦於以下問題:Java HttpServletRequest.getDateHeader方法的具體用法?Java HttpServletRequest.getDateHeader怎麽用?Java HttpServletRequest.getDateHeader使用的例子?那麽恭喜您, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類javax.servlet.http.HttpServletRequest的用法示例。
在下文中一共展示了HttpServletRequest.getDateHeader方法的18個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於我們的係統推薦出更棒的Java代碼示例。
示例1: checkIfModifiedSince
點讚 3
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
/**
* Check if the if-modified-since condition is satisfied.
*
* @param request The servlet request we are processing
* @param response The servlet response we are creating
* @param resourceAttributes File object
* @return boolean true if the resource meets the specified condition,
* and false if the condition is not satisfied, in which case request
* processing is stopped
*/
protected boolean checkIfModifiedSince(HttpServletRequest request,
HttpServletResponse response,
ResourceAttributes resourceAttributes) {
try {
long headerValue = request.getDateHeader("If-Modified-Since");
long lastModified = resourceAttributes.getLastModified();
if (headerValue != -1) {
// If an If-None-Match header has been specified, if modified since
// is ignored.
if ((request.getHeader("If-None-Match") == null)
&& (lastModified < headerValue + 1000)) {
// The entity has not been modified since the date
// specified by the client. This is not an error case.
response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
response.setHeader("ETag", resourceAttributes.getETag());
return false;
}
}
} catch (IllegalArgumentException illegalArgument) {
return true;
}
return true;
}
開發者ID:liaokailin,項目名稱:tomcat7,代碼行數:37,
示例2: checkIfUnmodifiedSince
點讚 3
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
/**
* Check if the if-unmodified-since condition is satisfied.
*
* @param request The servlet request we are processing
* @param response The servlet response we are creating
* @param resourceAttributes File object
* @return boolean true if the resource meets the specified condition,
* and false if the condition is not satisfied, in which case request
* processing is stopped
*/
protected boolean checkIfUnmodifiedSince(HttpServletRequest request,
HttpServletResponse response,
ResourceAttributes resourceAttributes)
throws IOException {
try {
long lastModified = resourceAttributes.getLastModified();
long headerValue = request.getDateHeader("If-Unmodified-Since");
if (headerValue != -1) {
if ( lastModified >= (headerValue + 1000)) {
// The entity has not been modified since the date
// specified by the client. This is not an error case.
response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED);
return false;
}
}
} catch(IllegalArgumentException illegalArgument) {
return true;
}
return true;
}
開發者ID:liaokailin,項目名稱:tomcat7,代碼行數:32,
示例3: download
點讚 3
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
@RequestMapping(value = "/download")
public void download(HttpServletRequest request, HttpServletResponse response) throws Exception {
request = wrapRequest(request);
org.airsonic.player.domain.User user = securityService.getCurrentUser(request);
if (!user.isDownloadRole()) {
error(request, response, ErrorCode.NOT_AUTHORIZED, user.getUsername() + " is not authorized to download files.");
return;
}
long ifModifiedSince = request.getDateHeader("If-Modified-Since");
long lastModified = downloadController.getLastModified(request);
if (ifModifiedSince != -1 && lastModified != -1 && lastModified <= ifModifiedSince) {
response.sendError(HttpServletResponse.SC_NOT_MODIFIED);
return;
}
if (lastModified != -1) {
response.setDateHeader("Last-Modified", lastModified);
}
downloadController.handleRequest(request, response);
}
開發者ID:airsonic,項目名稱:airsonic,代碼行數:24,
示例4: checkModifiedSince
點讚 3
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
public boolean checkModifiedSince(HttpServletRequest request, HttpServletResponse response, long lastModified)
{
long modifiedSince = request.getDateHeader("IF-MODIFIED-SINCE"); //$NON-NLS-1$
boolean hasBeenModified = true;
if( modifiedSince > 0 )
{
hasBeenModified = modifiedSince < (lastModified - (lastModified % 1000));
}
response.setDateHeader("Last-Modified", lastModified); //$NON-NLS-1$
if( !hasBeenModified )
{
response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
}
return hasBeenModified;
}
開發者ID:equella,項目名稱:Equella,代碼行數:19,
示例5: checkIfUnmodifiedSince
點讚 3
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
/**
* Check if the if-unmodified-since condition is satisfied.
*
* @param request The servlet request we are processing
* @param response The servlet response we are creating
* @param resourceInfo File object
* @return boolean true if the resource meets the specified condition,
* and false if the condition is not satisfied, in which case request
* processing is stopped
*/
protected boolean checkIfUnmodifiedSince(HttpServletRequest request,
HttpServletResponse response,
ResourceAttributes resourceAttributes)
throws IOException {
try {
long lastModified = resourceAttributes.getLastModified();
long headerValue = request.getDateHeader("If-Unmodified-Since");
if (headerValue != -1) {
if ( lastModified >= (headerValue + 1000)) {
// The entity has not been modified since the date
// specified by the client. This is not an error case.
response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED);
return false;
}
}
} catch(IllegalArgumentException illegalArgument) {
return true;
}
return true;
}
開發者ID:lamsfoundation,項目名稱:lams,代碼行數:32,
示例6: checkIfModifiedSince
點讚 3
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
/**
* Check if the if-modified-since condition is satisfied.
*
* @param request The servlet request we are processing
* @param response The servlet response we are creating
* @param resourceInfo File object
* @return boolean true if the resource meets the specified condition,
* and false if the condition is not satisfied, in which case request
* processing is stopped
*/
private boolean checkIfModifiedSince(HttpServletRequest request,
HttpServletResponse response,
ResourceInfo resourceInfo)
throws IOException {
try {
long headerValue = request.getDateHeader("If-Modified-Since");
long lastModified = resourceInfo.date;
if (headerValue != -1) {
// If an If-None-Match header has been specified, if modified since
// is ignored.
if ((request.getHeader("If-None-Match") == null)
&& (lastModified <= headerValue + 1000)) {
// The entity has not been modified since the date
// specified by the client. This is not an error case.
response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
return false;
}
}
} catch(IllegalArgumentException illegalArgument) {
return false;
}
return true;
}
開發者ID:c-rainstorm,項目名稱:jerrydog,代碼行數:36,
示例7: checkIfUnmodifiedSince
點讚 3
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
/**
* Check if the if-unmodified-since condition is satisfied.
*
* @param request The servlet request we are processing
* @param response The servlet response we are creating
* @param resourceInfo File object
* @return boolean true if the resource meets the specified condition,
* and false if the condition is not satisfied, in which case request
* processing is stopped
*/
private boolean checkIfUnmodifiedSince(HttpServletRequest request,
HttpServletResponse response,
ResourceInfo resourceInfo)
throws IOException {
try {
long lastModified = resourceInfo.date;
long headerValue = request.getDateHeader("If-Unmodified-Since");
if (headerValue != -1) {
if ( lastModified > headerValue ) {
// The entity has not been modified since the date
// specified by the client. This is not an error case.
response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED);
return false;
}
}
} catch(IllegalArgumentException illegalArgument) {
return false;
}
return true;
}
開發者ID:c-rainstorm,項目名稱:jerrydog,代碼行數:32,
示例8: checkIfModifiedSince
點讚 3
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
/**
* Check if the if-modified-since condition is satisfied.
*
* @param request
* The servlet request we are processing
* @param response
* The servlet response we are creating
* @param resourceAttributes
* File object
* @return boolean true if the resource meets the specified condition, and
* false if the condition is not satisfied, in which case request
* processing is stopped
*/
protected boolean checkIfModifiedSince(HttpServletRequest request, HttpServletResponse response,
ResourceAttributes resourceAttributes) {
try {
long headerValue = request.getDateHeader("If-Modified-Since");
long lastModified = resourceAttributes.getLastModified();
if (headerValue != -1) {
// If an If-None-Match header has been specified, if modified
// since
// is ignored.
if ((request.getHeader("If-None-Match") == null) && (lastModified < headerValue + 1000)) {
// The entity has not been modified since the date
// specified by the client. This is not an error case.
response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
response.setHeader("ETag", resourceAttributes.getETag());
return false;
}
}
} catch (IllegalArgumentException illegalArgument) {
return true;
}
return true;
}
開發者ID:how2j,項目名稱:lazycat,代碼行數:39,
示例9: checkIfUnmodifiedSince
點讚 3
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
/**
* Check if the if-unmodified-since condition is satisfied.
*
* @param request
* The servlet request we are processing
* @param response
* The servlet response we are creating
* @param resourceAttributes
* File object
* @return boolean true if the resource meets the specified condition, and
* false if the condition is not satisfied, in which case request
* processing is stopped
*/
protected boolean checkIfUnmodifiedSince(HttpServletRequest request, HttpServletResponse response,
ResourceAttributes resourceAttributes) throws IOException {
try {
long lastModified = resourceAttributes.getLastModified();
long headerValue = request.getDateHeader("If-Unmodified-Since");
if (headerValue != -1) {
if (lastModified >= (headerValue + 1000)) {
// The entity has not been modified since the date
// specified by the client. This is not an error case.
response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED);
return false;
}
}
} catch (IllegalArgumentException illegalArgument) {
return true;
}
return true;
}
開發者ID:how2j,項目名稱:lazycat,代碼行數:33,
示例10: checkIfModifiedSince
點讚 2
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
/**
* 根據瀏覽器If-Modified-Since Header, 計算文件是否已被修改.
*
* 如果無修改, checkIfModify返回false ,設置304 not modify status.
*
* @param lastModified 內容的最後修改時間.
*/
public static boolean checkIfModifiedSince(HttpServletRequest request, HttpServletResponse response, long lastModified) {
long ifModifiedSince = request.getDateHeader(HttpHeaders.IF_MODIFIED_SINCE);
if ((ifModifiedSince != -1) && (lastModified < ifModifiedSince + 1000)) {
response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
return false;
}
return true;
}
開發者ID:funtl,項目名稱:framework,代碼行數:16,
示例11: checkIfModifiedSince
點讚 2
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
/**
* 根據瀏覽器If-Modified-Since Header, 計算文件是否已被修改.
*
* 如果無修改, checkIfModify返回false ,設置304 not modify status.
*
* @param request
* HttpServletRequest
* @param response
* HttpServletResponse
* @param lastModified
* 內容的最後修改時間.
* @return boolean
*/
public static boolean checkIfModifiedSince(HttpServletRequest request,
HttpServletResponse response, long lastModified) {
long ifModifiedSince = request.getDateHeader("If-Modified-Since");
if ((ifModifiedSince != -1)
&& (lastModified < (ifModifiedSince + MILL_SECONDS))) {
response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
return false;
}
return true;
}
開發者ID:zhaojunfei,項目名稱:lemon,代碼行數:27,
示例12: checkIfModifiedSince
點讚 2
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
/**
* Check if the if-modified-since condition is satisfied.
*
* @param request The servlet request we are processing
* @param response The servlet response we are creating
* @param resourceInfo File object
* @return boolean true if the resource meets the specified condition,
* and false if the condition is not satisfied, in which case request
* processing is stopped
*/
protected boolean checkIfModifiedSince(HttpServletRequest request,
HttpServletResponse response,
ResourceAttributes resourceAttributes)
throws IOException {
try {
long headerValue = request.getDateHeader("If-Modified-Since");
long lastModified = resourceAttributes.getLastModified();
if (headerValue != -1) {
// If an If-None-Match header has been specified, if modified since
// is ignored.
if ((request.getHeader("If-None-Match") == null)
&& (lastModified < headerValue + 1000)) {
// The entity has not been modified since the date
// specified by the client. This is not an error case.
response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
response.setHeader("ETag", resourceAttributes.getETag());
return false;
}
}
} catch (IllegalArgumentException illegalArgument) {
return true;
}
return true;
}
開發者ID:lamsfoundation,項目名稱:lams,代碼行數:38,
示例13: checkIfModifiedSince
點讚 2
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
/**
* 根據瀏覽器If-Modified-Since Header, 計算文件是否已被修改.
*
* 如果無修改, checkIfModify返回false ,設置304 not modify status.
*
* @param lastModified 內容的最後修改時間.
*/
public static boolean checkIfModifiedSince(HttpServletRequest request, HttpServletResponse response,
long lastModified) {
long ifModifiedSince = request.getDateHeader("If-Modified-Since");
if ((ifModifiedSince != -1) && (lastModified < ifModifiedSince + 1000)) {
response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
return false;
}
return true;
}
開發者ID:dragon-yuan,項目名稱:Ins_fb_pictureSpider_WEB,代碼行數:17,
示例14: checkIfModifiedSince
點讚 2
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
/**
* 根據瀏覽器If-Modified-Since Header, 計算文件是否已被修改.
*
* 如果無修改, checkIfModify返回false ,設置304 not modify status.
*
* @param lastModified 內容的最後修改時間.
*/
public static boolean checkIfModifiedSince(HttpServletRequest request, HttpServletResponse response,
long lastModified) {
long ifModifiedSince = request.getDateHeader(HttpHeaders.IF_MODIFIED_SINCE);
if ((ifModifiedSince != -1) && (lastModified < ifModifiedSince + 1000)) {
response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
return false;
}
return true;
}
開發者ID:egojit8,項目名稱:easyweb,代碼行數:17,
示例15: notModified
點讚 2
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
/**
* Compares the "If-Modified-Since" header in this request (ir present) to
* the last build date (if known) in order to determine whether the requested
* data has been modified since the prior request.
*
* @param req the request
* @return {@code true} iff we're sure that request is for a resource that
* has not been modified since the prior request
*/
public static boolean notModified(HttpServletRequest req) {
long ifModDate = req.getDateHeader("If-Modified-Since");
if (BuildData.getTimestamp() > 0 && ifModDate > 0) {
if (ifModDate >= BuildData.getTimestamp()) {
return true;
}
}
return false;
}
開發者ID:mit-cml,項目名稱:appinventor-extensions,代碼行數:19,
示例16: checkIfModifiedSince
點讚 2
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
/**
* 根據瀏覽器If-Modified-Since Header, 計算文件是否已被修改.
*
* 如果無修改, checkIfModify返回false ,設置304 not modify status.
*
* @param lastModified 內容的最後修改時間.
*/
public static boolean checkIfModifiedSince(HttpServletRequest request, HttpServletResponse response,
long lastModified) {
long ifModifiedSince = request.getDateHeader("If-Modified-Since");
if ((ifModifiedSince != -1) && (lastModified < ifModifiedSince + 1000)) {
response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
return false;
}
return true;
}
開發者ID:wkeyuan,項目名稱:DWSurvey,代碼行數:17,
示例17: checkHeaderCache
點讚 2
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
/**
* 檢測資源是否過期,若過期了則重新設置緩存時間.
*
* @param sec 緩存多少秒
* @param modelLastModifiedDate 上次修改日期
* @param request
* @param response
* @return true:發送數據;false:不發送.
*/
public static boolean checkHeaderCache(long sec,
long modelLastModifiedDate, HttpServletRequest request,
HttpServletResponse response)
{
request.setAttribute("myExpire", sec);
// convert seconds to ms.
long adddaysM = sec * 1000;
long header = request.getDateHeader("If-Modified-Since");
long now = System.currentTimeMillis();
if (header > 0 && adddaysM > 0)
{
if (modelLastModifiedDate > header)
{
// adddays = 0; // reset
response.setStatus(HttpServletResponse.SC_OK);
return true;
}
if (header + adddaysM > now)
{
notModified(response);
return false;
}
}
// if over expire data, see the Etags;
// ETags if ETags no any modified
String previousToken = request.getHeader("If-None-Match");
if (previousToken != null
&& previousToken.equals(Long.toString(modelLastModifiedDate)))
{
notModified(response);
return false;
}
// if th model has modified , setup the new modified date
response.setHeader("ETag", Long.toString(modelLastModifiedDate));
setRespHeaderCache(sec, request, response);
return true;
}
開發者ID:gzxishan,項目名稱:OftenPorter,代碼行數:50,
示例18: isUpToDate
點讚 2
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
/**
* Do we need to send the content for this file
* @param req The HTTP request
* @return true iff the ETags and If-Modified-Since headers say we have not changed
*/
protected boolean isUpToDate(HttpServletRequest req, long lastModified) {
String etag = "\"" + lastModified + '\"';
if (ignoreLastModified) {
return false;
}
long modifiedSince = -1;
try {
modifiedSince = req.getDateHeader(HttpConstants.HEADER_IF_MODIFIED);
} catch (RuntimeException ex) {
// ignore
}
if (modifiedSince != -1) {
// Browsers are only accurate to the second
modifiedSince -= modifiedSince % 1000;
}
String givenEtag = req.getHeader(HttpConstants.HEADER_IF_NONE);
String cachedPath = getCachingKey(req);
// Deal with missing etags
if (givenEtag == null) {
// There is no ETag, just go with If-Modified-Since
if (modifiedSince >= lastModified) {
if (log.isDebugEnabled()) {
log.debug("Sending 304 for " + cachedPath + " If-Modified-Since=" + modifiedSince + ", Last-Modified=" + lastModified);
}
return true;
}
// There are no modified settings, carry on
return false;
}
// Deal with missing If-Modified-Since
if (modifiedSince == -1) {
if (!etag.equals(givenEtag)) {
// There is an ETag, but no If-Modified-Since
if (log.isDebugEnabled()) {
log.debug("Sending 304 for " + cachedPath + ", If-Modified-Since=-1, Old ETag=" + givenEtag + ", New ETag=" + etag);
}
return true;
}
// There are no modified settings, carry on
return false;
}
// Do both values indicate that we are in-date?
if (etag.equals(givenEtag) && modifiedSince >= lastModified) {
if (log.isDebugEnabled()) {
log.debug("Sending 304 for " + cachedPath + ", If-Modified-Since=" + modifiedSince + ", Last Modified=" + lastModified + ", Old ETag=" + givenEtag + ", New ETag=" + etag);
}
return true;
}
log.debug("Sending content for " + cachedPath + ", If-Modified-Since=" + modifiedSince + ", Last Modified=" + lastModified + ", Old ETag=" + givenEtag + ", New ETag=" + etag);
return false;
}
開發者ID:devefx,項目名稱:validator-web,代碼行數:63,
注:本文中的javax.servlet.http.HttpServletRequest.getDateHeader方法示例整理自Github/MSDocs等源碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。
本文提供了多个关于如何在Java中使用HttpServletRequest的getDateHeader方法来检查资源是否被修改的例子。这些示例展示了如何根据客户端请求头If-Modified-Since或If-Unmodified-Since判断资源状态,并适当地设置响应。

1604

被折叠的 条评论
为什么被折叠?



