zoukankan      html  css  js  c++  java
  • springmvc+ajax——第二讲(页面缓存)

    springmvc+ajax+页面缓存(参考:https://www.cnblogs.com/liuling/archive/2013/07/25/2013-7-25-01.html)

    必须设置响应头才能实现页面缓存效果,一般对css等静态文件可以使用缓存,但是对于动态则不能使用缓存,springmvc默认是无缓存的。如果要想设置成有缓存,修改controller类:


    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.Date;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    @Controller
    public class TestController {
    public TestController() {
    System.out.println("------TestController------");
    }
    @RequestMapping(value="/testAjax",method=RequestMethod.GET)//m                     //如果在前端alert("xxx")能执行通,但是后台没反应可能是                       //method错了:ethod=RequestMethod.GET
    public void testAjax(HttpServletRequest req,HttpServletResponse resp){
    // System.out.println("testAjax");
    String param = null;
    param = req.getParameter("param");
    // System.out.println(param);
    Date date = new Date();
    resp.setDateHeader("Last-Modified", date.getTime());

    //为了更好地测试缓存效果,可以设置false:如xmlHttpRequest.open("GET", "./testAjax?param="+param, false);点击按钮就会卡住,知道几秒

    //之后才可以

    resp.setHeader("Pragma", "Pragma");
    resp.setHeader("cache-control", "public");

    int mills = 0;
    while(mills < 5){
    try {
    Thread.sleep(1000);
    System.out.println("睡眠"+mills+"秒后");
    mills ++ ;
    } catch (InterruptedException e1) {
    e1.printStackTrace();
    }
    }

    PrintWriter pw = null;
    try {
    pw = resp.getWriter();
    pw.print(param);
    } catch (IOException e) {
    e.printStackTrace();
    }finally{
    pw.flush();
    pw.close();
    System.out.println("finally");
    }
    }


    }

  • 相关阅读:
    MySQL(十五)之数据备份中mysqldump详解
    MySQL(十四)之数据备份与还原
    MySQL(十三)之MySQL事务
    Flink MysqlSink 简单样例
    Flink FileSink 自定义输出路径——StreamingFileSink、BucketingSink 和 StreamingFileSink简单比较
    Flink FileSink 自定义输出路径——BucketingSink
    【翻译】Flink Joining
    Flink 异步IO访问外部数据(mysql篇)
    【翻译】Flink 异步I / O访问外部数据
    Flink 自定义source和sink,获取kafka的key,输出指定key
  • 原文地址:https://www.cnblogs.com/lirenhe/p/9774459.html
Copyright © 2011-2022 走看看