天天看點

使用IntelliJ IDEA開發SpringMVC網站(二)架構配置

摘要

講解如何配置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的版本,可以支援更進階的一些文法,如下:

   在&lt;web-app&gt;中加入一個servlet:

   該servlet名為mvc-dispatcher(名稱可修改),用于攔截請求(url-pattern為 / ,說明攔截所有請求),并交由Spring MVC的背景控制器來處理。這一項配置是必須的。

   為了能夠進行中文的post請求,再配置一個encodingFilter,以避免post請求中文出現亂碼情況:

  至此,web.xml配置完畢。

    在配置完web.xml後,需在web.xml同級目錄下建立 mvc-dispatcher-servlet.xml(-servlet前面是在servlet裡面定義的servlet名):

使用IntelliJ IDEA開發SpringMVC網站(二)架構配置
使用IntelliJ IDEA開發SpringMVC網站(二)架構配置

    建立該xml檔案後,點選右上角的configure,出現 Setup Frameworks界面,點選OK,這樣,IntelliJ IDEA就識别了SpringMVC的配置檔案:

使用IntelliJ IDEA開發SpringMVC網站(二)架構配置

    mvc-dispatcher-servlet.xml檔案如下:

   MVC架構有model、view、controller三部分組成。model一般為一些基本的Java Bean,view用于進行相應的頁面顯示,controller用于處理網站的請求。

   在src\main\java中建立一個用于儲存controller的package:

使用IntelliJ IDEA開發SpringMVC網站(二)架構配置
使用IntelliJ IDEA開發SpringMVC網站(二)架構配置

    在controller包中建立java類MainController(名稱并不固定,可任意取),并修改如下:

使用IntelliJ IDEA開發SpringMVC網站(二)架構配置
使用IntelliJ IDEA開發SpringMVC網站(二)架構配置
使用IntelliJ IDEA開發SpringMVC網站(二)架構配置

    (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,并修改為如下所示:

使用IntelliJ IDEA開發SpringMVC網站(二)架構配置

現在,需要配置 Tomcat 來運作該項目。點選界面右上角的向下箭頭,選擇 Edit Configurations:

使用IntelliJ IDEA開發SpringMVC網站(二)架構配置

點選左上角的”+“号,選擇Tomcat Server,(如果沒有請選擇最下方的33 items more,找到Tomcat Server),再選擇Local:

使用IntelliJ IDEA開發SpringMVC網站(二)架構配置

進入如下界面:

使用IntelliJ IDEA開發SpringMVC網站(二)架構配置

點選 Application server 右邊的 Configure,導入Tomcat 目錄:

使用IntelliJ IDEA開發SpringMVC網站(二)架構配置

在配置好tomcat的路徑後,如下圖所示,發現依然存在警告,且左方的Tomcat7圖示上有一個錯誤标記,說明還沒有配置完全:

使用IntelliJ IDEA開發SpringMVC網站(二)架構配置

我們還需要将項目部署到 Tomcat 伺服器中。點選 Deployment,再點選右邊的”+“号,添加一個Artifact:

使用IntelliJ IDEA開發SpringMVC網站(二)架構配置

選擇第二個:war exploded,點選OK,這樣,該項目就已經部署到了tomcat中:

使用IntelliJ IDEA開發SpringMVC網站(二)架構配置

再點選OK,整個Tomcat配置結束:

使用IntelliJ IDEA開發SpringMVC網站(二)架構配置

點選界面右上角的紅框中的綠色箭頭,就可以啟動 Tomcat 了,其控制台輸出将在 IDEA 下方顯示

使用IntelliJ IDEA開發SpringMVC網站(二)架構配置

啟動後,浏覽器将自動彈出項目首頁:

使用IntelliJ IDEA開發SpringMVC網站(二)架構配置

這樣,說明配置完成。這裡總結一下其相關機制:首先,浏覽器通路 localhost:8080,背景controller攔截該請求,進行相應的處理(此處無),在跳轉到視圖 index.jsp進行顯示。此後,将會進行詳細的介紹。