[Hello, Java Web]:從入門(mén)到____ - Intellij 創(chuàng)建Maven管理的 Java Web項(xiàng)目 并部署到Tomcat下(附簡(jiǎn)單Spring Framework配置)

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)境配置

Paste_Image.png

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方式(不推薦)

新建工程


Paste_Image.png

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

Paste_Image.png
Paste_Image.png

參考:http://bbs.csdn.net/topics/390764673

完成Maven的添加。

1.2 Maven方式(推薦)

Paste_Image.png
Paste_Image.png
錄入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)目根目錄的名稱。

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

特殊處理部分參考:

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ù)。

填入工程名稱
Paste_Image.png

Finish之后,完成工程創(chuàng)建。

第一次建立Java Web工程時(shí),需要下載一些依賴,因?yàn)槭褂昧薬rchetype。

完成后的工程目錄:

Paste_Image.png

此時(shí),僅僅完成了第一步,后面需要一系列的配置。

2 配置相關(guān)參數(shù)

主要進(jìn)行項(xiàng)目的目錄配置、依賴添加、web配置等。

項(xiàng)目上右擊:

Paste_Image.png

2.1 添加java代碼目錄:

Paste_Image.png
Paste_Image.png

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à)值的:

Paste_Image.png
<?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版本。

Paste_Image.png
Paste_Image.png
Paste_Image.png

好久沒(méi)用,一打開(kāi),果然沒(méi)有了。

參考
http://qizixuan.blog.51cto.com/5648927/1851334 , 進(jìn)行配置了下。

3.1 tomcat參數(shù)配置:

通過(guò)intellij頂部菜單,run -> edit configurations

Paste_Image.png

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

Paste_Image.png

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

Paste_Image.png

新建一個(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位置:

Paste_Image.png

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

Paste_Image.png

選擇exploded:

war包直接部署,war exploded是展開(kāi)后部署,區(qū)別就是,展開(kāi)后部署,可以更快的同步資源,及時(shí)更新,實(shí)現(xiàn)調(diào)試時(shí)資源及時(shí)更新重新加載。

最終部署項(xiàng)目時(shí),一般部署第一個(gè)war包。

Paste_Image.png

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

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


Paste_Image.png

4 運(yùn)行

Paste_Image.png

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


Paste_Image.png

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


Paste_Image.png

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)目
感謝作者提供的博文

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,255評(píng)論 6 342
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評(píng)論 19 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,790評(píng)論 25 709
  • 第一次認(rèn)識(shí)王寶強(qiáng)同學(xué)是通過(guò)《士兵突擊》中的執(zhí)拗的傻子兵王許三多的角色,這個(gè)角色演得太成功了,以至于王寶強(qiáng)同學(xué)都成為...
    哪兒黑閱讀 632評(píng)論 1 5
  • 我們?cè)诙放?chǎng)里看表演,本來(lái)都好好的。但是突然進(jìn)入了一個(gè)人,我們都很擔(dān)心,不過(guò)還好沒(méi)事。 我覺(jué)得進(jìn)入里面還是挺好玩的...
    愛(ài)夢(mèng)的我閱讀 196評(píng)論 0 0

友情鏈接更多精彩內(nèi)容