訪問GitHub下載最新源碼:https://github.com/gaussic/SpringMVCDemohtml
另外:文中的附圖部分仍然爲舊版本,請參照自身版本進行配置。java
因爲近期一直在作學術方面的工做,項目開發相關工做並無花太多的時間,致使這篇文章的更新停步了很長一段時間。如今應你們的要求,補上剩餘部分,望能給你們帶來一些幫助。因爲時間的緣由,在開發環境上面有了必定的更新,可是並不形成太大的影響。mysql
- Intellij IDEA 2016.2 Ultimategit
- Tomcat 8.0.35github
- JDK 1.8.0_92web
- Spring 4.2.6spring
- MySql 5.7sql
- Maven 3.3.9apache
- Bootstrap 3.3.5windows
以上是我要作的這個demo所須要的東西,固然有些是可選的,版本也是可控的。好比說若是你用不慣Maven的話能夠自行去官網下載jar包而後導入本身的工程中,若是想要學習下Maven能夠看看《Maven視頻教程》(偶然找到,這個老師作的視頻都挺好,推薦如下),不用徹底的去學習Maven,懂大概意思後再去找找IntelliJ IDEA如何配置maven的相關文章就足夠了。
還有Bootstrap,純粹是我的潔癖,不須要這能夠去之。
事先聲明,請確保IntelliJ IDEA、Tomcat、MySql和JDK都已經安裝好。Maven和Bootstrap的話能有則有。前者爲了讓導包更容易,後者爲了讓頁面更美觀。此外,因爲jdk以及mysql的安裝網上已經有了不少教程,在此爲節省篇幅不作介紹。
注:若是使用IntelliJ IDEA集成的maven 3.0.5的話,能夠忽略此步安裝。
點擊「Apache-Maven官方網站」進入官網,點擊左側Download選項:
進入了下載頁面,往下拉可發現當前版本是3.3.3,點擊下面紅框中的apache-maven-3.3.9-bin.zip就可下載,下載後解壓縮到相應目錄下:
新增系統變量MAVEN_HOME:即MAVEN安裝目錄:
在Path中加入:%MAVEN_HOME%\bin;
在cmd中輸入mvn -v,若顯示以下,則說明本地maven配置完成:
進入Tomcat官網,點擊左側Download的Tomcat8.0,進入Tomcat的下載頁面:
64位Windows版本下載64-bit Windows zip (pgp, md5, sha1),解壓到所需目錄下:
解壓後到\bin\目錄下運行startup.bat,如圖下所示,若是出現Server startup in xxxx ms說明Tomcat安裝成功。
前面說了這麼多,差很少基本的東西都保障了(前提保證你已經安裝了jdk)。如今進入正題,如何來建立一個Web項目。對於不使用Maven的開發者,能夠直接建一個簡單的Web項目。使用Maven的話,請按照圖進行操做。
菜單File->New Project可進入上圖界面,首先選擇左邊欄Maven,再配置JDK(通常若是以前添加了JDK的話會自動填充,如未添加的話點擊旁邊的New將JDK目錄導入便可)。勾選「Create from archetype「,而後選中4處藍色位置webapp,點Next,進入以下界面:
這裏須要填寫GroupId和ArtifactId還有Version,這三個屬性目的是標識你的項目的惟一性,好比Tomcat的GroupId是org.apache,即它是apache組織的項目,ArtifactId是tomcat,項目名爲tomcat,而我當前使用的Version是7.0.68。這些只在發佈時有用,在此能夠隨便填寫,填好後點Next,到以下界面。
打開Maven home directory,能夠發現IntelliJ IDEA已經集成了Maven 2和Maven 3兩個版本,若是使用默認集成的maven的話,選擇Buldled(Maven 3),直接點擊Next。
咱們也能夠導入本地新安裝的較新的Maven版本,點擊藍色箭頭右邊的 ... 按鈕將Maven路徑導入便可,點擊Next:
填寫項目名,選擇項目保存路徑,點擊Finish:
進入以下界面,maven會在後臺生成web項目,這須要等待必定的時間,視網絡環境而定,經驗發現用較新版本的maven項目生成更快,使用IDEA集成的maven可能會等待很長一段實踐。
左邊紅框中展現了該項目的文件結構。能夠發現,它在src/main下建立了一個recources文件夾,該文件夾通常用來存放一些資源文件,還有一個webapp文件夾,用來存放web配置文件以及jsp頁面等,這已經組成了一個原始的web應用。選擇右邊紅框的Enable-Auto-Import,能夠在每次修改pom.xml後,自動的下載並導入jar包,這一點在後面詳述。
注:若是這一步生成實在太慢的話,建議看一下如下兩篇(感謝26樓 wintersun2 同窗的提出):
文章1: http://www.cnblogs.com/beiyeren/p/4566485.html
文章2:http://blog.csdn.net/cleverlzc/article/details/50864582
既然咱們要用SpringMVC開發,那確定少不了SpringMVC的相關jar包。若是不使用Maven的話,那就須要去官網下載相關的jar包,而後導入到項目中。如今使用maven的話,就不須要上網找jar包了。具體容我一一道來。
Maven所作的工做其實很簡單,就是自動把你須要的jar包下載到本地,而後關聯到項目中來。maven的全部jar包都是保存在幾個中央倉庫裏面的,其中一個最經常使用的是Maven Repository,即,你須要什麼jar包,它就會從倉庫中拿給你。那麼如何告訴maven須要什麼jar包呢?咱們看看工程目錄,能找到一個pom.xml文件(這個文件在剛建立好項目時就已經展示在了你們面前),maven就是靠它來定義需求的,代碼以下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.gaussic</groupId> <artifactId>springmvcdemo</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>springmvcdemo Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>springmvcdemo</finalName> </build> </project>
咱們能夠看到這個文件包含了咱們以前定義的本項目的gropId等信息,這些信息是該項目的標識,咱們不要去改動它們。重點看<dependencies>標籤,翻譯過來是」依賴「的意思,也就是說把對每一個包的需求都稱爲一個依賴<depedency>,定義在<dependencies>中。在每一個<depedency>中,你須要提供的是所需jar包的groupId、artifactId、version這三個必要信息。好比上面咱們看到引入可一個junit包,格式以下:
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency>
這是單元測試包,提供了三個基本信息,第4個scope對其餘包來講是非必需的。全部jar包的引入都要知足這個格式。那麼如何查看這些jar包的3個信息呢,可能剛接觸是開發者還不是很熟悉,這個時候就須要查閱倉庫了。好比咱們須要引入Spring核心jar包spring-core,打開Maven Repository,搜索spring-core,進入以下界面:
點擊進入紅框選中的Spring Core,以下所示,能夠看到各版本的使用狀況:
選擇最新版本4.2.5.RELEASE,能夠看到其dependency寫法以下紅框所示:
咱們將其複製到pom.xml中的<dependencies>中:
這樣,Maven就會開始自動下載jar包到本地倉庫,而後關聯到你的項目中,下載完成後,咱們展開工程目錄中External Libraries:
能夠發現,雖然咱們只寫了一個依賴,可是它導入了兩個jar包,也就是說,導入某個jar包時,與它密切相關的jar包也會同時被導入進來。
除了spring-core,我還要spring-context,複製spring-core的<dependency>,將spring-core改成spring-context,以下:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.2.5.RELEASE</version> </dependency>
下載完成後,查看External Libraries,會不會發現,瞬間導入了好多jar包(固然不是瞬間,這得看你的網速了)呢:
這就是Maven的強大之處,若是你須要使用SpringMVC開發網站的話,只需記住幾個重要的包的名字,就能夠輕鬆將全部包導入項目中。
長話短說,如今咱們要進行SpringMVC的開發,請把你的pom.xml變成下面的樣子,固然不要改你的grupId等信息(從modelVersion到url都不要動):
<properties> <spring.version>4.2.6.RELEASE</spring.version> <hibernate.version>5.1.0.Final</hibernate.version> </properties>
請在<dependencies>中加入如下依賴:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-jpa</artifactId> <version>1.10.1.RELEASE</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>${hibernate.version}</version> </dependency> <