2017-12-02
FreeMarker结合Nginx|FTP基础使用
[TOC]
目前做页面模板引擎主流使用Thymeleaf(效率更高),本文主要介绍FreeMarker的相关知识
传送门:Thymeleaf基础原理https://blog.csdn.net/abap_brave/article/details/53009149
传送门:Thymeleaf快速使用https://blog.csdn.net/u014042066/article/details/75614906
1.FreeMarker
1.介绍
- FreeMarker是一个模板引擎,一个基于模板生成文件的通用工具,由纯java代码编写
- FreeMarker不是一个Web框架,而是适合Web框架的一个组件
- FreeMarker与容器无关,更加通用,而且免费
数值类型:| String | 数值(不区分浮点) | boolean | 日期 | 集合 |等大部分类型
2.使用
- 引入jar包
- 建立模板
- 进行输出
2.FTP结合
1.介绍
FTP连接分主动模式和被动模式
主动模式(port)使用N(发送数据) 和N+1(发送FTP命令)两个端口,一般20 21
固定端口,可能造成数据被拦截窃取
被动模式(pasv)使用21 和P>1024所有端口
不固定大范围端口,可能造服务器服务器被攻击
解决方案分析:https://blog.csdn.net/u014774781/article/details/48376633
FTP传送门(待更新)
2.使用
FreeMarker生成静态页面后,可以通过FTP发送到服务器指定的位置存放
3.Nginx结合
1.介绍
Nginx是一个Http服务器,可以将服务器上的静态文件通过Http协议展现给客户端
2.使用
Nginx将FreeMarker发送来的静态页面以url的方式发送到客户端完成一套静态部署
修改服务器中Nginx的配置,将静态页面的位置改为一个逻辑路径,通过这个逻辑路径即可完成对静态资源的访问
(注意,需要提前将样式copy进去)
Nginx传送门(待更新)
4. 开发使用
将FreeMarker整合进SSM中广告位详情为例:
- Common层中建立广告位实例
- dao层和业务逻辑层实现对广告位的增删改查,并且增加导出静态页功能
- 导出静态页功能整合了FreeMarker/FTP连接的功能
- 将指定的数据拉到FreeMarker中生成模板,然后写出到磁盘中,
- 再通过FTP工具,将本生成的模板上传到服务器中指定的位置存储
- 注意需要在服务器对应的位置提前将CSS/JS等静态资源导入
- 配置Nginx的nginx.conf文件,改变指定用户,指定端口和静态资源的逻辑路径
- 完成后通过访问地址栏服务器地址+逻辑路径+网页名 即可访问静态资源(主页默认80端口不需要写,其他端口需要在服务器地址栏后面:端口号)