Servlet和JSP簡述

什麼是Servlet和JSP

用Java開發Web應用程序時用到的技術主要有兩種,即Servlet和JSP。 Servlet是在服務器端執行的Java程序,一個被稱爲Servlet容器的程序(其實就是服務器) 負責執行Java程序。而JSP(Java Server Page)則是一個頁面, 由JSP容器負責執行。

Servlet和JSP兩者最大的區別就是,Servlet以Java程序爲主, 輸出HTML代碼時需要使用out.println函數,也就是說Java中內嵌HTML; 而JSP則以HTML頁面爲主,需要寫Java代碼時則在頁面中直接插入Java代碼, 即HTML中內嵌Java。典型的例子如下:

JSP文件

複製代碼代碼如下:

<html>  
   <body>  
     <h1>  
     <% out.println("JSP"); %>  
     </h1>  
   </body>  
 </html> 

Servlet

複製代碼代碼如下:

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協議支持的情況如下:

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

Web應用程序的結構

Tomcat安裝好以後, 可以去看看tomcat目錄下的webapps目錄。這個目錄就是用來保存Web應用程序的。

上圖的根目錄就是應當放置在 webapps 目錄下的目錄。WEB-INF目錄無法從瀏覽器中訪問。 WEB-INF/classes下保存的是編譯後的Java程序(主要是Servlet),WEB-INF/lib 下保存的是 運行時使用的庫文件(.jar文件),web.xml則是整個應用程序的配置信息。

其他文件例如 .jsp、圖片、Javascript腳本等,都可以直接放到Web應用程序的根目錄下。

MVC模型

所謂MVC模型就是將數據、邏輯處理、用戶界面分離的一種方法。

  • M(Model, 模型):用於數據處理、邏輯處理。
  • V(View,視圖):用於顯示用戶界面。
  • C(Controller,控制器):根據客戶端的請求控制邏輯走向和畫面。

而在Java中,MVC這三個部分則分別對應於 JavaBeans、JSP和Servlet。

  • M = JavaBeans:用於傳遞數據,擁有與數據相關的邏輯處理。
  • V = JSP:從Model接收數據並生成HTML
  • C = Servlet:接收HTTP請求並控制Model和View
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章