2
ExpiryFilter.java 나는이 점에서 하나의 웹 응용 프로그램을 만드는 오전필터 매핑
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;
public class ExpiryFilter implements Filter {
// add a five years expiry
private Integer years = 1;
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if (years > -1) {
Calendar c = Calendar.getInstance();
c.setTime(new Date());
c.add(Calendar.YEAR, years);
// HTTP header date format: Thu, 01 Dec 1994 16:00:00 GMT
String o = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss zzz")
.format(c.getTime());
((HttpServletResponse) response).setHeader("Expires", o);
}
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
}
은 내가 유효성에게 시간을주고 싶다. 그래서 매핑을 위해 필터를 사용하고 있습니다.
web.xml을
<filter>
<description>Set cache expiry for static content</description>
<filter-name>ExpiryFilter</filter-name>
<filter-class>ExpiryFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ExpiryFilter</filter-name>
<url-pattern>/ExpiryDate/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
이 내 로컬 호스트 링크 내가 1 년 후에 필터링해야 http://localhost:8080/ExpiryDate/test.jsp.
입니다. 1 년 또는 특정 기간 후에 특정 링크를 실행할 수 없습니다. 솔루션을 찾으려면 도와주세요.
감사합니다.
그것은 올바른 만료하지만 등은 그래서 난 특정 URL은 그렇게 나에게 코딩을 안내하거나 나에게 링크를 표시하시기 바랍니다 필요가 Gmail과 같은 모든 만료 –
물론 URL 패턴에 대한 모든 요청이 만료되므로 단 한 페이지 만료되기를 원하십니까? – Dunken
그래 절대적으로 http : // localhost : 8080/ExpiryDate/test.jsp이 특정 링크 만료 싶습니다 –