建立Maven Web項目
菜單File->New Project可進入如圖界面,首先選擇左邊欄Maven,再配置JDK(一般如果之前添加了JDK的話會自動填充,如未添加的話點選旁邊的New将JDK目錄導入即可)。勾選"Create from archetype",然後選中maven-archetype-webapp,點Next,進入如下界面:
這裡需要填寫GroupId和ArtifactId,Version預設即可,這三個屬性可以唯一辨別你的項目,比如Tomcat的GroupId是org.apache,即它是apache組織的項目,ArtifactId是tomcat,項目名為tomcat,而我目前使用的Version是 7.0.47。這些隻在釋出時有用,在此可以随便填寫。
我自己的maven配置
填寫項目名,選擇項目儲存路徑,點選Finish:
maven會在背景生成web項目,這需要等待一定的時間,視網絡環境而定.
下圖展示了該項目的檔案結構。可以發現,它在src/main下建立了一個recources檔案夾,該檔案夾一般用來存放一些資源檔案,還有一個webapp檔案夾,用來存放web配置檔案以及jsp頁面等,這已經組成了一個原始的web應用。選擇右邊紅框的Enable-Auto- Import,可以在每次修改pom.xml後,自動的下載下傳并導入jar包,這一點在後面詳述。
我們可以看到,目錄結構并不是嚴格的maven格式,還需進一步配置。
File->Project Structure->Model.
選中對應的檔案夾,點選上面的Make as...,相應的檔案夾機會變成Sources,Tests,Resources,Test Resources,按OK,結束配置。
Maven自動導入jar包
既然我們要用Spring MVC開發,那肯定少不了Spring MVC的相關jar包。如果不使用Maven的話,那就需要去官網下載下傳相關的jar包,然後導入到項目中。現在使用maven的話,就不需要上網找jar包了。
我們可以看到這個檔案包含了我們之前定義的本項目的groupId等資訊,這些資訊是該項目的辨別,我們不要去改動它們。重點看<dependencies>标簽,翻譯過來是"依賴"的意思,也就是說把對每個包的需求都稱為一個依賴<depedency>,定義在<dependencies>中。在每個<depedency>中,你需要提供的是所需jar包的groupId、artifactId、version(g,a,v)這三個必要資訊。比如上面我們看到引入可一個junit包,格式如下:
點選進入紅框選中的Spring Core,如下所示,可以看到各版本的使用情況:
選擇最新版本3.2.0.RELEASE,可以看到其dependency寫法如下紅框所示:
我們将其複制到pom.xml中的<dependencies>中:
這樣,Maven就會開始自動下載下傳jar包到本地倉庫,然後關聯到你的項目中,下載下傳完成後,我們展開工程目錄中External Libraries:
可以發現,雖然我們隻寫了一個依賴,但是它導入了兩個jar包,也就是說,導入某個jar包時,與它密切相關的jar包也會同時被導入進來。
除了spring-core,我還要spring-web,複制spring-core的<dependency>,将spring-core改為spring-web,如下:
下載下傳完成後,檢視External Libraries,會發現導入了好多jar包。
這就是Maven的強大之處,如果你需要使用Spring MVC開發網站的話,隻需記住幾個重要的包的名字,就可以輕松将所有包導入項目中。
現在我們要進行Spring MVC的開發,請把你的pom.xml變成下面的樣子,當然不要改你的grupId等資訊(從modelVersion到url都不要動):
請在<dependencies>中加入以下依賴:
我們可以發現,除了導入了spring相關jar包,還有一些其他的包,這些包都是有作用的。如果不使用Maven請自行下載下傳spring、hibernate、mysql、jstl、javax-servlet、json等相關jar包然後導入到工程中。至此,jar包的導入就完成了,我們按ctrl+alt+shift+s,或者File->Project Structure檢視一下項目結構,看看有什麼問題:
SpringMVC架構配置
進行完上面的配置,那就說明現在基本的開發環境已經搭建好了,現在要開始進行Spring MVC的網站開發。
1、web.xml配置
打開src\main\webapp\WEB-INF\下的web.xml檔案,修改限制檔案,如下:
原來的竟然是這樣
--->
在web.xml中建立Spring MVC的中央控制器
該servlet名為mvc-dispatcher(名稱可修改),用于攔截請求(url-pattern為*.do),并交由Spring MVC的背景控制器來處理。這一項配置是必須的
為了能夠進行中文的post請求,再配置一個encodingFilter,以避免post請求中文出現亂碼情況:
至此,web.xml配置完畢。
2、mvc-dispatcher-servlet.xml配置
在配置完web.xml後,需在WEB-INF目錄下建立 mvc-dispatcher-servlet.xml(-servlet前面是在servlet裡面定義的servlet名):
建立該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(名稱并不固定,可任意取),并修改如下:
--@Controller注解:采用注解的方式,可以明确地定義該類為處理請求的Controller類;
--@RequestMapping()注解:用于定義一個請求映射,value為請求的url,值為 / 說明,該請求首頁請求,method用以指定該請求類型,一般為get和post;
--return "index":處理完該請求後傳回的頁面,此請求傳回 index.jsp頁面。
回到mvc-dispatcher-servlet.xml,進行相關配置。
再次不在贅述,簡單配置一下
現在,需要配置Tomcat來運作該項目。
Run->Edit Configurations
點選左上角的"+"号,選擇Tomcat Server,(如果沒有請選擇最下方的33 items more,找到Tomcat Server),再選擇Local:
點選 Application server 右邊的 Configure,導入Tomcat 目錄:
在配置好Tomcat的路徑後,如下圖所示,發現依然存在警告,且左方的Tomcat8圖示上有一個警告标記,說明還沒有配置完全:
我們還需要将項目部署到 Tomcat 伺服器中。點選 Deployment,再點選右邊的"+"号,添加一個Artifact.
選擇第二個:war exploded,點選OK,這樣,該項目就已經部署到了tomcat中.
再點選OK,整個Tomcat配置結束.
啟動 Tomcat 了,其控制台輸出将在IDEA下方顯示
啟動後,浏覽器将自動彈出項目首頁.