servlet和JSP有本質上的區別嗎?

來源:互聯網
上載者:User

先sun提出的是Servlet體系,這個體系使得使用JAVA的程式員也能開發基於B/S架構的WEB應用程式,使用Servlet類將HTTP請求和響應封裝在標準JAVA類中來實現各種WEB應用方案。
隨著大量的B/S架構程式開發出來以後,人們發現Servlet類的編寫是非常繁瑣的,主要集中在幾個問題上:首先有大量冗餘代碼,這些代碼在每個servlet類中都是一模一樣或者基本近似的.
其次是開發Servlet的程式員很少有精通美工的,導致使用Servlet開發無法方便的做到各種頁面效果和豐富多彩的風格,這個時候sun借鑒了微軟的ASP方式,正式提出JSP(也就是Servlet 1.1),JSP推出後,JAVA程式員也能象ASP的程式員那樣將服務端代碼添加在已經由美工設計好的靜態頁面上,經過一個JSP容器對JSP檔案進行自動解析並轉換成Servlet類(jsp to servlet 編譯過程)來交給WEB伺服器運行。這麼一來,極大的提高了工作效率。
其中jsp與servlet是沒有本質區別的,因為jsp最後在提交的時候還是要編譯成servlet類。JSP是Servlet技術的擴充,是基於java servlet技術,本質上是Servlet的簡易方式,更強調應用的外表表達。JSP編譯後是"類servlet"。
其中兩者也有最大的不同,就是當你用jsp寫的時候出錯不容易排錯.但是寫到servlet裡面 那就方便多了,就像寫java 類一樣.

當ASP+COM和JSP+BEAN都採用組件技術後,所有的組件都是先進行編譯,並駐留記憶體,然後快速執行。所以,大家經常吹的SERVLET/JSP先編譯駐記憶體後執行的速度優勢就沒有了。
反之,ASP+COM+IIS+NT緊密整合,應該會有較大的速度優勢呈現。而且,ASP+COM+IIS+NT開發效率非常高,雖然BUG很多。

JSP的職責:從資料庫取出資料,顯示所有的留言資訊(當中要用少量的,簡單的邏輯處理:迴圈)、顯示簽寫留言的頁面(幾乎全部都是html)。
Servlet的職責:接受簽寫留言頁面提交過來的標單資料,進行資料檢驗,如果正確,則存入資料庫並返回留言的顯示頁面;如果資料有誤,給出錯誤提示後返回簽寫留言的頁面。可以看到,這個就叫做邏輯處理。這些你也完全可以放在JSP中實現,但是用Servlet,其效率和安全性高多了,也讓JSP頁面變得很簡潔明了。
JavaBean的職責:其實一般的留言板是不需要用到JavaBean的,但在這裡,為了讓你明白,還是牽強的把JavaBean用進來。所謂JavaBean,就是一個很簡單的Java類,比如說,網上商城的所有商品是一個商品類,論壇中所有的文章是一個文章類,這裡,留言板的所有留言是一個留言類,叫做Message類。每個類有著它特定的屬性和方法。對於Message類,其屬性有主題、內容、日期、留言者等,其方法可以有添加留言、刪除留言、修改留言等。使用JavaBean,主要是為了讓JSP編程能夠適應Java程式員的習慣,直接對類和執行個體進行操作,而不是直接去操作資料庫。

Javabean 就是一個類,這個類就定義一系列 get<Name> 和 set<Name> 方法。

 JavaBean與類庫的區別:
(1)並不是所有有用的模組都必須轉化成Bean.Bean主要是能被用來可視化操作去完成一些效果.
(2)類庫是一個提供函數操作給編程者的一個有效操作,但是並不能從可視化操作中來獲益.
(3)舉個例子來說:提供JDBC資料庫訪問的API作為一個類庫比作為一個bean要好,因為JDBC的核心是用一個可程式化的API,並不是能夠直接展現於可視化操作.然而,寫一個數庫庫訪問Bean在JDBC的頂層還是有意義的.例如,你可以寫一個能定製的"Select"bean以助於使用者去組成一個查詢語句,並且程式運行時用JDBC去運行這個查詢語句,並顯示結果集

EJB是sun的伺服器端組件模型,最大的用處是部署分布式應用程式,類似微軟的.com技術。憑藉java跨平台的優勢,用EJB技術部署的分布式系統可以不限於特定的平台。EJB (Enterprise JavaBean)是J2EE的一部分,定義了一個用於開發基於組件的企業多重應用程式的標準。其特點包括網路服務支援和核心開發工具(SDK)。
 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.