[maven 6] 建立SpringMVC , 捨去Struts
- 捨去 Struts ,專案使用之框架只有 Spring + Mybatis , 記得把 web.xml 與 pom.xml的 struts設定都拿掉
- 此範例建立方式有兩種
- XML設定
- 將 SpringMVC 加入 maven的 pom.xml 並update project
- 在web.xml 新增SpringMVC的分派器 dispatcher , 告訴 web 我的request要由springMVC解析 , 此時原本的 application.xml 與 mvc-config.xml共存 , 或者可以將application 的檔案放置於 mvc-config.xml中將 application刪除
- 依照下面的設定中則會讀取mvc-config.xml中的定義,檔案路經變更為 classpath底下。
- 預設檔名:如果不設置 "contextConfigLocation"初始參數,xml檔名預設為「Servlet名稱- servlet.xml ,以下圖範例為 " SpringMVCServlet-servlet.xml "
- 預設路徑:WEB-INF
- 在Resources目錄下建立 mvc-config.xml檔案 , 且設定如下 ,
- prefix是指 jsp檔案的路徑位置 , 也可設置在 WEB-INF底下 ,
- suffix是指副檔名
- bean name /index1 是指 url requet
- 在這邊使用的是 spring的注入觀念 , set property 在程式的一端 將有一個setter 對應 , 將value menu/indexTest1 注入到 viewPage這個屬性
- 程式端 , 在controller這個自定義的 package建立一個class ,並且 implement spring的controller interface , 內容如下
- 屬性 viewPage :回傳之 jsp 檔案與路徑
- ModelAndView :
- 參數一 :回傳之 jsp 檔案與路徑
- 參數二 :頁面變數或物件 ?
- 參數三 :參數二內容
- 建立menu目錄 , 建立 indexTest1.jsp , 並且接應 controller端的 user
- Spring MVC會將所有的Request先導向給一支叫做DispatcherServlet的程式,接著DispatcherServlet會決定要把這個Request交給哪個Controller做處理
- 以上組合的總結 : client 送出 request /index1 , spring 將${user}塞入 /menu/indexTest1.jsp 並送回client
- XML設定方式預設會呼叫handleRequest方法 , 至於能不能改變就待個人去研究 , 往後不多磊述 , 此篇只是簡單實現MVC
- Annotation設定
- 與XML設定方法比較 , 不需要設定bean name "/index1" , 直接透過寫annotation的方式即可完成MVC
- 需在mvc-config中啟動 annotation , 告訴annotation在哪
- 建立 controller Index2Controller
- 測試 : 當request 呼叫 /index2/add 時 , 會呼叫 class Index2Controller 的 add方法 , 將${user}資料塞入menu/indexTest2.jsp並回傳給client , 結果如下
沒有留言:
張貼留言