19 November 2010

今天就在想RequestDispatcher和springmvc的差別

通常會用springmvc,是因為想要做到MVC的架構,

如果單單透過servlet,是無法達到該效果。

但是如果透過servlet的RequestDispatcher是可以的!

我就突然想到,那這樣我通通用RequestDispatcher不就好了

但再仔細想想兩者間的差別,大概的想法如下


如果透過RequestDispatcher

譬如說我要看會員列表(/action/member/list)

就得在web.xml中部屬一個mapping

mapping到某隻 servlet(讀取會員清單的操作)

再透過RequestDispatcher把會員清單資料傳到應對應到的頁面


如果要新增一個會員(/action/member/insert)

一樣得在web.xml中mapping到某個servlet

這時候在web.xml會有2個serlvet mapping



如果是透過springmvc

是先透過在web.xml中springmvc設定的DispatcherServlet

然後再透過該DispatcherServlet定義的config檔案

看要Dispatch到哪個Controller

看到這,似乎兩者之間看起來差不多?

但是如果我們同樣需要兩個功能

一個是新增會員,一個是讀取會員列表

我們不需要像上面一樣定義到兩個servlet

我們只需要定義一個專門在處理會員的controller

然後透過controller去控制

該controller裡面就會有兩個method

public ModelAndView list(HttpServletRequest req, HttpServletResponse resp)
public ModelAndView insert(HttpServletRequest req, HttpServletResponse resp)



這是我想到的地方,

如果有誤,歡迎更正。謝謝







blog comments powered by Disqus