登陆

章鱼彩票app-Spring与后端模板引擎的故事

admin 2019-07-18 282人围观 ,发现0个评论

更多内容,欢迎重视微信大众号:全菜工程师小辉~

现在许多开发,都采用了前后端彻底别离的形式,跟着近几年前端工程化东西和MVC结构的完善,使得这种形式的保护本钱逐步下降。可是这种形式现在并不利于SEO(前后端别离的SEO问题会渐渐改进),并且某些场景运用模板引擎会更便利,比如说邮件模板以及数据改变不频频的后台体系。

Spring,切当来说是Spring MVC除了能够完成RESTful web服务之外,还能够运用它供给动态HTML内容。Spring MVC支撑多种模板技能,包含Thymeleaf、FreeMarker和JSP等。

什么是模板引擎?

模板引擎(这儿特指用于Web开发的模板引擎)是为了运用户界面与事务数据(内容)别离而发生的,它能够生成特定格局的文档,用于网站的模板章鱼彩票app-Spring与后端模板引擎的故事引擎就会生成一个规范的文档。

模板引擎的根本机理便是替换(转化),将指定的标签转化为需求的事务数据;将指定的伪句子依照某种流程来改换输出。



SpringMVC和模板引擎的联系

SpringMVC处理恳求的流程图:


模板引擎发挥作用是在第8,9,10过程。

更具体的原理介绍,点我跳转

版别支撑

要点介绍Velocity,因为其2010年今后接连6年没有更新,版别停留在1.7,直到最近两年才有更新,最新版别是2019年3月更新的2.1,可是改变并不大。

Spring官网原文:

As of Spring Framework 4.3, Velocity support has been deprecated due to six years without active maintenance of the Apache Velocity project. We recommend Spring’s FreeMarke章鱼彩票app-Spring与后端模板引擎的故事r support instead, or Thymeleaf which comes with Spring support itself.

Spring Framework 4.3、SpringBoot 1.5删除了对Velocity的支撑, 所以想在后续版别运用,需求手动引进。

模板的承继联系

JSP运用的视图解析器:InternalResourceViewResovler承继了UrlBasedViewResolver



Freemarker和Velocity的视频解析器:FreemarkerViewResolver和VelocityViewResolver,两种解析器都承继了AbstractTemplateViewResolver

FreeMarker视图解析器承继联系:


Velocity视图解析器承继联系:



JSP的约束

JSP只能运转在servlet容器中,其他模板引擎没有约束,并且其他模板引擎并不是只用于web开发(因为提早编译,JSP的速度也最快)

当SpringBoot启用一个内嵌的servlet容器启动时,对JSP的支撑有一些约束:

  • 运用tomcat或许运用jetty时,需求运用war包。tomcat/jetty中因为硬编码了文件形式,可履行jar不能运转JSP
  • Undertow不支撑JSP
  • 创立的自定义error.jsp无法掩盖默许的错误处理

在docker中运用JSP要注意:因为jsp烘托后会生成java文件和class文件存放在磁盘,假如运用docker需求指定环境变量中的temp目录

后端模板引擎比照

  • 学习难度:

Thymeleaf < Velocity < JSP

Thymeleaf更挨近h5语法,现代模板语法

  • 移植性:

Thymeleaf:移植性强,有Spring生态

V佞elocity:移植性强,短少周边生态

JSP:有必要是Servlet或许JS章鱼彩票app-Spring与后端模板引擎的故事P容器

  • 功能:

Themeleaf:解说履行,功能较差(后台用,前台最好别用)

Velocity:解说履行,功能杰出(采用了很多反射)

JSP:功能最好,因为先翻译成源码再编译履行,功能优异

更多内容,欢迎重视微信大众号:全菜工程师小辉~

瞄准转板“大红包” 年内已有16家券商逆市加码新三板 科创板概念股倍受青睐

2019-09-19
  •   有剖析指出,油价忽然

  • 沙特产值康复速度超预期 布油跌幅扩展至6%

    2019-09-19
  •   关于财务收入增速回落,在十三届全国人大常委会第十二次

    减税效应继续 今年前8个月税收首现负增长

    2019-09-19
  • 请关注微信公众号
    微信二维码
    不容错过
    Powered By Z-BlogPHP