Reputation:
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 {
}
}
I am creating one web application in that i want to give validity time period. So am using filter for mapping.
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>
This is my local host linkhttp://localhost:8080/ExpiryDate/test.jsp.
I need to filter after one year. After one year or particular time period that particular link could not be run.So please help me to find out the solution.
Thank you.
Upvotes: 2
Views: 311
Reputation: 1361
Since it is a one page just make your check for the difference the two dates (a starting date that you specify and the date of the request ) in the start of your JSP page
to be something like this peso do code
if (difference is one year ){
<body>
link is expired
</body>
}else{
<body>
//what ever data you show
</body>
}
Upvotes: 3