博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
freemarker热部署(Intellij Idea)
阅读量:5084 次
发布时间:2019-06-13

本文共 1372 字,大约阅读时间需要 4 分钟。

IntelliJ + springmvc + freemarker 开发环境 缓存设置

2015-05-26 13:31

通过阅读源码搞定了

  1. 先查看web.xml的缓存控制。这是最高优先级的缓存控制,如果开了缓存,生成的页面就会缓存在tomcat里。
  2. 再设置springmvc的缓存控制。一旦springmvc发现没有缓存开启,就会进行cache,如果发现缓存没开启,则会每次生成一个view(通过调用freemarker的方法来进行)。
  3. 再设置freemakre的缓存控制。freemakre通过一个时间长度来控制缓存
  4. 在上面两步完成之后,一般来说就可以了。但是还有一个问题是,web访问的是target目录下的classpath和WEB-INFO目录,而我们开发环境修改的模板文件不是target目录下。这就要求IntelliJ要有热部署功能,也就是在修改文件后,能自动更新target目录下的文件数据。

web.xml 缓存

如果web.xml里面存在类似下面的代码,就要把它注释掉,否则修改freemarker页面再刷新浏览器是不会生效的。

productCacheFilter
net.sf.ehcache.constructs.web.filter.SimplePageCachingFilter
cacheName
product
productCacheFilter
/product/list/*
这段代码是采用ehcache来缓存页面。

springmvc 设置解析器 缓存设置

这里关键是让 cache设置为 false.

开发环境下为false, 线上环境是true, 避免所有缓存

freemarker 缓存设置

0

这里关键是设置 template_update_delay 为0 ,因此每次在刷新 free marker页面时,均会进行修改时间 的校验,判断是否应该重新载入。

IntelliJ 热部署设置

通过热部署,就可以在更改任意文件时,都不用重启,就可以将文件或数据拷贝到 target目录下。

转载于:https://www.cnblogs.com/cglWorkBook/p/4799450.html

你可能感兴趣的文章
[sinatra] Sinatra再入门
查看>>
第五章例5-5
查看>>
python的GUI测试
查看>>
动态生成二维码插件 jquery.qrcode.js
查看>>
2015 多校赛 第二场 1004 hdu(5303)
查看>>
xutils的HttpUtils,Post和Get基本使用,以及BitmapUtils的简单使用
查看>>
将Oracle JDBC驱动库安装到本地仓库
查看>>
清理/var/spool/clientmqueue目录释放大量空间
查看>>
BZOJ4923 K小值查询(splay)
查看>>
docker ip地址
查看>>
HDU 4321 Arcane Numbers 2
查看>>
uvalive4329(树状数组)
查看>>
Caocao's Bridges HDU - 4738
查看>>
被sleep开了个小玩笑
查看>>
算法基础之排序算法[图文]
查看>>
FAT下的winhex数据恢复
查看>>
创建与合并分支
查看>>
基于python语言的自动化邮件发送总结
查看>>
nexus(Maven仓库私服)的安装、配置、使用和仓库迁移
查看>>
华为lab-rs-v1-2.5_流量优化
查看>>