用Java開發Web應用程序時用到的技術主要有兩種,即Servlet和JSP。 Servlet是在服務器端執行的Java程序,一個被稱爲Servlet容器的程序(其實就是服務器)
負責執行Java程序。而JSP(Java Server Page)則是一個頁面, 由JSP容器負責執行。html
Servlet和JSP二者最大的區別就是,Servlet以Java程序爲主,
輸出HTML代碼時須要使用out.println函數,也就是說Java中內嵌HTML; 而JSP則以HTML頁面爲主,須要寫Java代碼時則在頁面中直接插入Java代碼, 即HTML中內嵌Java。典型的例子以下:web
JSP文件瀏覽器
<html> <body> <h1> <% out.println("JSP"); %> </h1> </body></html>
Servlettomcat
public class MyServlet ... { ... out.println("<html>"); out.println("<body>"); out.println("<h1>"); out.println("Servlet); out.println("</h1>"); out.println("</body>"); out.println("</html>"); }
可見,JSP便於輸出,而Servlet便於進行邏輯處理。所以實際應用中二者經常結合使用,各司其職。服務器
而Tomcat就是上面提到的Servlet容器和JSP容器。 各個版本對Servlet/JSP協議支持的狀況以下:mvc
Tomcat版本 | 支持Servlet | 支持JSP |
6.0.x | 2.5 | 2.1 |
5.5.x | 2.4 | 2.0 |
4.1.x | 2.3 | 1.2 |
3.3.x | 2.2 | 1.1 |
能夠去看看tomcat目錄下的webapps目錄。這個目錄就是用來保存Web應用程序的。app
上圖的根目錄就是應當放置在 webapps 目錄下的目錄。WEB-INF目錄沒法從瀏覽器中訪問。 WEB-INF/classes下保存的是編譯後的Java程序(主要是Servlet),WEB-INF/lib 下保存的是
運行時使用的庫文件(.jar文件),web.xml則是整個應用程序的配置信息。webapp
其餘文件例如 .jsp、圖片、Javascript腳本等,均可以直接放到Web應用程序的根目錄下。jsp
所謂MVC模型就是將數據、邏輯處理、用戶界面分離的一種方法。函數
而在Java中,MVC這三個部分則分別對應於 JavaBeans、JSP和Servlet。
畫成圖則以下所示: