SpringMVC之一個簡單的helloworld專案(從配置資訊到請求處理)
首先:建立專案,在使用SpringMVC之前,我們照例需要先匯入springframework的jar包:
除了上述的二十個jar包之外,我們還需要一個名為一個如下的jar包:
如果不新增這個jar包,執行專案則會出現
java.lang.NoClassDefFoundError: Lorg/apache/commons/logging/Log;這個異常。
然後:我們就要配置web.xml檔案了。
配置web.xml檔案有一個簡單的方法,只需要在配置檔案中按“ALT”+"/"——提示鍵就可以得到提示內容,在內容的最下面可以新增具體的配置資訊,如圖:
(不要打上“<”,否則提示不出來)
當我們選擇了dispatcherservlet之後就能得到如下的配置資訊:
第20行的location是你的SpringMVC的配置檔案可以寫成諸如:classpath:spring-servlet.xml;
而第28的url則換成“/”就可以了,這個是訪問的預設路徑。
接下來:就該寫我們的SpringMVC配置檔案了。右鍵點選專案的src目錄,“new”一個“other”,輸入Spring找到如下這個檔案
(注:如果輸入spring而沒有任何提示內容的話,就說明你沒有新增上spring的外掛。關於這一點可以去網上搜索過程,這裡就不再贅述。)
點選next,next進入下面的介面:
勾選aop,bean,c,mvc,context,如果沒有選中,則在配置檔案中使用它們時會報錯。
除了上述檔案之外,還需要新建一個名為“applicationContext.xml”的配置檔案,建立方法同上,但不需要寫內容。在src目錄下建立好之後就不必再去理會。
建好之後,配置以下內容:
第11行的<context:annotation-config />是為了在處理請求的class中使用註釋。
而第12,因為我們在web.xml中配置的路徑是“/”,所以需要第12行(<mvc:default-servlet-handler />)截獲請求。如果沒有這一配置控制檯不會報錯,但無法跳轉並給出如下警告。
警告: No mapping found for HTTP request with URI [/SpringMVC1/] in DispatcherServlet with name 'springDispatcherServlet'。
第13行<mvc:annotation-driven></mvc:annotation-driven>提供資料繫結支援和並解決了@Controller註解使用的前提配置
第14到18行則是跳轉路徑的配置,14行是處理請求的class路徑,15行是控制器。
第18行是你需要跳轉的jsp頁面的路徑和字尾,而中間的值則由處理請求的class提供。(如果你是在“WebContent”下建立的jsp資料夾,則寫成“/jsp/”即可)
最後:就該建立我們用來處理請求的class檔案了。
這裡的包名與SpringMVC配置檔案中的路徑必須相同。
類建立完成之後,在類上的上面添加註解——“@Controller”,可以用來處理請求。
在類內部新增@RequestMapping("/test"),括號內的值為需要訪問的路徑。
建立返回值為String型別的方法,返回值為你的jsp頁面的名字。
如圖:
最最後:在你的jsp資料夾下建立與返回值相同的jsp。(比如我的就是“hello.jsp”)
執行:
控制檯輸出內容,頁面跳轉成功,專案完成。
我個人理解的SpringMVC流程大致如下:從頁面傳送“test”請求,通過“test”找到hello方法並返回值“hello”,返回值“hello”回傳到你的spring-servlet.xml配置檔案,由配置檔案拼接完整的訪問路徑,跳轉完成。