我正在读一本书,并在下面以一个例子来说明了HttpServlet.getLastModified。但令我困惑的是:实际上这个方法被调用了吗?即使我们不写它来创建缓存更新,它是否总是被隐式调用?或者我们必须写它来更新缓存?另一个问题是,如果我得到关于文件未被修改的回复,那么我该如何获得该信息呢?
另一种情况是我是否在代码中保留了getLastModified,我没有看到任何差异。有没有办法得到通知?
public class GetLastModified extends HttpServlet {
private long modTime;
private int[] numbers = new int[5];
public void init() throws ServletException {
modTime = System.currentTimeMillis() / 1000 * 1000;
for (int i = 0; i < numbers.length; i++) {
numbers[i] = randomNum();
}
}
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println(
"Based upon extensive research of "
+ "astro-illogical trends, psychic farces, "
+ "and detailed statistical claptrap, "
+ "we have chosen the " + numbers.length
+ " best lottery numbers for you."
);
for (int i = 0; i < numbers.length; i++) {
out.println(numbers[i]);
}
}
@Override
public long getLastModified(HttpServletRequest request) {
return (modTime);
}
private int randomNum() {
return ((int) (Math.random() * 100));
}
}