目录
第一种方式,SpringBoot直接启动(内置集成tomcat)
前言
FreeMarker 是一款 模板引擎:
即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。
它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。
FreeMarker最初设计是用来在MVC模式的Web开发中生成HTML页面的,所以没有绑定Servlet或任意Web相关的东西上,所以它可以运行在非Web应用环境中。
工作原理
FreeMarker模板存储在服务器上,当有用户访问的时候,FreeMarker会查询出相应的数据,替换模板中的标签,生成最终的HTML返回给用户,如下图:
在pom.xml加入相关依赖
默认情况下需要引入:
配置application.properties
上述配置false都是默认值。
Controller层
FreeMarker页面
在main\resources\templates 目录下 新建 index.ftl 文件,内容为:
项目启动
第一种方式,SpringBoot直接启动(内置集成tomcat)
浏览器访问
在浏览器直接输入:http://localhost:8080/index/helloFreeMarker
第二种方式,打包成部署的 war 包(外置tomcat)
在pom.xml加入相关依赖
在这里需要移除对嵌入式Tomcat的依赖,这样打出的war包中,在lib目录下才不会包含Tomcat相关的jar包,否则将会出现启动错误。
配置启动项
让 SpringbootApplication 类继承 SpringBootServletInitializer 并重写 configure 方法,如下:
在pom.xml加入相关依赖
修改 pom.xml 文件,将 jar 改成 war,如下:
添加外置 tomcat
Maven打包
当然,如果对于yml,xml,properties等 类似于 配置的文件,每次有改动都要重新打包,对于clean是为了清除缓存,
٩(๑>◡<๑)۶ 对于我,还是比较喜欢SpringBoot方式启动,鸡肋~
打包成功后,一般会在项目中target中默认存放:
将 war 包部署到 tomcat 容器中运行即可。
浏览器访问
在浏览器直接输入:http://localhost:8080/index/helloFreeMarker,
当然可以直接在tomcat配置首页地址为:http://localhost:8080/index/helloFreeMarker
当然外置 tomcat 也可以选择热部署,类似于SpringBoot热部署:https://blog.youkuaiyun.com/Soinice/article/details/82416043
配置完成后,启动tomcat会自动打开浏览器,并访问配置的首页
总结
我相信全网都找不到一篇有我这篇这么详细的介绍Spring Boot使用freemarker的文章。有很多人问我,为什么我的很多文章这么简单易懂,我每次都是哭着回复他们四个字:主题阅读,天知道我参考了多少篇网上的文章,外加多少本相关书籍中关于这个章节的内容,反复对比提炼,最后才产出对应的博文。说真的,我很羡慕你们在这个信息爆炸的时代,刚好看到一篇自己要学习的技术的好文章,少走多少弯路。
源码下载
[相关示例完整代码]请获取 相关分支哦:feature-20180910-web