1、创建一个cachejs文件,前端页面,定义那些数据需要一次性拿到前端缓存,定义一个对象来保存这些数据。
2、前端页面,定义一个函数来调用后台接口获取数据,然后保存到本地缓存对象(dicts)中。
3、在主页面加载的时候调用这个方法一次性获取数据并缓存起来。这样,以后需要同样的数据,就直接从本地对象dicts中获取了。
4、后端Controller,定义一个接口,根据前端的请求,查询数据库(或查询服务器缓存,如下面例子中)获取数据返回给前端。
>
>
no-cache,浏览器和缓存服务器都不应该缓存页面信息;
public,浏览器和缓存服务器都可以缓存页面信息;
no-store,请求和响应的信息都不应该被存储在对方的磁盘系统中;
must-revalidate,对于客户机的每次请求,代理服务器必须想服务器验证缓存是否过时;
Last-Modified只页面的最后生成时间,GMT格式;
Expires过时期限值,GMT格式,指浏览器或缓存服务器在该时间点后必须从真正的服务器中获取新的页面信息;
上面两个值在JSP中设置值为字符型的GMT格式,无法生效,设置long类型。
因为如果有了刷新的动作,根据cachecontrol的值服务器会给浏览器返回304协议缓存。原理就是刷新的时候带着本地文件的版本戳去服务器请求,服务器如果比对你确实没过期,就返回一个304状态码使用本地资源。如果过期了,就返回200状态码和整个文件。对于这种刷新造成的304,移动端会明显看出有上下行缓存造成的延迟,美团有通用的解决方案 LsLoader 移动WEB工程化缓存方案美团外卖前端技术栈。1最简单的方法:publicstaticStringreverse1(Stringstr){returnnewStringBuffer(str)reverse()toString();}2最常用的方法:publicstaticStringreverse3(Strings){char[]array=stoCharArray();Stringreverse="";//注意这是空串,不是nullfor(inti=arraylength-1;i=0;i--)reverse+=array[i];returnreverse;}3常用方法的变形:publicstaticStringreverse2(Strings){intlength=slength();Stringreverse="";//注意这是空串,不是nullfor(inti=0;ilength;i++)reverse=scharAt(i)+reverse;//在字符串前面连接,而非常见的后面returnreverse;}点击按钮d出层,JQUERY写法例如:$("openmap")on("click",function() { $("map")fadeIn(600);}) d出的层中加入百度或者其他地图的代码,地图代码都是在线生成的,可以自己去百度地图试试。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)