2011-07-02 60 views
3

我正在使用Java進行動態網站工作,我對堅持使用MVC模式感興趣。 在JSP和Servlet之間劃分Web應用程序的最佳方式是什麼?在MVC web應用程序中使用JSP和Servlet的最佳方式

我應該看到我的JSP文件是程序的view,而Servlet更多的是controller

如果我應該使用Servlet作爲controller,給servlet提供多個函數是明智的,例如:向Servlet發送一個操作號,Servlet將切換其中的操作以決定哪個操作做。這樣我可以創建很少的Servlet,每個Servlet都負責一個單獨的請求。

回答

6

我是否應該將我的JSP文件看作程序的視圖,並將更多的Servlet視爲控制器?

是的。 JSP最適用於實現視圖。

根據您的應用程序要求,可能有其他視圖沒有作爲JSP實現。但是你提出的責任劃分是一個很好的起點。

如果我要使用這個Servlet作爲控制器,是明智給一個Servlet多個functionallity,例如:發送一個動作號碼給Servlet和servlet將切換的情況下就可以決定哪些要做的行動。

這更有爭議。您可以擁有少量的servlet並在servlet內部進行切換,或者擁有大量的servlet並切換到"web.xml"文件或某些框架類中。例如,很多人使用restlet框架和/或註釋來管理向控制器servlet發送請求。


我一般的建議是:

  • 不要試圖編寫另一個框架。那裏已經有很多了,至少其中一個應該足夠好。
  • 不要過度設計。
+0

+1 - 難以改善這一點。 – duffymo

0

幾個月前我曾經有過類似的情況。我不得不使用java來向web開發人員介紹一些人,但我真的不是java的任何框架的狂熱粉絲。很多人都陷入了這種心態,因爲JSP讓你可以在頁面中做任何你想做的事情,你應該做的。

你可以使用普通的java/jsp,並且仍然有一個組織良好的項目。這裏是我提到的項目的鏈接。我只是將每個頁面限制爲一個函數調用,以便返回頁面所需模型的僞控制器方法。該頁面上唯一的其他java代碼用於模板化。

這裏是項目的來源,看看你是否想要。

http://net-machine.com/indefero/p/lsms/source/tree/master/src

相關問題