package com.fpcms.common.util; import java.util.Date; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class WebUtil { /** * 通过301 header永久重定向 * @param response * @param location */ public static void send301Redirect(HttpServletResponse response, String location) { response.addHeader("Location", location); response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); } /** * 根据lastModified时间,判断有没有修改 * @param request * @param response * @param lastModified * @return */ public static boolean isNotModified(HttpServletRequest request, HttpServletResponse response, Date lastModified) { if(AppModeUtil.isDevAppMode()) { return false; } if(lastModified == null) { return false; } response.setDateHeader("Last-Modified", lastModified.getTime()); String ifModifiedSince = request.getHeader("If-Modified-Since"); if(ifModifiedSince == null) { return false; } Date ifModifiedSenceDate = new Date(ifModifiedSince); // System.out.println("ifModifiedSince:"+ifModifiedSince+" ifModifiedSenceDate:"+DateFormatUtils.format(ifModifiedSenceDate, "yyyy-MM-dd HH:mm:ss") + " dateLastModified:"+DateFormatUtils.format(lastModified, "yyyy-MM-dd HH:mm:ss")); if(ifModifiedSenceDate.equals(lastModified)) { response.setStatus(HttpServletResponse.SC_NOT_MODIFIED); return true; } return false; } }