1. 程式人生 > >SpringMVC之一個簡單的helloworld專案(從配置資訊到請求處理)

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配置檔案,由配置檔案拼接完整的訪問路徑,跳轉完成。