很多人都會認為JSP的執行性能會和Servlet相差很多,其實執行性能上的差別只在第一次的執行。因為JSP在執行第一次后,會被編譯成Servlet的類文件,即.class,當再重復調用執行時,就直接執行第一次所產生的Servlet,而不再重新把JSP編譯成Servelt。
因此,除了第一次的編譯會花較久的時間之外,之后JSP和Servlet的執行速度就幾乎相同了。Web容器處理JSP文件請求的執行過程主要包括以下幾部分:
將產生的Servlet源代碼經過編譯后,并加載到內存執行
在執行JSP網頁時,通??梢苑譃閮蓚€時期:轉譯時期(TranslationTime)和請求時期(RequestTime)。
◆轉譯時期:JSP網頁轉移成Servlet類。
◆請求時期:Servlet類執行后,響應結果至客戶端。JSP
轉譯期間做了兩件事情:
當JSP網頁在執行時,JSPContainer會做檢查工作,如果發現JSP網頁有更新修改時,JSPContainer才會再次編譯JSP成Servlet;如果JSP沒有更新時,就直接執行前面所產生的Servlet。
編譯執行showdate_jsp.class類,處理請求,返回響應,容器將生成的頁面返回給客戶端顯示。
新聞熱點
疑難解答