1)对于浏览器的刷新而言,当浏览器缓存中有资源,也会找服务端要资源,只有在回车访问情况下,才找缓存
2)可以通过重写getLastModified()方法来阻止每次刷新都访问服务端,以减轻服务端的压力
代码含义
public class Demo7 extends HttpServlet {
protected long getLastModified(HttpServletRequest req) {
System.out.println("getLastModified()");
String path = this.getServletContext().getRealPath("/doc/abc.txt");
File file = new File(path);
return file.lastModified();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
System.out.println("doGet()");
ServletContext context = this.getServletContext();
InputStream is = context.getResourceAsStream("/doc/abc.txt");
OutputStream os = response.getOutputStream();
byte[] buf = new byte[1024];
int len = 0;
while((len=is.read(buf))>0){
os.write(buf,0,len);
}
is.close();
os.close();
}
}
第一次请求
getLastModified()
doGet()
页面:200
第二次请求
getLastModified()
页面304