FreeMarker

freemarker 是一个模板化引擎语言,传统项目中,后台页面基本上都是 list 列表,页面都是类似的,只是展示的数据不一样。这样我们就可以把他 的样式做成一个 freemarker 模板,然后传入数据就可以展示不同的页面。他 的模板一般是以.ftl 结尾的。如果使用这个呢,可以使我们开发人员不需要 太关注前台。但是对于很多门户或商城类项目,每个页面都是不一样,所以 用他也不是很方便。另外,由于可以把 freemarker 模板直接转换成 html、 jsp、java、xml、word 等各种文档。所以我们经常使用他做代码生成、word 生成或者首页静态化等。我这里就用到了首页静态化的功能。由于任何用户 访问时,首先会访问到我们的首页,所以很多东西都希望能在首页展示,但 是放的东西多了,就会加载很慢。给用户的体验度很不好。所以我们在项目 启动时,直接把首页需要的数据查询出来,通过 freemarker 模板生成静态的 html 页面,之后用户访问时,都去访问这个静态页面,这样就不需要频繁访 问数据库,减轻了数据库压力,提高了用户体验度。但是缺点是,数据库数 据数据变换了以后,数据无法实时更新。我们一般通过定时器的方式,每天 凌晨重新生成。

还有就是热销商品的商品详情页面也做了静态化处理,首页我们是通过定时 器每天凌晨一点,去重新生成;商品详情我们是在商品信息修改以后,给定 时器表(id,业务 id、type,remark)中 推送一条信息,到第二天凌晨一点 时,定时任务扫描表,发现有需要重新生成的页面,就调用 freemarker 模板, 重新生成 html 页面,以商品 id 作为 html 页面名称,然后删除任务表中的数 据。为了预防大量静态页面给服务器造成压力,我们把 html 页面直接生成到 Nginx 的静态页面服务器上。访问时,不用经过 Tomcat,直接通过 Nginx 访 问。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值