1.什么是页面静态化
页面静态化,可以分为伪静态与静态化两种
伪静态是指将动态链接通过一定的手段变成静态文件的链接(
restful方式等),如userdetail.htm?userid=1234 变成 userdetail/1234.html
静态化 则是在userdetail目录下面生成1234.html文件
2.为什么需要静态化
我们为什么需要将页面静态化,主要考虑到一下方面
- 利用seo (search engine optimization ) 搜索引擎优化
- 提高程序性能,由于不访问容器和对数据库的操作,所以效率比较高
- 防止sql注入攻击
3.怎样在项目中使用页面静态化
1.怎样生成静态文件
我们可以使用模板引擎的方式,根据模板和数据,生成对应的静态文件,常见的java的模板引擎有(
freemarker,
velocity,beetl
)等,目前我们的静态化,采用freemarker
2.模板的存储
静态化模板的存储,通常有两种: 1,保存数据库;2,当成资源文件放在工程目录下。 如果模板规模比较大,且模板的更新比较平凡,建议使用数据库进行保存。
3.如何访问静态文件
- 单一工程/常规工程
常规工程项目架构如图
常规工程,可以将生成的静态文件放置在某一个文件夹下或者某一个静态文件服务器中,由nginx等代理服务器,反向代理访问相应的资源文件
- 使用阿里云存储OSS+CDN
由于阿里云OSS 提供静态网站访问功能,故我们可以使用阿里云的静态网站托管功能做静态资源访问,具体使用方法可以见阿里云
1.新建单独
Bucket
2.配置index索引页,与错误支持页
3.配置域名及CDN 加速
注意:
如果开通CDN加速功能,在更改相应的静态文件时,需要重新刷新对应的CDN ,目前阿里云提供了CDN操作的接口,具体API参照:
- 使用腾讯云存储+CDN
由于未实际使用腾讯云进行测试,故暂时的方案定为 腾讯云存储COS+CDN
具体步骤:
1 生成静态文件
2 上传文件至COS
3 刷新CDN
附:
上传文件参考:
配置CDN
CDN操作相关API
4.相关代码:
来源:oschina
链接:https://my.oschina.net/u/100018/blog/545948