什么是Servlet和JSP
用Java開發(fā)Web應用程序時用到的技術主要有兩種,即Servlet和JSP。 Servlet是在服務器端執(zhí)行的Java程序,一個被稱為Servlet容器的程序(其實就是服務器) 負責執(zhí)行Java程序。而JSP(Java Server Page)則是一個頁面, 由JSP容器負責執(zhí)行。
Servlet和JSP兩者最大的區(qū)別就是,Servlet以Java程序為主, 輸出HTML代碼時需要使用out.println函數(shù),也就是說Java中內(nèi)嵌HTML; 而JSP則以HTML頁面為主,需要寫Java代碼時則在頁面中直接插入Java代碼, 即HTML中內(nèi)嵌Java。典型的例子如下:
JSP文件
復制代碼代碼如下:
Servlet
復制代碼代碼如下:
public class MyServlet ... {
...
out.println("");
out.println("");
out.println("
");
out.println("Servlet);
out.println("");
out.println("");
out.println("");
}
可見,JSP便于輸出,而Servlet便于進行邏輯處理。因此實際應用中兩者常常結合使用,各司其職。
而Tomcat就是上面提到的Servlet容器和JSP容器。 各個版本對Servlet/JSP協(xié)議支持的情況如下:
Tomcat版本支持Servlet支持JSP
Tomcat版本 | 支持Servlet | 支持JSP |
6.0.x | 2.5 | 2.1 |
5.5.x | 2.4 | 1.2 |
Web應用程序的結構
Tomcat安裝好以后, 可以去看看tomcat目錄下的webapps目錄。這個目錄就是用來保存Web應用程序的。
WEB-INF目錄無法從瀏覽器中訪問。
WEB-INF/classes下保存的是編譯后的Java程序(主要是Servlet),
WEB-INF/lib 下保存的是 運行時使用的庫文件(.jar文件),
web.xml則是整個應用程序的配置信息。
其他文件例如 .jsp、圖片、Javascript腳本等,都可以直接放到Web應用程序的根目錄下。
MVC模型
所謂MVC模型就是將數(shù)據(jù)、邏輯處理、用戶界面分離的一種方法。
M(Model, 模型):用于數(shù)據(jù)處理、邏輯處理。
V(View,視圖):用于顯示用戶界面。
C(Controller,控制器):根據(jù)客戶端的請求控制邏輯走向和畫面。
而在Java中,MVC這三個部分則分別對應于 JavaBeans、JSP和Servlet。
M = JavaBeans:用于傳遞數(shù)據(jù),擁有與數(shù)據(jù)相關的邏輯處理。
V = JSP:從Model接收數(shù)據(jù)并生成HTML
C = Servlet:接收HTTP請求并控制Model和View