1.说明 页面静态化是把动态页面生成的html保存到服务器的文件上,然后再有相同请求时,不再去执行动态页面,而是直接给用户响应上次已经生成的静态页面. * 核心思路为拦截请求,实现请求转发指向静态页面. * 静态化页面实现方法为自定义类继承HttpServletResponseWrapper,修改构造函数参数,并重写getWriter()方法,使其原本输出至浏览器额内容写入静态页面中 =============================== 2.查看图书分类 我们先来写一个小例子,用来查看…
页面静态化是把servlet请求的资源所做输出保存到html中, 然后重定向到 html 页面, 二次访问时,这个html已经存在,那么直接重定向,不用再去访问servlet! // StaticFilter public class StaticFilter implements Filter{ private FilterConfig config; public void destory(){} public void init(FilterConfig fConfig) throws S…
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-…
利用php的ob缓存机制实现页面静态化 首先介绍一下php中ob缓存常用到的几个常用函数ob_start():开启缓存机制ob_get_contents():获取ob缓存中的内容ob_clean()清除ob缓存中的内容,但不关闭缓存ob_end_clean() 清除ob缓存中的内容,并关闭缓存ob_flush 清空缓存,输出内容,但不关闭缓存ob_end_flush 清空缓存,输出内容,并关闭缓存flush强制刷新输出缓存中的内容按照http协议的规定,回应内容不能在回应头之前输出,所以,如果在…
上一篇有提到利用IHttpModule和ResultFilter实现页面静态化功能.后来经过一些改动,将ResultFilter中要实现的功能全部转移到IHttpModule中来实现 Asp.Net MVC页面静态化功能实现一:利用IHttpModule和ResultFilter 1.改动后的自定义IHttpModule实现代码: public class RouterHttpModule : IHttpModule { public void Init(HttpApplication appl…
由于公司现在所采用的是一套CMS内容管理系统的框架,所以最近项目中有一个需求提到要求实现页面静态化的功能.在网上查询了一些资料和文献,最后采用的是小尾鱼的池塘提供的 利用ResultFilter实现asp.net mvc3 页面静态化实现方式,然后结合IHttpModule过滤并判断当前请求.实现代码如下: 实现思路:当服务器接收到一条Http请求后,会先进入IHttpModule并分析出当前请求的Url对应的静态页面文件路径.如果该文件存在,直接返回静态页面给客户端,终止本次请求.如果静态页面…
为了提高网站性能.和网站的负载能力,页面静态化是一种有效的方式,这里对于asp.net mvc3 构架下的网站,提供一种个人认为比较好的静态话方式. 实现原理是通过mvc提供的过滤器扩展点实现页面内容的文本保存,直接上代码: public class StaticFileWriteFilterAttribute : FilterAttribute, IResultFilter { public void OnResultExecuted(ResultExecutedContext filterC…
为了提高网站性能.和网站的负载能力,页面静态化是一种有效的方式,这里对于asp.net mvc3 构架下的网站,提供一种个人认为比较好的静态话方式. 实现原理是通过mvc提供的过滤器扩展点实现页面内容的文本保存,直接上代码: public class StaticFileWriteFilterAttribute : FilterAttribute, IResultFilter    {        public void OnResultExecuted(ResultExecutedConte…
题外话:       页面静态化(展示数据从JSP页面变成HTML页面)实现方式-->模板技术   从本质上来讲,模板技术是一个占位符动态替换技术.一个完整的模板技术需要四个元素:①模板语言(使用的语法)   ②包含模板语言的模板文件(.ftl结尾)   ③模板引擎(jar包)  ④拥有动态数据的数据对象       FreeMarker是一款模板引擎:即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具.它不是面向最终用户的,而是一个Java…
首先解释一下什么是动态处理页面静态化 对于需要静态化的页面,第一次访问某个Action时,会先执行Action,并在页面渲染后向Response和服务器中网站的目录下都写入需要返回的html,而第二次访问此页时,在执行Action前,程序会先在指定目录下寻找是否存在当前请求对应的静态页面,如果有,则直接返回静态页面,如果没有,则按第一次访问此请求进行处理,即执行Action,并向Response和服务器中网站的目录下都写入需要返回的html.利用这种方式,可以在网站在请求的过程中,会动态的生成静…
首先解释一下什么是动态处理页面静态化 对于需要静态化的页面,第一次访问某个Action时,会先执行Action,并在页面渲染后向Response和服务器中网站的目录下都写入需要返回的html,而第二次访问此页时,在执行Action前,程序会先在指定目录下寻找是否存在当前请求对应的静态页面,如果有,则直接返回静态页面,如果没有,则按第一次访问此请求进行处理,即执行Action,并向Response和服务器中网站的目录下都写入需要返回的html.利用这种方式,可以在网站在请求的过程中,会动态的生成静…
1.过滤器的原理 2.实现过滤器 写一个类实现javax.servlet.Filter接口 在web.xml中对Filter进行配置 3.Filter接口 void init(FilterConfig):在创建之后马上执行.在tomcat启动时创建 void doFilter(ServletRequest,ServletResponse, FilterChain):每次过滤时 void destory():销毁之前.在tomcat关闭时销毁 4.FilterConfig String getFi…
本文主要讲述了在asp.net mvc中,页面静态化的几种思路和方法.对于网站来说,生成纯html静态页面除了有利于seo外,还可以减轻网站的负载能力和提高网站性能.在asp.net mvc中,视图的Razor引擎和控制器为我们静态化提供了新的思路和方法,我们可以利用视图引擎和重写过滤器进行静态操作.   先说下本人目前已知的静态化思路,大概有4种方法: 一.使用html模板搭配自定义占位符标识 这是最常见的方法,这种方法需要先编写一个html模板页,模板中定义好需要替换的占位符标识,在需要生成…
一:页面静态化 几个概念: 静态网址:(比如:http://localhost/abc.html) 特点:1.利用seo(search engine optimization) 搜索引擎优化;2:访问速度快 3:防止sql注入 http://localhost/index.php?u=123&p=/*2323*/ 动态网址:(比如:http://localhost/news.php?id=112 即访问的是一个php页面,可以传递参数) 特点:1:不利于SEO;2:访问速度慢;3:有被注入sql…
一:关键技术介绍: 衡量是否为大型网站的要素: A:PV值(page views 页面浏览量) 访问量大: 带来的问题:1:流量大 -->解决方案:增加带宽,优化程序(视频和图片较浪费带宽,尽量优化图片和视频的大小) 2:并发量:同时访问 -->解决方案:修改程序的架构(服务器集群) 服务器集群: 就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器.集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可 以用多个计算机做备份,从而使得任何一个机器坏了整个系统…
上一篇提到采用IHttpModule来实现当用户访问网站的时候,通过重新定义Response.Filter来实现将返回给客户端的html代码保存,以便用户下一次访问是直接访问静态页面. Asp.Net MVC页面静态化功能实现一:利用IHttpModule,摒弃ResultFilter 后来想到可以通过WebRequest获取html代码,然后采用递归算法来实现.基本实现思路如下: 通过WebRequest获取超链接地址返回的html代码,并保存:然后正则表达式匹配html代码中所有的超链接hr…
MVC 页面静态化   最近工作需要,实现页面静态化,以前在ASP时代,都是FSO自己手动生成的. 新时代,MVC了,当然也要新技术,网上一搜,找到一种解决方案,是基于MVC3的,实现原理是通过mvc提供的过滤器扩展点实现页面内容的文本保存. 基本原理为: 1.为需要静态化的Action上加一个自定义的实现了IResultFilter的Attribute(具体见下文) 2.添加一条路由规则,实现访问静态页面,把它放在原有路由的前面 //http://product/123.html routes…
最近工作需要,实现页面静态化,以前在ASP时代,都是FSO自己手动生成的. 新时代,MVC了,当然也要新技术,网上一搜,找到一种解决方案,是基于MVC3的,实现原理是通过mvc提供的过滤器扩展点实现页面内容的文本保存. 基本原理为: 1.为需要静态化的Action上加一个自定义的实现了IResultFilter的Attribute(具体见下文) 2.添加一条路由规则,实现访问静态页面,把它放在原有路由的前面 //http://product/123.html routes.MapRoute( "…
为什么要页面静态化? 1.动态文件执行过程:语法分析-编译-运行 2.静态文件,不需要编译,减少了服务器脚本运行的时间,降低了服务器的响应时间,直接运行,响应速度快:如果页面中一些内容不经常改动,动态页面静态化是非常有效的加速方法.(纯静态,伪静态还是需要PHP解释器的) 3.生成静态URL利于SEO,利于蜘蛛抓取和收录,有利于提升排名 优化页面响应时间方法 1.动态页面静态化 2.优化数据库 3.负载均衡 4.使用缓存等等 //动态页面静态化一般用于不经常改动的地方,频繁改动的地方一般不适用静…
页面静态化,其实就是将动态生成的php页面,变成静态的HTML页面,让用户直接访问.有一下几方面好处: 1,首先就是访问速度,不需要去访问数据库,或者缓存来获取哪些数据,浏览器直接加载渲染html页即可.所以可以大大的提高访问效率: 2,从网站优化来分析,搜索引擎更喜欢静态的网页,静态网页与动态网页相比,搜索引擎更喜欢静的,更便于抓取,搜索引擎SEO排名更容易提高. 3,从安全角度讲,静态网页不宜遭到黑客攻击,如果黑客不知道你网站的后台.网站采用程序.数据库的地址,静态网页, 更不容易受到黑客的…
随着网站的内容的增多和用户访问量的增多,无可避免的是网站加载会越来越慢,受限于带宽和服务器同一时间的请求次数的限制,我们往往需要在此时对我们的网站进行代码优化和服务器配置的优化.一般情况下会从以下方面来做优化 动态页面静态化 优化数据库 使用负载均衡 使用缓存 使用CDN加速 现在很多网站在建设的时候都要进行静态化的处理,为什么网站要进行静态化处理呢?我们都知道纯静态网站是所有的网页都是独立的一个html页面,当我们访问的时候不需要经过数据的处理直接就能读取到文件,访问速度就可想而知了,而其对于…
1. 页面静态化是什么? 页面静态化有非常多含义,在WEB开发中.静态网页一般理解为站点中大部分超级链接所引用的页面是单独的HTML静态页面文件(如.htm..html等页面文件,html语言本身是静态的,不支持数据的传递,能够防止SQL注入 ). 2. 为什么都要把页面静态化呢? 对于如今的互联网应用(Web Application)来说.动态页面是占有绝对高的地位的,正因为有了动态化,才有了如今互联网的丰富多彩.可是如同全部别的事实一样,优点往往都是有代价的.为了产生出动态的效果,每一次对页…
FastDFS是一个轻量级分布式文件系统,   使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传.下载等服务   FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage).   跟踪器主要做调度工作,在访问上起负载均衡的作用.   存储节点存储文件,完成文件管理的所有功能:就是这样的存储.同步和提供存取接口,FastDFS同时对文件的metadata进行管理.   所谓文件的meta data就是文件的相关属性,以键值对(key valuepair)…
页面静态化分为两种 一种伪静态,即url重写,一种纯静态化. 一.静态化的优点: 1有利于搜索引擎收录网站页面的信息:搜索引擎更喜欢静态的,更变于抓取,搜索引擎SEO排名会更容易提高. 2静态网页化网页稳定 3可以提高网页加载速度 4减轻服务器负担,浏览器不需要频发调用数据库. 5数据库出错不会影响正常访问 二.伪静态 PHP伪静态:是利用Apache mod_rewite实现url重写的方法 改写訪问地址,能够通过URL的PATHINFO模式来改动它.让它看上去更像一个静态页面.从而有更大的几…
JSP页面静态化总结之一使用URLRewrite实现url地址伪静态化 1使用URLRewrite实现url地址伪静态化1.1URLRewirte的用处 1.满足搜索引擎的要求. 2.隐藏技术实现,提高网站的移植性. 3.满足美感的要求(个人感觉这个用处太牵强). 1.2项目部署 1.首先在http://tuckey.org/urlrewrite/下载urlrewirtefilter,现在有2.6.0和3.2.0两个版本,这里我选择的是前面一个稳定版本. 2.解压所下载的文件,把urlrewri…
<?php //接收新闻id,传统的方法查询数据库并显示数据 $id=intval($_GET['id']); //先判断该新闻对于的静态页面是否存在,如果有,则直接返回,如果 //没有,则查询 $html_file="news-id".$id.".html"; //filemtime($html_file)+30>=time() 保证文件是30秒有效 if(file_exists($html_file) && filemtime($ht…
为什么要页面静态化? 1.动态文件执行过程:语法分析-编译-运行 2.静态文件,不需要编译,减少了服务器脚本运行的时间,降低了服务器的响应时间,直接运行,响应速度快:如果页面中一些内容不经常改动,动态页面静态化是非常有效的加速方法.(纯静态,伪静态还是需要PHP解释器的) 3.生成静态URL利于SEO,利于蜘蛛抓取和收录,有利于提升排名 优化页面响应时间方法 1.动态页面静态化 2.优化数据库 3.负载均衡 4.使用缓存等等 //动态页面静态化一般用于不经常改动的地方,频繁改动的地方一般不适用静…
量体裁衣方得最优解:聊聊页面静态化架构和二级CDN建设 上期文章中我们介绍了CDN和云存储的实践,以及云生态的崛起之路,今天,我们继续聊一聊CDN. 我们通常意义上讲的CDN,更多的是针对静态资源类的内容分发网络,最典型的就是电商的各类图片,还有JS和CSS这样的样式文件.通过CDN能够让用户就近访问,提升用户体验. 但是这类文件只是以单纯的资源存在,与业务逻辑没有强关联.所以我们在技术上,可以使用业界通用的CDN和云存储解决方案. 需要注意的是,本文中我们讲到的实践内容,同样是遵从静态内容,就…
一.FreeMarker简介 1.动态网页和静态网页差异 在进入主题之前我先介绍一下什么是动态网页,动态网页是指跟静态网页相对应的一种网页编程技术.静态网页,随着HTML代码的生成,页面的内容和显示效 果就不会再发生变化(除非你修改页面代码).而动态网页则不然,页面代码虽然没有发生变化,但是显示的内容却是可以随着时间.环境或者数据库操作的结果而 发生相应的变化.简而言之,动态网页是基本的HTML语法规范与java.VB.VC等高级程序设计语言.数据库编程等多种技术的融合,以实现对网站内容 和风格…
Ps:好久没写博客了,不是我太懒,是因为苦逼的我出差去上海了,天天加班 刚回成都.... 今天说说jsp页面静态化,知道静态化的朋友都不陌生,说白了就是访问后缀是html 而不是jsp. 没听说过静态化的朋友会问为啥要这么做,jsp访问好好的 为啥多此一举 好处: 1. 效率方面,访问html页面时,服务器找到页面后直接返回,不会再进行后台处理,速度快很多很多,同时也是解决高并发,降低服务器资源占用最有效的方式. 各大门户类网站大家都可以看看页面的后缀,几乎都是.html结尾的. 2. seo方…