页面静态化
1.什么是静态页面?
静态页面是指页面写好后,页面中展示的内容不会随着时间的推移或者后台数据库操作而发生改变(.html)
特点:加载速度快,响应速度快
相对的,动态页面是指页面写好后,页面中展示的内容可以通过后台数据库的操作而发生改变(.jsp)
特点:动态的修改数据,需要获取与数据库的连接,需要编译
2.页面静态化
使用方法将页面转换成静态页面的过程(本文主要介绍了其中的一种:模板技术(FreeMarker))
页面静态化是以空间换时间的方式,在添加和修改对象时就生成静态页面,访问时实际访问的是一个静态页面
3.优点
(1)降低查询数据库的次数,减轻数据库的压力,从而提高查询效率
(2)响应速度快,可以提高用户的体验
4.FreeMarker
全称:FreeMarker Template Language (FTL),是一款基于模板和要改变的数据的模板引擎,模板以.ftl为后缀结尾
注意:数据可以是Map对象或Java实体 ,但不能是List集合
5.页面静态化的编程步骤
(1)导入FreeMarker.jar
(2)获取模板(Template)对象
(3)准备数据
(4)template.process() 生成静态资源
(5)创建xxx.ftl静态化页面模板
(6)测试运行
6.详细代码
//1.导入freemarker.jar
//2.获取模板(Template)对象
Configuration cf = new Configuration(Configuration.VERSION_2_3_28);
//2.1设置默认加载路径
File file = new File(templatePath);
cf.setDirectoryForTemplateLoading(file);
//2.2设置默认编码
cf.setDefaultEncoding("utf-8");
//2.3获取模板
Template template = cf.getTemplate(templateName);
//3.准备数据
//map或者java实体
//时间戳 (使生成的页面名称各不相同)
long millis = System.currentTimeMillis();
String url = millis+suffix;
//4.生成静态资源
out = new FileWriter(new File(file,url));
template.process(obj, out);
7.封装成工具类
静态方法中的四个参数:
String templateUrl – 模板的加载路径
String templatename – 模板的名称
Object data – 模板中的数据
String suffix – 模板生成的文件的后缀
返回值:返回的是一个String类型的文件名称