Easyui 页面访问慢解决方案,GZIP网站压缩加速优化
来源:互联网 发布:sqlserver评估期已过 编辑:程序博客网 时间:2024/06/06 00:55
1. 静态资源压缩
GZIP是网站压缩加速的一种技术,对于开启后可以加快我们网站的打开速度,原理是经过服务器压缩,客户端浏览器快速解压的原理,可以大大减少了网站的流量。
具体代码可以参加jeecg快速开发平台的实现;
通过资源压缩拦截器,减少带宽访问
参考代码:
/** * JS缓存压缩 * JEECG开源社区 * 论坛:www.jeecg.org * @author 张代浩 */public class GZipFilter implements Filter { public void destroy() { } /** * 判断浏览器是否支持GZIP * @param request * @return */ private static boolean isGZipEncoding(HttpServletRequest request){ boolean flag=false; String encoding=request.getHeader("Accept-Encoding"); //update-begin--Author:JueYue Date:20140518 for:IE下Excel上传encode为空的bug-------------------- if(encoding!=null&&encoding.indexOf("gzip")!=-1){ flag=true; } //update-end--Author:JueYue Date:20140518 for:IE下Excel上传encode为空的bug-------------------- return flag; } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletResponse resp = (HttpServletResponse) response; HttpServletRequest req=(HttpServletRequest)request; if(isGZipEncoding(req)){ Wrapper wrapper = new Wrapper(resp); chain.doFilter(request, wrapper); byte[] gzipData = gzip(wrapper.getResponseData()); resp.addHeader("Content-Encoding", "gzip"); resp.setContentLength(gzipData.length); //静态资源文件缓存机制 //CacheResource(request, response, chain); ServletOutputStream output = response.getOutputStream(); output.write(gzipData); output.flush(); } else { chain.doFilter(request, response); } }public void init(FilterConfig filterConfig) throws ServletException {} /** * 提高系统访问性能,主键缓存 */ public void CacheResource(ServletRequest request, ServletResponse response, FilterChain chain){ //1.强转httpservlet,方便调用方法 HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse res = (HttpServletResponse) response; //2.获取资源文件名的URI String uri = req.getRequestURI(); //3.获得文件扩展名,lastIndexOf(".")+1 获得.最后一次出现的索引的后一位:jpg uri = uri.substring(uri.lastIndexOf(".")+1); System.out.println( uri );//测试获取后缀是否正确 //4断相应后缀文件,设定缓存时间 long date = 0; //System.out.println( new Date().getTime());//测试当前时间用 //判断URI获取的后缀名是否与JPG相等,不考虑大小写 if(uri.equalsIgnoreCase("jpg")){ //读取XML里的JPG配置的参数,这里设定了时间 //获取当前系统时间 + 需要缓存的时间(小时),Long 防止溢出,因为单位是毫秒 date = System.currentTimeMillis()+5*60*60*1000; } if(uri.equalsIgnoreCase("gif")){ //读取XML里的JPG配置的参数,这里设定了时间 //获取当前系统时间 + 需要缓存的时间(小时),Long 防止溢出,因为单位是毫秒 date = System.currentTimeMillis()+5*60*60*1000; } if(uri.equalsIgnoreCase("css")){ //读取XML里的JPG配置的参数,这里设定了时间 //获取当前系统时间 + 需要缓存的时间(小时),Long 防止溢出,因为单位是毫秒 date = System.currentTimeMillis()+5*60*60*1000; } if(uri.equalsIgnoreCase("js")){ //读取XML里的JPG配置的参数,这里设定了时间 //获取当前系统时间 + 需要缓存的时间(小时),Long 防止溢出,因为单位是毫秒 date = System.currentTimeMillis()+5*60*60*1000; } //设置缓存时间 res.setDateHeader("Expires", date); } private byte[] gzip(byte[] data) { ByteArrayOutputStream byteOutput = new ByteArrayOutputStream(10240); GZIPOutputStream output = null; try { output = new GZIPOutputStream(byteOutput); output.write(data); } catch (IOException e) { } finally { try { output.close(); } catch (IOException e) { } } return byteOutput.toByteArray(); }}2. 静态资源缓存
3. easyui 页面优化
http://www.easyui.info/archives/1435.html
http://www.360doc.com/content/14/0209/08/9200790_350899585.shtml
0 0
- Easyui 页面访问慢解决方案,GZIP网站压缩加速优化
- 页面优化(加速网站访问速度)
- 网站访问优化(二):开启apache服务器gzip压缩
- 使用PHP和GZip压缩网站JS/CSS文件加速网站访问速度
- 用GZIP压缩JS和CSS文件,使网站访问加速
- 网站访问速度慢之CDN加速
- 网站性能优化之Gzip压缩
- 五种方法开启GZip压缩为网站加速
- tomcat优化之启用gzip网页压缩加快网站访问速度
- MOSS网站访问速度慢解决方案
- wordpress系统网站访问慢的解决方案
- 网站GZIP压缩
- JEECG 页面访问慢,优化方案
- 使用gzip压缩页面
- jsp页面压缩 gzip
- gzip页面压缩
- apache gzip页面压缩
- 启用页面Gzip压缩
- poj 2115 C Looooops(模线性方程)
- qt vs插件
- C++11新特性中的匿名函数Lambda表达式的汇编实现分析
- 关于Xcode插件的安装与卸载
- SIFT特征简介
- Easyui 页面访问慢解决方案,GZIP网站压缩加速优化
- 积分制管理系统:其它可增加积分的功能
- 使用较低版本API的Intel镜像模拟器支持Google API
- OCP 1Z0 052 31
- android几种定时器机制及区别
- 开源ETL工具kettle--数据迁移
- Boost资料
- Android内容提供者(Content provider)
- 修改Tomcat端口