(1)CGI (Common Gateway Interface 公共網管接口 ),他能夠提供頁面的動態生成,實現了網站的動態性。
缺點:1-需要爲每一個請求啓動一個CGI程序的系統進程。如果請求頻繁會帶來很大的開銷。
2-需要爲每一個請求加載和運行一個CGI程序
3-需要重複編寫處理網絡協議的代碼及其編碼
(2)Servlet 改進的CGI
jJava可以在運行的時候動態的加載,所以可以用新的代碼來處理新的請求。這樣就可以只啓動一次服務器,加載一次JVM。
優點:1-只要啓動一個操作系統進程
2-多個請求做同樣處理的時候只要加載一個類
3-動態加載的類可以實現對網絡協議以及請求解碼的代碼共享。
4-Servlet 能直接和WEB服務器交互,二普通的CGI 程序不能。
缺點: Servlet生成的HTML是在java類中切入的,對頁面做任何改動都要編譯Servlet源文件。
response.setContentType("text/html");
PrintWrite out=response.getWriter();
out.println("<html>");
....
out.println("</html>");
(3)JSP Servlet的模板
JSP (Java Server Pages)是一種實現靜態和動態混合編碼的技術,是Servlet的一個擴展。服務器處理JSP頁面主要經過3個步驟,翻譯 編譯 請求。