jsp编码过程中会有这样的问题,如果你没有设置缓存清理,当你连续查询同一个账户的记录时,页面不会刷新,而是一直停留在你第一次的查询结果中。所以要避免这种情况的出现我们就需要设置页面清理缓存。
清理缓存的方法是在<head>标签下加如下代码即可:
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate">
如果我的页面比较多,那么我在每一个页面中都加这样两行代码就比较反锁了,所以一种简单的办法就是配置一个清理缓存的过滤器,过滤器代码如下:
import java.io.IOException;
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;
/**
* 清除页面缓存
* Servlet Filter implementation class NoCashFilter
*/
public class NoCashFilter implements Filter {
public NoCashFilter() {}
public void destroy() {}
/**
* 实现这个方法
* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletResponse httpResponse=(HttpServletResponse)response;
httpResponse.setHeader("Pragma", "no-cache");
httpResponse.setHeader("Cache-Control", "no-cache, must-revalidate");
chain.doFilter(request, response);
}
public void init(FilterConfig fConfig) throws ServletException {}
}
转载于:https://blog.51cto.com/6883741/1388591