JAVAEE企業級應用開發淺談之MVC 中的V-VIEW視圖,javaeev-view

來源:互聯網
上載者:User

JAVAEE企業級應用開發淺談之MVC 中的V-VIEW視圖,javaeev-view
Step1.情景概要

Hello,小夥伴們,好久不見,之前跟大家分享了三層架構與MVC思想,相信大家對於這兩塊內容有了相對清晰的個人認識了,既然我們講到了MVC,這裡我們接著這塊內容繼續往下深入,今天我們來看看MVC 中的V-VIEW 即我們所說的視圖層。

 Step2.視圖技術

      對於我們WEB開發人員來說,視圖的概念應該都不會很陌生了,我們在瀏覽網頁時見到的各種形式的頁面內容,背後都離不開我們所用的視圖技術,對於JAVA Web 開發人員來講,頁面展示實際上就是模板+資料=頁面內容,所有的web頁面基本離不開這兩點,而我們常用的視圖表現層技術不考慮這種H5頁面的話,目前市面上用的比較多的基本上是JSP、Freemarker,或者Velocity,對於這三種常見的視圖表現層技術,這裡先來說說JSP。
 

Step3.JSP概念與應用情境

   JSP(java server page ),故名思議,即在伺服器端執行的頁面,其實質為一個簡化的servlet 它是在傳統的網頁HTML檔案中插入Java程式段和JSP標記,從而形成JSP檔案,尾碼名為(*.jsp)。說了這麼多實際上就是在HTML基礎上加入JAVA 代碼,運行在Tomcat(servlet)容器中的頁面,最終項目發布後通過瀏覽器訪問該頁面後在瀏覽器輸出的內容就是html ,是不是很簡單呢。
   這裡對於JSP ,概念中提到JSP 實質上就是Servlet ,只是JSP的出現解決了Servlet 的一個痛點問題,就是Servlet 頁面內容輸出是相對麻煩,特別是涉及到複雜的頁面樣式控制與JS 時,這時Servlet 就相對變的心有餘而力不足了哦,這時JSP的出現,解決了Serlvet 的這一痛點問題,即:JSP 作為視圖展示層顯示頁面內容更加方便!那說到這,JSP既然是Servlet ,那JSP 究竟是怎麼執行的呢?
 

Step4.JSP執行過程剖析

這裡在分析JSP 原理前,先來看下Serlvet 內部執行原理


運行簡圖如下:


看到這,大家應該對Servlet 執行過程一目瞭然了吧,然後我們繼續往下看JSP 的運行原理


 
伺服器具體是如何做到的?



test01.jsp頁面未被訪問時,查看tomcat 下work 目錄 如下:



當JSP頁面第一次被請求時,JSP引擎會將JSP原始檔案轉換成Servlet原始碼,然後調用Java編譯器,編譯成Servlet,並在Servlet引擎中執行。當再次有請求的時候,JSP引擎會見差異編譯好的JSP是否比原來的JSP原始檔案要新,如果是,運行Servlet;如果不是,表示檔案已經更新的了,就會從新執行轉換和編譯的過程。
test01.jsp訪問成功後進入檔案再次查看


查看目錄下具體產生的檔案
 


簡要查看產生的 test01_jsp.java 檔案內容
 
查看tomcat 源碼,查看HttpJspbase到底是什嗎???


 
至此,可以發現 HttpJspBase 就是繼承了HttpServlet!!!
所以,到現在為止,我們可以這樣理解,可以把jsp 看做一個servlet來對待!!!
既然jsp 就是一個servlet ,為何還要使用jsp?

我們在使用servlet 時,大家應該能夠體會到在使用servlet 向瀏覽器輸出頁面內容時,並沒有那麼容易,同時當servlet 中涉及到的邏輯很複雜的時候,既要處理商務邏輯,又要控制頁面資料的顯示形式,這時候僅僅使用servlet來完成這些功能理論上可以實現,但對於項目的後期維護來說,工程量可能就是巨大的,於是業界就催生出了jsp(當然還有其他的技術 .net,php等)的技術,通過使用jsp技術,我們可以結合servlet ,將要顯示的資料通過jsp 來進行展現,總結來說就是:

Servlet:
優點:邏輯處理方便 
缺點:頁面表現麻煩
Jsp:
優點:頁面表現方便
缺點:邏輯處理麻煩

所以要互補使用.一般項目採用:jsp+servlet+javabean 開發方式進行項目開發哦
好了,說到這,相信大家對JSP 視圖展示層技術有了很清晰的認識,那另外的Velocity同樣作為視圖層技術又是怎麼實現與使用的呢,哈哈,且聽下次與大家分享。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.