下邊的所有都是自己對(duì)JAVA的理解不知道對(duì)不對(duì),有待于以后實(shí)踐驗(yàn)證
用JAVA編程,無論是什么框架,什么庫(kù),什么插件, 他們的也還是來自 最基本java類編程。
比如,我猜想 TOMCAT服務(wù)器,也是由一個(gè)帶MAIN方法的類來啟動(dòng)的, 然后開通一個(gè)端口服務(wù)器,它的原理應(yīng)該和java socket server編程應(yīng)該是一個(gè)道理。主要是啟動(dòng)一些類,來接受客戶端的請(qǐng)求(容器的原理應(yīng)該是這樣吧)
再說 servlet 也是基本的 JAVA類, 他們是受容器的管理,受到的是容器的調(diào)用(容器應(yīng)該也就是帶main的java類),并對(duì)客戶端產(chǎn)生相應(yīng)。
還有像 jsp 的所謂表現(xiàn)層框架,最終也是調(diào)用到帶main函數(shù)的java類。 它的原理是 jsp編譯生產(chǎn) servlet ,servlet 最終還是依靠容器。
其實(shí)我想,自己也可以開發(fā)一個(gè)表現(xiàn)層,只要能實(shí)時(shí)編譯成servlet,就能和jsp一樣的功能了。
不過jsp是sun公司的標(biāo)準(zhǔn)產(chǎn)品,它的庫(kù)已經(jīng)集合在大多數(shù)容器上了,得到廣大容器的廣泛支持,出來得也早,用人也多,很少人想到要做新的表現(xiàn)層(如果沒什么好功能,就等于重復(fù)發(fā)明車輪)。
FreeMarker 的原理也是一樣,簡(jiǎn)單說它就是一個(gè)庫(kù),你可以把它集合到容器里,得到容器的支持后,用FreeMarker 編寫的表現(xiàn)層就能實(shí)時(shí)編譯成servlet。 最后得到的和jsp 得到的是一個(gè)效果。
FreeMarker 最終的結(jié)果還是容器調(diào)用。
不過要做一個(gè)FreeMarker 可不簡(jiǎn)單,要有好的想法,要不就和jsp功能重復(fù)了,沒價(jià)值。
以上都是個(gè)人想出來的 不知道是否正確 有待于個(gè)人深入學(xué)習(xí)。