我需要清除一些事情。我一直在尋找這個答案,但我似乎無法找到對我的具體問題的一個很好的答案(例如,這個問題在謎題:Difference between servlet and web service)。何時使用Servlet或@Controller
據我瞭解,有不同的方法可以實現「請求處理」,又名「控制器」,在「MVC爲本」的Web應用程序,其中兩個是:
- 一個Java特定Servlet(即,您通過點擊新建 - > Servlet,例如在eclipse中創建的一個),用作「控制器」。這一個 延伸
HttpServlet
和使用方法,如doGet
和doPost
等 - 一個Spring MVC的註解
@Controller
類(是的,使用DispatcherServlet
)。有了這個一個使用@RequestMethod
GET
/POST
等
現在我的問題......
- 當你使用一個或其他?
- 是否有任何一般優勢使用一種方法而不是其他?(像,是一般建議在另外一個方法是什麼?)
[編輯]:強調關鍵詞
好的解釋!我基本瞭解事情是如何獨立運作的,只是我無法確定何時使用任何一種方法。您解釋了兩者之間的差異,但未詳細說明其實際使用領域。你能舉出任何一種情況下我會用另一種方法的例子嗎? – Roger 2013-05-08 12:36:04
它們都用於相同的事情(創建Web應用程序)。不同之處在於Spring MVC增加了許多便利。大多數編寫Java Web應用程序的人將使用在servlet之上編寫的某種框架來簡化開發。例如。如果你突然有一個請求返回json的用例,那麼spring mvc已經支持它,而使用servlet你必須自己弄明白。瞭解servlet,因爲它是基礎技術。 – 2013-05-08 13:35:37
我明白了。所以基本上兩個方法創建一個servlet,做同樣的事情 - 只有在#2你使用Spring MVC作爲框架來幫助你的方式嗎?也就是說,在Spring MVC的@Controller,DispatcherServlet和一些JSP(「java in html」)的幫助下,您可以創建一個相同的東西,就像創建一個Servlet一樣(「.java in java」(即.New - > Servlet)。 ..))和一些JSP/html,只有在Spring MVC的情況下,Spring纔會「免費」處理servlet業務的「討厭部分」?這是否是對這一切的正確理解? (對不起,有點慢:) – Roger 2013-05-08 14:14:37