Intelli IDEA是目前比較流行的開(kāi)發(fā)環(huán)境,可以配置Maven進(jìn)行項(xiàng)目管理,非常便捷,受到很多開(kāi)發(fā)者的青睞。除了Intellij IDEA外,JetBrains推出了一系列的開(kāi)發(fā)IDE,如PyCharm用于python開(kāi)發(fā),也是墻裂推薦。
0 預(yù)備工作
Java環(huán)境配置
Intellij IDEA安裝,旗艦版(Ultimate)
Tomcat Server下載與解壓(本文使用Tomcat 8)
環(huán)境配置

1 創(chuàng)建:基于Maven管理的Java Web工程
創(chuàng)建Java Web工程方式有不止一種方法,這里記錄下通過(guò)Java的Web Applicaiton方式和Maven工程方式創(chuàng)建。推薦Java Web Application方式。
注意:Intellij的Community版是沒(méi)有Tomcat等J2EE的工具的,需要下載Ultimate版本。
1.1 Java 的 Web Applicaiton方式(不推薦)
新建工程

完成工程創(chuàng)建。但有一個(gè)問(wèn)題,工程沒(méi)有maven管理,是一個(gè)Intellij工程,需要增加Maven管理。
項(xiàng)目右擊:


完成Maven的添加。
1.2 Maven方式(推薦)


錄入GroupID和ArtifactID,這里說(shuō)明下這兩個(gè)的作用:
GroupID是項(xiàng)目組織唯一的標(biāo)識(shí)符,即[組名],實(shí)際對(duì)應(yīng)JAVA的包的結(jié)構(gòu),是main目錄里java的目錄結(jié)構(gòu)。ArtifactID就是項(xiàng)目的唯一的標(biāo)識(shí)符,即本工程的[工程名稱],實(shí)際對(duì)應(yīng)項(xiàng)目的名稱,就是項(xiàng)目根目錄的名稱。

一個(gè)特殊處理,加快工程創(chuàng)建進(jìn)度


特殊處理部分參考:
archetypeCatalog表示插件使用的archetype元數(shù)據(jù),不加這個(gè)參數(shù)時(shí)默認(rèn)為remote,local,即中央倉(cāng)庫(kù)archetype元數(shù)據(jù),由于中央倉(cāng)庫(kù)的archetype太多了,所以導(dǎo)致很慢,指定internal來(lái)表示僅使用內(nèi)部元數(shù)據(jù)。
填入工程名稱

Finish之后,完成工程創(chuàng)建。
第一次建立Java Web工程時(shí),需要下載一些依賴,因?yàn)槭褂昧薬rchetype。
完成后的工程目錄:

此時(shí),僅僅完成了第一步,后面需要一系列的配置。
2 配置相關(guān)參數(shù)
主要進(jìn)行項(xiàng)目的目錄配置、依賴添加、web配置等。
項(xiàng)目上右擊:

2.1 添加java代碼目錄:


2.2 pom.xml里添加相關(guān)依賴
添加依賴,由于使用maven管理項(xiàng)目,因此在pom.xml里進(jìn)行依賴管理。添加的基本依賴主要包括了jstl、servlet-api以及諸如數(shù)據(jù)庫(kù)、測(cè)試框架、json包以及其他第三方框架等等。如果用刀spring framework,也在pom.xml里添加,這個(gè)就稍復(fù)雜些,后續(xù)再作介紹
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.0-b01</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.4</version>
</dependency>
</dependencies>
所需依賴可以在https://mvnrepository.com/進(jìn)行查詢依賴編寫(xiě)方式。輸入包的名稱、框架名稱即可查詢。
2.3 web配置: web.xml
web.xml需要自己進(jìn)行配置,否則是個(gè)空白的,沒(méi)有任何價(jià)值的:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>JavaWebDemoPro</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
3 配置Tomcat并部署
主要進(jìn)行工程到Tomcat的部署過(guò)程,包括啟動(dòng)配置。
tip:社區(qū)版的尷尬:沒(méi)有相關(guān)工具
Intellij的Community版是沒(méi)有Tomcat等J2EE的工具的,需要下載Ultimate版本。



好久沒(méi)用,一打開(kāi),果然沒(méi)有了。
參考
http://qizixuan.blog.51cto.com/5648927/1851334 , 進(jìn)行配置了下。
3.1 tomcat參數(shù)配置:
通過(guò)intellij頂部菜單,run -> edit configurations

剛剛新建項(xiàng)目,沒(méi)有任何啟動(dòng)配置,需要新增:

沒(méi)找到Tomcat Server,就選擇更多:

新建一個(gè)Tomcat Server 本地Local的,如果有遠(yuǎn)程的,也是可以配置的,這里先不介紹遠(yuǎn)程配置。
配置本地Tomcat:
Intellij需要配置一個(gè)自己下載的tomcat,到tomcat官方網(wǎng)站下載即可:
Tomcat官網(wǎng):http://tomcat.apache.org/
通過(guò)configure...進(jìn)行選擇本地tomcat位置:

配置發(fā)布的artifact:(很重要)

選擇exploded:
war包直接部署,war exploded是展開(kāi)后部署,區(qū)別就是,展開(kāi)后部署,可以更快的同步資源,及時(shí)更新,實(shí)現(xiàn)調(diào)試時(shí)資源及時(shí)更新重新加載。
最終部署項(xiàng)目時(shí),一般部署第一個(gè)war包。

填寫(xiě)發(fā)布的路徑

這里需要注意,修改這兩個(gè)地方,用于發(fā)布時(shí)同步到本地server下面:

4 運(yùn)行

可以看到,server啟動(dòng),log開(kāi)始輸出啦:

瀏覽器會(huì)自動(dòng)打開(kāi)默認(rèn)頁(yè)面:

5 大功告成!
到此為止,已經(jīng)完成了最基本的Java Web工程的建立。俗話說(shuō)萬(wàn)事開(kāi)頭難,雖然工程里面啥都沒(méi)有,僅僅是一個(gè)簡(jiǎn)簡(jiǎn)單單的架子,但Java Web的Hello World已經(jīng)搞定了~
6 進(jìn)階階段:Spring Framework配置
使用maven進(jìn)行項(xiàng)目管理后,很多東西,僅僅是pom.xml的一個(gè)依賴添加動(dòng)作。Spring Framework也是如此。
6.1 添加Spring Framework
pom.xml內(nèi)添加依賴:
<!-- Spring Framework-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
本文主要參考并致謝:
使用IntelliJ IDEA 14和Maven創(chuàng)建java web項(xiàng)目
感謝作者提供的博文