1. 程式人生 > >Jsp Servlet + Tomcat 學習筆記

Jsp Servlet + Tomcat 學習筆記

想到什麼寫什麼吧!
之前看Tomcat原始碼的時候,沒有聯絡到Servlet/JSP,是一個很大的錯誤,一開始拿起原始碼直接從start.sh就開始看了,沒幾天就被它的各種類載入,配置檔案載入搞暈了腦袋,很長一段時間都沒有再看tomcat原始碼的積極性了;後來,去嘗試者找一些資料,比如《Tomcat權威指南》,《Tomcat原始碼探究》之類的,也是很枯燥,別人的東西終究是別人的,想要去理解他們的表達的基礎上再去理解Tomcat的原理本身就要去花很多時間,而且更多時候,我們過度依賴於書本身,或者只是做到了理解作者想表達什麼,而沒有進一步去理解Tomcat的原理,二後者才是我們的目的,結果是花了時間而沒有達到目的。再後來,也不知道什麼時候,開始從一個東西的整體框架著手了,比如說tomcat原始碼,我不在去一行行看程式碼了,而是去先搞明白它是幹什麼的,它在整個Web體系中充當一個什麼樣的角色,它是由哪幾個模組組成的,它的各模組之間的協作流程是怎麼樣的,它與JSP/Servlet 是什麼關係,Web體系發展至今Servlet起著怎樣的作用。就這樣帶著一系列的問題去找答案,書本和原始碼作為參考資料,等找打答案後回頭再看書和原始碼的時候回發現比原來輕鬆了很多,很多知識點自然的就串起來了。
今天突然想到一個問題,之前在看SpringBoot原始碼的時候,看到html中引用了thymeleaf,然後百科了一下,接觸到了“動態頁面靜態化”,這裡的“靜態化”是為了提升訪問效率,網上方案有很多,像區域性靜態化:使用Ajax和js,實際就是輪循,對伺服器的壓力會增加;而調研了thymeleaf,似乎它的出現和前後端分離有這莫大的關係,那為什麼有人將它和“動態頁面靜態化”聯絡起來了呢?thymeleaf能夠很好的相容html,那麼瀏覽器請求伺服器的時候應該是這樣的,如“

http://www.mamicode.com/info-detail-2076317.html”,按理說,tomcat的connector會找到對應的html,然後給瀏覽器,那麼html中的標籤什麼時候替換的,是否跳過了servlet,servlet作為前後端資料互動的媒介,我覺得很難跨過這條獨木橋?帶著疑問我去調研一番。。。
2018.4.28