91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringMVC和模板引擎的關系

發布時間:2021-09-13 14:08:14 來源:億速云 閱讀:152 作者:chen 欄目:大數據

這篇文章主要講解了“SpringMVC和模板引擎的關系”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“SpringMVC和模板引擎的關系”吧!

什么是模板引擎?

模板引擎(這里特指用于Web開發的模板引擎)是為了使用戶界面與業務數據(內容)分離而產生的,它可以生成特定格式的文檔,用于網站的模板引擎就會生成一個標準的文檔。
模板引擎的基本機理就是替換(轉換),將指定的標簽轉換為需要的業務數據;將指定的偽語句按照某種流程來變換輸出。
SpringMVC和模板引擎的關系

SpringMVC和模板引擎的關系

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 FreeMarker support instead, or Thymeleaf which comes with Spring support itself.

Spring Framework 4.3、SpringBoot 1.5刪除了對Velocity的支持, 所以想在后續版本使用,需要手動引入。

模板的繼承關系

JSP使用的視圖解析器:InternalResourceViewResovler繼承了UrlBasedViewResolver SpringMVC和模板引擎的關系


Freemarker和Velocity的視頻解析器:FreemarkerViewResolver和VelocityViewResolver,兩種解析器都繼承了AbstractTemplateViewResolver

FreeMarker視圖解析器繼承關系: SpringMVC和模板引擎的關系Velocity視圖解析器繼承關系: SpringMVC和模板引擎的關系

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更接近h6語法,現代模板語法

  • 移植性:
    Thymeleaf:移植性強,有Spring生態
    Velocity:移植性強,缺少周邊生態
    JSP:必須是Servlet或者JSP容器

  • 性能:
    Themeleaf:解釋執行,性能較差(后臺用,前臺最好別用)
    Velocity:解釋執行,性能良好(采用了大量反射)
    JSP:性能最好,因為先翻譯成源碼再編譯執行,性能優秀

感謝各位的閱讀,以上就是“SpringMVC和模板引擎的關系”的內容了,經過本文的學習后,相信大家對SpringMVC和模板引擎的關系這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁乡县| 大连市| 永年县| 饶阳县| 宁化县| 徐州市| 云龙县| 信阳市| 星座| 马尔康县| 永济市| 易门县| 九台市| 紫金县| 灯塔市| 红原县| 正定县| 巢湖市| 长宁县| 伊宁县| 永和县| 金寨县| 大石桥市| 扶余县| 安宁市| 华池县| 左权县| 通州市| 本溪| 玉树县| 白玉县| 云南省| 浮梁县| 肇东市| 海原县| 河池市| 鄢陵县| 平山县| 堆龙德庆县| 广汉市| 西藏|