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");

}

}

}

springmvc+ajax——第二讲(页面缓存)的更多相关文章

  1. Java Web SpringMVC AJAX,实现页面懒加载数据

    因为做的微信端的网页,所以在显示后台数据的时候,要么分页,要么全部加载数据,开始分页对于用户来说,其实体验不是很好,毕竟要去不断的点击下一页,但是如果我把全部数据读取出来的话,但用户可能也就看前面几条 ...

  2. java selenium webdriver第二讲 页面元素定位

    自动化测试实施过程中,测试程序中常用的页面操作有三个步骤 1.定位网页上的页面元素,并存储到一个变量中 2.对变量中存储的页面元素进行操作,单击,下拉或者输入文字等 3.设定页面元素的操作值,比如,选 ...

  3. springmvc+ajax——第一讲(搭建)

    下面是整个整合测试的代码: ajax01.html TestController web.xml springmvc.xml applicationContext.xml <!DOCTYPE h ...

  4. thinkphp结合ajax实现统计页面pv的浏览量

    统计pv量很常用,下面的代码用ajax实现的,使用ajax可以避免页面缓存造成的影响,只要客户端的js代码执行了就可以统计流量. 一共就两部 将下面代码放在要统计的html页面中,测试时把地址换成自己 ...

  5. 使用服务器端控制AJAX页面缓存

    你知道 response.setHeader("Cache-Control","no-cache"); 这条语句是干什么的吗? 这是用来防止浏览器缓存动态内容生 ...

  6. Spring Web MVC中的页面缓存支持 ——跟我学SpringMVC系列

    Spring Web MVC中的页面缓存支持 ——跟我学SpringMVC系列

  7. 【军哥谈CI框架】之入门教程之第二讲:分析CI结构和CI是怎么工作的

    [军哥谈CI框架]之入门教程之第二讲:分析CI结构和CI是怎么工作的   之入门教程之第二讲:分析CI结构和CI是如何工作的大家好!上一节,我们共同部署了一个CI网站,做到这一点非常简单,但是,亲们, ...

  8. 使AJAX调用尽可能利用缓存特性

    优化网站设计(十四):使AJAX调用尽可能利用缓存特性 前言 网站设计的优化是一个很大的话题,有一些通用的原则,也有针对不同开发平台的一些建议.这方面的研究一直没有停止过,我在不同的场合也分享过这样的 ...

  9. 关于asp.net页面缓存

    1,ASPX页面缓存 页面缓存的使用方法非常的简单,只需要在aspx页的顶部加一句声明<%@ OutputCache Duration="60" VaryByParam=&q ...

随机推荐

  1. 前端 ----关于DOM的事件操作

    关于DOM的事件操作   一.JavaScript的组成 JavaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for ...

  2. ajax返回的欧洲字符(例如:法文)乱码

    ajax返回值的乱码现象产生的相关代码如下: Java代码: JsonObject jsonObject = new JsonObject(); jsonObject.addProperty(&quo ...

  3. sysstat-----获取服务器负载历史记录

    sysstat工具与负载历史回放 很多系统负载过高的时候我们是无法立即获知或者立即解决的,当检测到或者知道历史的高负载状况时,可能需要回放历史监控数据,这时 sar 命令就派上用场了,sar命令同样来 ...

  4. 纯CSS3轮播图

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  5. HTML阻止冒泡事件的发生

    阻止事件冒泡函数(低级标签的点击事件触发后,上级标签的点击事件再触发,此函数就是防止冒泡事件发生) function stopEventBubble(event){ var e=event || wi ...

  6. 在java中,OOA是什么?OOD是什么?OOP是什么?

    注:本文来源于<   在java中,OOA是什么?OOD是什么?OOP是什么?> 在java中,OOA是什么?OOD是什么?OOP是什么? OOA Object-Oriented Anal ...

  7. Eclipse 软件 Java 解决:出现的editor does not contain a main type错误框 问题

    Eclipse 软件 解决:出现的 editor does not contain a main type 错误框 问题 当你运行 Java文件是,如果弹出了下面的 错误框: 出现错误的原因: 当前的 ...

  8. Vue2.0 新手完全填坑攻略—从环境搭建到发布

    http://www.open-open.com/lib/view/open1476240930270.html https://jingyan.baidu.com/article/91f5db1b2 ...

  9. kafka架构浅显理解

    Kafka的概念: 1. AMQP协议 Advanced Message Queuing Protocol (高级消息队列协议) The Advanced Message Queuing Protoc ...

  10. json的转换操作

    toJSON 把JS对象{ 'x': 2, 'y': 3 }转为JSON对象格式的字符串   不能转化字符串 比如"{ 'x': 2, 'y': 3 }" 可以转格式不标准的jso ...