訪問GitHub下載最新源碼:https://github.com/gaussic/SPRingMVCDemo
另外:文中的附圖部分仍然為舊版本,請參照自身版本進(jìn)行配置。
由于近期一直在做學(xué)術(shù)方面的工作,項目開發(fā)相關(guān)工作并沒有花太多的時間,導(dǎo)致這篇文章的更新停步了很長一段時間?,F(xiàn)在應(yīng)大家的要求,補(bǔ)上剩余部分,望能給大家?guī)硪恍椭?。由于時間的原因,在開發(fā)環(huán)境上面有了一定的更新,但是并不造成太大的影響。
- Intellij IDEA 2016.2 Ultimate
- Tomcat 8.0.35
- JDK 1.8.0_92
- Spring 4.2.6
- MySQL 5.7
- Maven 3.3.9
- Bootstrap 3.3.5
以上是我要做的這個demo所需要的東西,當(dāng)然有些是可選的,版本也是可控的。比如說如果你用不慣Maven的話可以自行去官網(wǎng)下載jar包然后導(dǎo)入自己的工程中,如果想要學(xué)習(xí)下Maven可以看看《Maven視頻教程》(偶然找到,這個老師做的視頻都挺好,推薦以下),不用完全的去學(xué)習(xí)Maven,懂大概意思后再去找找IntelliJ IDEA如何配置maven的相關(guān)文章就足夠了。
還有Bootstrap,純粹是個人潔癖,不需要這可以去之。
事先聲明,請確保IntelliJ IDEA、Tomcat、MySql和JDK都已經(jīng)安裝好。Maven和Bootstrap的話能有則有。前者為了讓導(dǎo)包更容易,后者為了讓頁面更美觀。此外,由于jdk以及mysql的安裝網(wǎng)上已經(jīng)有了很多教程,在此為節(jié)省篇幅不做介紹。
注:如果使用IntelliJ IDEA集成的maven 3.0.5的話,可以忽略此步安裝。
點(diǎn)擊“Apache-Maven官方網(wǎng)站”進(jìn)入官網(wǎng),點(diǎn)擊左側(cè)Download選項:
進(jìn)入了下載頁面,往下拉可發(fā)現(xiàn)當(dāng)前版本是3.3.3,點(diǎn)擊下面紅框中的apache-maven-3.3.9-bin.zip就可下載,下載后解壓縮到相應(yīng)目錄下:
新增系統(tǒng)變量MAVEN_HOME:即MAVEN安裝目錄:
在Path中加入:%MAVEN_HOME%/bin;
在cmd中輸入mvn -v,若顯示如下,則說明本地maven配置完成:
進(jìn)入Tomcat官網(wǎng),點(diǎn)擊左側(cè)Download的Tomcat8.0,進(jìn)入Tomcat的下載頁面:
64位Windows版本下載64-bit Windows zip (pgp, md5, sha1),解壓到所需目錄下:
解壓后到/bin/目錄下運(yùn)行startup.bat,如圖下所示,如果出現(xiàn)Server startup in xxxx ms說明Tomcat安裝成功。
前面說了這么多,差不多基本的東西都保障了(前提保證你已經(jīng)安裝了jdk)。現(xiàn)在進(jìn)入正題,如何來創(chuàng)建一個Web項目。對于不使用Maven的開發(fā)者,可以直接建一個簡單的Web項目。使用Maven的話,請按照圖進(jìn)行操作。
菜單File->New Project可進(jìn)入上圖界面,首先選擇左邊欄Maven,再配置JDK(一般如果之前添加了JDK的話會自動填充,如未添加的話點(diǎn)擊旁邊的New將JDK目錄導(dǎo)入即可)。勾選“Create from archetype“,然后選中4處藍(lán)色位置webapp,點(diǎn)Next,進(jìn)入如下界面:
這里需要填寫GroupId和ArtifactId還有Version,這三個屬性目的是標(biāo)識你的項目的唯一性,比如Tomcat的GroupId是org.apache,即它是apache組織的項目,ArtifactId是tomcat,項目名為tomcat,而我當(dāng)前使用的Version是7.0.68。這些只在發(fā)布時有用,在此可以隨便填寫,填好后點(diǎn)Next,到如下界面。
打開Maven home directory,可以發(fā)現(xiàn)IntelliJ IDEA已經(jīng)集成了Maven 2和Maven 3兩個版本,如果使用默認(rèn)集成的maven的話,選擇Buldled(Maven 3),直接點(diǎn)擊Next。
我們也可以導(dǎo)入本地新安裝的較新的Maven版本,點(diǎn)擊藍(lán)色箭頭右邊的 ... 按鈕將Maven路徑導(dǎo)入即可,點(diǎn)擊Next:
填寫項目名,選擇項目保存路徑,點(diǎn)擊Finish:
進(jìn)入如下界面,maven會在后臺生成web項目,這需要等待一定的時間,視網(wǎng)絡(luò)環(huán)境而定,經(jīng)驗(yàn)發(fā)現(xiàn)用較新版本的maven項目生成更快,使用IDEA集成的maven可能會等待很長一段實(shí)踐。
左邊紅框中展示了該項目的文件結(jié)構(gòu)。可以發(fā)現(xiàn),它在src/main下創(chuàng)建了一個recources文件夾,該文件夾一般用來存放一些資源文件,還有一個webapp文件夾,用來存放web配置文件以及jsp頁面等,這已經(jīng)組成了一個原始的web應(yīng)用。選擇右邊紅框的Enable-Auto-Import,可以在每次修改pom.xml后,自動的下載并導(dǎo)入jar包,這一點(diǎn)在后面詳述。
注:如果這一步生成實(shí)在太慢的話,建議看一下以下兩篇(感謝26樓 wintersun2 同學(xué)的提出):
文章1: http://www.cnblogs.com/beiyeren/p/4566485.html文章2:http://blog.csdn.net/cleverlzc/article/details/50864582
既然我們要用SpringMVC開發(fā),那肯定少不了SpringMVC的相關(guān)jar包。如果不使用Maven的話,那就需要去官網(wǎng)下載相關(guān)的jar包,然后導(dǎo)入到項目中?,F(xiàn)在使用maven的話,就不需要上網(wǎng)找jar包了。具體容我一一道來。
Maven所做的工作其實(shí)很簡單,就是自動把你需要的jar包下載到本地,然后關(guān)聯(lián)到項目中來。maven的所有jar包都是保存在幾個中央倉庫里面的,其中一個最常用的是Maven Repository,即,你需要什么jar包,它就會從倉庫中拿給你。那么如何告訴maven需要什么jar包呢?我們看看工程目錄,能找到一個pom.xml文件(這個文件在剛創(chuàng)建好項目時就已經(jīng)展現(xiàn)在了大家面前),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等信息,這些信息是該項目的標(biāo)識,我們不要去改動它們。重點(diǎn)看<dependencies>標(biāo)簽,翻譯過來是”依賴“的意思,也就是說把對每個包的需求都稱為一個依賴<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個信息呢,可能剛接觸是開發(fā)者還不是很熟悉,這個時候就需要查閱倉庫了。比如我們需要引入Spring核心jar包spring-core,打開Maven Repository,搜索spring-core,進(jìn)入如下界面:
點(diǎn)擊進(jìn)入紅框選中的Spring Core,如下所示,可以看到各版本的使用情況:
選擇最新版本4.2.5.RELEASE,可以看到其dependency寫法如下紅框所示:
我們將其復(fù)制到pom.xml中的<dependencies>中:
這樣,Maven就會開始自動下載jar包到本地倉庫,然后關(guān)聯(lián)到你的項目中,下載完成后,我們展開工程目錄中External Libraries:
可以發(fā)現(xiàn),雖然我們只寫了一個依賴,但是它導(dǎo)入了兩個jar包,也就是說,導(dǎo)入某個jar包時,與它密切相關(guān)的jar包也會同時被導(dǎo)入進(jìn)來。
除了spring-core,我還要spring-context,復(fù)制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,會不會發(fā)現(xiàn),瞬間導(dǎo)入了好多jar包(當(dāng)然不是瞬間,這得看你的網(wǎng)速了)呢:
這就是Maven的強(qiáng)大之處,如果你需要使用SpringMVC開發(fā)網(wǎng)站的話,只需記住幾個重要的包的名字,就可以輕松將所有包導(dǎo)入項目中。
長話短說,現(xiàn)在我們要進(jìn)行SpringMVC的開發(fā),請把你的pom.xml變成下面的樣子,當(dāng)然不要改你的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> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-c3p0</artifactId> <version>${hibernate.version}</version> </dependency> <dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5.2</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.39</version> </dependency>將<build>改成如下形式:
<build> <finalName>springmvcdemo</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build>
我們可以發(fā)現(xiàn),除了導(dǎo)入了spring相關(guān)jar包,還有一些其他的包,這些包都是有作用的,我們后面慢慢說。如果不使用Maven請自行下載spring、hibernate、mysql、jstl等相關(guān)jar包然后導(dǎo)入到工程中。至此,jar包的導(dǎo)入就完成了,我們按 ctrl+alt+shift+s,或者File->Project Structure查看一下項目結(jié)構(gòu),看看有什么問題:
由于之后我們要開始寫代碼了,先做一些配置,選擇Modules,在SpringMVCDemo的src/main文件夾中新建一個文件夾,取名為java:
選中java文件夾,點(diǎn)擊上面的Make as:Sources,該文件夾就會變成藍(lán)色,用以保存java代碼,按OK,結(jié)束配置。
(另開一文,見使用Intellij IDEA來發(fā)SpringMVC網(wǎng)站(二))。
新聞熱點(diǎn)
疑難解答