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.介绍
  1. FreeMarker是一个模板引擎,一个基于模板生成文件的通用工具,由纯java代码编写
  2. FreeMarker不是一个Web框架,而是适合Web框架的一个组件
  3. FreeMarker与容器无关,更加通用,而且免费

数值类型:| String | 数值(不区分浮点) | boolean | 日期 | 集合 |等大部分类型

2.使用
  1. 引入jar包
  2. 建立模板
  3. 进行输出

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中广告位详情为例:

  1. Common层中建立广告位实例
  2. dao层和业务逻辑层实现对广告位的增删改查,并且增加导出静态页功能
  3. 导出静态页功能整合了FreeMarker/FTP连接的功能
    1. 将指定的数据拉到FreeMarker中生成模板,然后写出到磁盘中,
    2. 再通过FTP工具,将本生成的模板上传到服务器中指定的位置存储
  4. 注意需要在服务器对应的位置提前将CSS/JS等静态资源导入
  5. 配置Nginx的nginx.conf文件,改变指定用户,指定端口和静态资源的逻辑路径
  6. 完成后通过访问地址栏服务器地址+逻辑路径+网页名 即可访问静态资源(主页默认80端口不需要写,其他端口需要在服务器地址栏后面:端口号)