請教JSP/servlet容器對更新的JSP頁面處理的原理

tomjamescn發表於2010-09-22
平時編寫JSP的時候,並沒有深入想內部的機制和原理,前兩天被一個公司電面的時候問到相關的問題。

問題是在修改JSP頁面後,JSP容器對更新的JSP頁面時怎麼處理的?

我當時都沒有仔細想,就按照jsp教材裡面的講解說,jsp頁面被編譯為一個servlet類,頁面內容和邏輯被編譯進了servlet的service方法,最後作為一個servlet提供服務。

然後他又問了我

修改了jsp頁面後,容器是怎麼處理的?

這一下我就蒙了,對java的類載入機制我瞭解一些,jvm載入了一個class後,是不可能再重新載入更新後的這個類的,除非新生成一個classloader,那麼,jsp更新後還是會被編譯為一個servlet啊,而且名字也沒有變,按照java類載入機制來說,是走不通的...

這兩天我查閱了tomcat 5.5的jasper 2的原始碼,不是很明白,查了很多資料,也不知道怎麼實現的,請大家指點

PS:後來,我詢問了面試官這個問題,他說讓我從動態語言的角度考慮一下這個問題...

相關文章