网站的静态页面生成方案
提升网站性能的方式有很多,例如有效的使用缓存,生成静态页面等等。今天要说的就是生成静态页面的方式。
1、直接用servlet是为了保证网站能以最快的速度执行命令..个人总感觉像Struts hibernate spring之类的虽然方便但是效能带来的损耗不太能接收
2、使用html同样是为了保证最快的反应速度,毕竟html 比jsp少了一层服务器执行.速度上要快的多
要想掌握页面静态化方案应该掌握的知识点
1、 基础— URL Rewrite
什么是 URL Rewrite 呢 ? URL 重写。用一个简单的例子来说明问题:输入网址http://www.abc.com/test.do ,但是实际上访问的却是 http://www.abc.com/test.action,那我们就可以说 URL 被重写了。这项技术应用广泛,有许多开源的工具可以实现这个功能。
2、 基础— Servlet web.xml
如果你还不知道 web.xml 中一个请求和一个 servlet 是如何匹配到一起的,那么请搜索一下 servlet 的文档。这可不是乱说呀,有很多人就认为 /xyz/*.do 这样的匹配方式能有效。
如何让用户遵守访问方式
前面我们已经通过代码讲解,用户访问 xx_pageNumber_1.shtm,那么我们可以直接返回已经存在的html文件给用户,大大的减轻应用服务器的压力。可是如果客户直接访问 xx.do?pageNumber=1 呢?浏览器是客户的,如果他们要想恶意的请求你的网站你是没有办法控制的,难道我们要在页面上告诉访问者“请遵守访问方式,否则您将被如何如何”吗?
针对上面这种情况,我们需要在 index.do 中做点手脚。简单的说就是在我们自己转发请求的时候设置一个变量告诉被请求的地址我们是合法的。
1、最笨的方式,手动刷新.
例如:网站首页,当管理员更新一个功能之后,手动点击后台的一个按钮直接更新对应的html文件
2、定时刷新。
每隔一段指定的时间去更新所有已经存在的html文件,当然前提是你要先验证哪些已经生成了html文件.至于怎么验证?你可以在每生成一个文件的时候往内存的某个list或者某个文件,或者某个表写入当前生成的文件名..
3、智能刷新
先说一下,这个不好做,但是做好了很牛方便。
管理员在后台的每个操作 增删改查,都进行监听,并在操作完成后去验证一下对应的文件是否存在,存在就更新,不存在就不操作.