Spring MVC處理Request流程介紹- iT 邦幫忙 | spring mvc介紹
在相關WebFramework出現前,開發傳統JavaWeb應用程式,免不了要除了撰寫Servletclass程式,還得到web.xml設定一堆ServletMapping來告訴WebContainer處理Client端所發出的URLRequest要用哪一個Servlet來處理,這讓初學者覺得學習門檻比較高,後來有Struts等framework出現來協助加速開發Web應用程式且更容易實現MVC架構,今天就要跟大家分享SpringMVC處理Request的流程以及撰寫一支HelloWorld程式。在SpringMVC中只有一個Servlet來handle所有的Request,這是一種FrontController的DesignPattern,SpringMVC稱作DispatchServlet,透過這...
在相關Web Framework出現前,開發傳統Java Web應用程式,免不了要除了撰寫Servlet class程式,還得到web.xml設定一堆Servlet Mapping來告訴Web Container處理Client端所發出的URL Request要用哪一個Servlet來處理,這讓初學者覺得學習門檻比較高,後來有Struts等framework出現來協助加速開發Web應用程式且更容易實現MVC架構,今天就要跟大家分享Spring MVC處理Request的流程以及撰寫一支Hello World程式。
在Spring MVC中只有一個Servlet來handle所有的Request,這是一種Front Controller的Design Pattern,Spring MVC稱作DispatchServlet,透過這個Servlet再把Request交由對應的handler來處理(handler跟Controller在Spring MVC中幾乎是同義字,只是Spring稱作RequestHandler),例如要從資料庫取得資料,則Handler或是Controller就向Model中的相關Service取得資料後,作一些判斷或是加工後,傳給View層中的ViewResolver產生回應Response的頁面或是其他格式如JSON或是XML,Controller、Model、View層間通常以org.springframework.ui.Model物件來傳遞data,該物件本質上是個Map,之後會常看到。
首先,STS新增Spring Bean Configuration File,命名為dispatcherservlet.xml,並將相關的namespace加入,beans、mvc、context為必須,aop、jdbc、oxm、tx也可以一併加入。
因為我們將使用Annotation來作URL Mapping,故必須宣告<mvc: annotation-driven>,另外resources通常也會作mapping,以免網頁存取不到相對路徑的靜態檔案如css檔以及圖檔等,再來...