JSP與Servlet的介紹說明_JSP編程

來源:互聯網
上載者:User

什麼是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

畫成圖則如下所示:

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.