当调用getLastModified时?

时间:2016-10-03 15:52:34

标签: java jsp servlets

我正在读一本书,并在下面以一个例子来说明了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));
 }
}

0 个答案:

没有答案