2009-06-10 58 views
2

我主要將Java用於GUI編程和PHP進行Web編程,但我真的不喜歡沒有靜態類型的語言。對於我的下一個項目,我想使用Java而不是PHP。 JSP和servlet有什麼區別?JSP Servlet和Web編程

+0

相關:http://stackoverflow.com/questions/2095397/what-is-the-difference-between-jsf-servlet-and-jsp – BalusC 2011-06-17 20:59:36

回答

5

JSP基本上允許你圍繞HTML編寫Java代碼,表面上看起來像PHP或ASP。結果只是編譯到一個servlet。

2

我真的會推薦閱讀Java EE 5 Tutorial的前幾部分。它很好地解釋了不同的Java技術。

總之,Servlet是讓你基於HTTP請求來實現邏輯HTTP服務器的抽象。

JSP更多的是對事物的看法方面,允許在代碼中混合使用您的html視圖,你會發現它類似於PHP或傳統的ASP。

您可以使用沒有JSP的servlet,也可以使用沒有servlet的JSP(有些時候,它們仍然在後臺使用),但是大多數情況下,您希望使用一個良好的MVC控制器來填充控制器角色,以及填充視圖角色的JSP。

1

如果使用mvc JSP將是視圖,而servlet將是控制器。 雖然JSP可以包含Java代碼,但越小越好。

要比較它到PHP世界,Zend Framework,JSP == .phtml和serlet == .php。

+1

這是錯誤的。 JSP也是一個servlet。 – 2009-06-10 15:05:08

0

Servlet在java中,並允許HTTP響應使用Java字符串進行編程。它們對於計算工作非常有用。

JSP作爲主要使用Java代碼片斷小HTML,這更像是PHP多,是網站

附:更實用看看谷歌應用程序引擎,它非常適合託管基本的Java應用程序。

1
  • Servlet是類,你可以用它來處理任何類型的請求,但主要是HTTP請求。通過編寫擴展的類來編寫servlet,這是一種比servlet更新的技術。它用於將HTML代碼與Java代碼結合起來。在一天結束時,JSP頁面用於生成(自動)HttpServlet。

通常情況下,人們所做的就是將WebSite的業務邏輯部分寫在servlet上,然後將控制權轉交給JSP頁面(類似於使用MVC完成的)。但是,現在,很多人會在Servlet + JSP技術之上使用像JSF或Spring這樣的框架。所以你也可以看看其中的一個框架。

3

在封面之下JSP和Servlet在本質上是相同的,都編譯爲servlet並且都作爲Java代碼執行。它們之間的區別在於創作和使用。您將Servlet編寫爲Java代碼,即編寫一個從HttpServlet派生的Java類並重寫適當的方法。另一方面,JSP使用基於模板的語言來編寫,這看起來很像帶有代碼片段的HTML,類似於其他許多基於模板的語言。

如果你正在建設它被認爲是(非常)使用一個MVC風格的建築使用Servlet作爲控制器和JSP提供視圖(和POJO作爲模型)好的做法

0

JSP遵循Java的Web應用程序MVC模型。 jsp和php在運行時的主要區別.. 1.當jsp頁面調用第一次轉換爲servlet類並且每次都調用servlet類時,它使得jsp比php更快。 2.你可以在jsp頁面中使用bean(簡單的java類)進行業務邏輯實現。並且把它放在jsp頁面中,就像一個簡單的靜態html頁面一樣。 還有更多的功能與jsp ....

+1

JSP不一定遵循MVC模型。你作爲開發者掌握了這一切。如果您只遵守一條規則:「不要使用scriptlet」,那麼JSP確實會迫使您輕鬆地根據MVC思想書寫代碼。 – BalusC 2009-12-07 12:10:55