摘要
講解如何配置SpringMVC架構xml,以及如何在Tomcat中運作
目錄[-]
<a href="#OSC_h4_1">文章已針對IDEA 15做了一定的更新,部分更新較為重要,請重新閱讀文章并下載下傳最新源碼。</a>
<a href="#OSC_h3_2">五、SpringMVC架構配置</a>
<a href="#OSC_h4_3">1、web.xml配置</a>
<a href="#OSC_h4_4">2、xxx-servlet.xml配置</a>
進行完上面的配置,那就說明現在基本的開發環境已經搭建好了,現在要開始進行SpringMVC的網站開發。
打開src\main\webapp\WEB-INF\下的web.xml檔案,稍微更新一下web.xml的版本,可以支援更進階的一些文法,如下:
在<web-app>中加入一個servlet:
該servlet名為mvc-dispatcher(名稱可修改),用于攔截請求(url-pattern為 / ,說明攔截所有請求),并交由Spring MVC的背景控制器來處理。這一項配置是必須的。
為了能夠進行中文的post請求,再配置一個encodingFilter,以避免post請求中文出現亂碼情況:
至此,web.xml配置完畢。
在配置完web.xml後,需在web.xml同級目錄下建立 mvc-dispatcher-servlet.xml(-servlet前面是在servlet裡面定義的servlet名):
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuY2M3kjYkFGMjJjMlZ2NwYGMkRTYzUWZ4QWOkJGZhFTZfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)
建立該xml檔案後,點選右上角的configure,出現 Setup Frameworks界面,點選OK,這樣,IntelliJ IDEA就識别了SpringMVC的配置檔案:
mvc-dispatcher-servlet.xml檔案如下:
MVC架構有model、view、controller三部分組成。model一般為一些基本的Java Bean,view用于進行相應的頁面顯示,controller用于處理網站的請求。
在src\main\java中建立一個用于儲存controller的package:
在controller包中建立java類MainController(名稱并不固定,可任意取),并修改如下:
(1)@Controller注解:采用注解的方式,可以明确地定義該類為處理請求的Controller類;
(2)@RequestMapping()注解:用于定義一個請求映射,value為請求的url,值為 / 說明,該請求首頁請求,method用以指定該請求類型,一般為get和post;
(3)return "index":處理完該請求後傳回的頁面,此請求傳回 index.jsp頁面。
回到mvc-dispatcher-servlet.xml,進行相關配置。首先加入component-scan标簽,指明controller所在的包,并掃描其中的注解(最好不要複制,輸入時按IDEA會在beans xmlns中添加相關内容):
再進行js、image、css等靜态資源通路的相關配置,這樣,SpringMVC才能通路網站内的靜态資源:
再開啟springmvc注解模式,由于我們利用注解方法來進行相關定義,可以省去很多的配置:
再進行視圖解析器的相關配置:
關于controller如何找到視圖檔案,這裡需要詳細的說明。在 controller 的一個方法中,傳回的字元串定義了所需通路的jsp的名字(如上面的index)。在jspViewResolver中,有兩個屬性,一個是prefix,定義了所需通路的檔案路徑字首,另一是suffix,表示要通路的檔案的字尾,這裡為 .jsp。那麼,如果傳回字元串是 xxx ,SpringMVC就會找到 /WEB-INF/pages/xxx.jsp 檔案。
完成以上配置後,mvc-dispatcher-servlet.xml檔案如下圖所示:
我們删除 webapp 目錄下的 index.jsp 檔案,在WEB-INF目錄下建立檔案夾pages,再在pages目錄下建立 index.jsp,并修改為如下所示:
現在,需要配置 Tomcat 來運作該項目。點選界面右上角的向下箭頭,選擇 Edit Configurations:
點選左上角的”+“号,選擇Tomcat Server,(如果沒有請選擇最下方的33 items more,找到Tomcat Server),再選擇Local:
進入如下界面:
點選 Application server 右邊的 Configure,導入Tomcat 目錄:
在配置好tomcat的路徑後,如下圖所示,發現依然存在警告,且左方的Tomcat7圖示上有一個錯誤标記,說明還沒有配置完全:
我們還需要将項目部署到 Tomcat 伺服器中。點選 Deployment,再點選右邊的”+“号,添加一個Artifact:
選擇第二個:war exploded,點選OK,這樣,該項目就已經部署到了tomcat中:
再點選OK,整個Tomcat配置結束:
點選界面右上角的紅框中的綠色箭頭,就可以啟動 Tomcat 了,其控制台輸出将在 IDEA 下方顯示
啟動後,浏覽器将自動彈出項目首頁:
這樣,說明配置完成。這裡總結一下其相關機制:首先,浏覽器通路 localhost:8080,背景controller攔截該請求,進行相應的處理(此處無),在跳轉到視圖 index.jsp進行顯示。此後,将會進行詳細的介紹。