在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C++/ Eclipse 的 Java Web 項目環(huán)境搭建
介紹
IntelliJ IDEA 界面介紹
最特殊的快捷鍵 Alt + Enter 介紹
IntelliJ IDEA 配合 Maven 的一些技巧
文件代碼模板的使用
常見文件類型的圖標(biāo)介紹
IntelliJ IDEA 推薦設(shè)置講解
Maven 項目介紹
IntelliJ IDEA 相關(guān)核心文件和目錄介紹
Debug 介紹
IntelliJ IDEA 常用設(shè)置講解 - 2
IntelliJ IDEA 插件開發(fā)視頻教程
IntelliJ IDEA 緩存和索引介紹和清理方法
IntelliJ IDEA 主題、字體、編輯區(qū)主題、文件編碼修改、亂碼問題
Maven 的單模塊 Spring Boot 項目
IntelliJ IDEA 遠程調(diào)試 Tomcat
插件的使用
IntelliJ IDEA 編譯方式介紹
IntelliJ IDEA For Mac 快捷鍵
IntelliJ IDEA 常用設(shè)置講解 - 1
首次運行
Ubuntu 系統(tǒng)下安裝 IntelliJ IDEA
數(shù)據(jù)庫管理工具介紹
重構(gòu)講解
從 Windows 過度到 Mac 必備快捷鍵對照表
Windows 系統(tǒng)下安裝 IntelliJ IDEA
Maven 的單模塊 / 多模塊之 Spring MVC + Spring + Spring Data JPA 項目
版本控制的使用
IntelliJ IDEA 的 Java 熱部署插件 JRebel 安裝及使用
IntelliJ IDEA 常用設(shè)置講解 - 3
Emmet 的使用
Postfix Completion 的使用
Mac 系統(tǒng)下安裝 IntelliJ IDEA
本系列教程結(jié)束
實時代碼模板的使用
快捷鍵
IntelliJ IDEA 項目相關(guān)的幾個重要概念介紹
安裝總結(jié)
Maven 的單模塊 / 多模塊之 Spring MVC + Spring + Mybatis 項目講解
關(guān)于
Eclipse 的 Java Web 項目環(huán)境搭建
IntelliJ IDEA 常用設(shè)置講解 - 4
Hello World 項目創(chuàng)建與項目配置文件介紹

Eclipse 的 Java Web 項目環(huán)境搭建

Eclipse 項目結(jié)構(gòu)

http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/images/xxi-a-eclipse-project-introduce-1.gif" alt="Eclipse 項目結(jié)構(gòu)" />

  • 如上圖 Gif 演示,在 Eclipse 下,一般中小項目的項目結(jié)構(gòu)基本都是這種模式的,所以我們這里也通過網(wǎng)上一個開源項目 JspRun 進行講解。
  • 下載地址:http://pan.baidu.com/s/1i3zrSf7

Eclipse 項目配置

http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/images/xxi-b-eclipse-project-settings-1.jpg" alt="Eclipse 項目配置" />

  • 如上圖箭頭所示,在 IntelliJ IDEA 下是支持直接打開 Eclipse 項目的,無需導(dǎo)入。
  • 如上圖標(biāo)注 1 所示,選擇項目的 .project 文件打開即可。

http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/images/xxi-b-eclipse-project-settings-2.jpg" alt="Eclipse 項目配置" />

  • 如上圖標(biāo)注 1 所示,IntelliJ IDEA 能自動識別到可編譯的 src 類目錄,所以這里文件夾是藍色的。
  • 如上圖標(biāo)注 2 所示,Java Web 項目 WebRoot 是整個項目輸出的根目錄,所以這個區(qū)域也是非常重要的,只是無需配置。
  • 如上圖標(biāo)注 3 所示,WEB-INF 下的一些配置文件,以及兩個目錄 classeslib 都是至關(guān)重要的,其中 classes 是紅色目錄,也就是被排除的,因為編譯產(chǎn)生的文件對開發(fā)來講是沒有多大意義的,所以進行了排除,但是這并不會影響容器去使用它。

http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/images/xxi-b-eclipse-project-settings-3.jpg" alt="Eclipse 項目配置" />

  • 如上圖標(biāo)注 1 所示,因為這個項目是單 Module 的,所以我們這里在 Project compiler output 可以選擇項目 WEB-INF 下的 classes 編譯目錄。

http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/images/xxi-b-eclipse-project-settings-4.jpg" alt="Eclipse 項目配置" />

  • 如上圖紅圈所示,我們可以根據(jù)實際情況,對項目的任意目錄進行這五種目錄類型的標(biāo)注,選中要標(biāo)注的目錄然后點擊想要標(biāo)注的類型按鈕即可,這個知識點非常非常重要,必須會。

    • Sources 一般用于標(biāo)注類似 src 這種可編譯目錄。有時候我們不單單項目的 src 目錄要可編譯,還有其他一些特別的目錄也要作為可編譯的目錄,就需要對該目錄進行此標(biāo)注。只有 Sources 這種可編譯目錄才可以新建 Java 類和包,這一點需要牢記。
    • Tests 一般用于標(biāo)注可編譯的單元測試目錄。在規(guī)范的 maven 項目結(jié)構(gòu)中,頂級目錄是 src,maven 的 src 我們是不會設(shè)置為 Sources 的,而是在其子目錄 main 目錄下的 java 目錄,我們會設(shè)置為 Sources。而單元測試的目錄是 src - test - java,這里的 java 目錄我們就會設(shè)置為 Tests,表示該目錄是作為可編譯的單元測試目錄。一般這個和后面幾個我們都是在 maven 項目下進行配置的,但是我這里還是會先說說。從這一點我們也可以看出 IntelliJ IDEA 對 maven 項目的支持是比較徹底的。
    • Resources 一般用于標(biāo)注資源文件目錄。在 maven 項目下,資源目錄是單獨劃分出來的,其目錄為:src - main -resources,這里的 resources 目錄我們就會設(shè)置為 Resources,表示該目錄是作為資源目錄。資源目錄下的文件是會被編譯到輸出目錄下的。
    • Test Resources 一般用于標(biāo)注單元測試的資源文件目錄。在 maven 項目下,單元測試的資源目錄是單獨劃分出來的,其目錄為:src - test -resources,這里的 resources 目錄我們就會設(shè)置為 Test Resources,表示該目錄是作為單元測試的資源目錄。資源目錄下的文件是會被編譯到輸出目錄下的。
    • Excluded 一般用于標(biāo)注排除目錄。被排除的目錄不會被 IntelliJ IDEA 創(chuàng)建索引,相當(dāng)于被 IntelliJ IDEA 廢棄,該目錄下的代碼文件是不具備代碼檢查和智能提示等常規(guī)代碼功能。
    • 通過上面的介紹,我們知道對于非 maven 項目我們只要會設(shè)置 src 即可。
  • 如上圖箭頭所示,被標(biāo)注的目錄會在右側(cè)有一個總的概括。值得一提的是 classes 雖然是 Excluded 目錄,但是由于它的特殊性且不可編輯,所以不顯示在這里。
  • 如上圖標(biāo)注 1 所示,如果要去掉目錄的標(biāo)注含義,可以點擊打叉按鈕進行刪除。

http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/images/xxi-b-eclipse-project-settings-5.jpg" alt="Eclipse 項目配置" />

  • 如上圖標(biāo)注 1 所示,這是一個單 Module 的項目,Module 的編譯輸出目錄可以跟 Project 的項目輸出目錄一致,都是 WebRoot 下的 classes 目錄。

http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/images/xxi-b-eclipse-project-settings-6.jpg" alt="Eclipse 項目配置" />

  • 如上圖紅圈所示,這里顯示項目的所有依賴包,其中紅色表示 IntelliJ IDEA 無法識別。IntelliJ IDEA 支持一個一個導(dǎo)入依賴包,也支持直接導(dǎo)入一個目錄下的所有依賴包。上圖的這種就是一個一個具體化的依賴包。除非你的項目各個依賴包有存在依賴順序關(guān)系,不然不建議一個一個引入,這樣比較麻煩。所以我這里會先把這些零散的依賴包全部去除掉,然后按目錄來引入。
  • 如上圖標(biāo)注 1 所示,依賴包支持這五種操作。
  • 加號,表示可以引入新依賴包。
  • 減號,表示可以去除對應(yīng)的依賴包。
  • 向上箭頭,表示依賴包可以向上移動位置。依賴包越上面的表示在項目加載的時候越是優(yōu)先,所以對于同一個依賴包,不同版本,依賴順序不同,結(jié)果也可能會是大不相同的。
  • 向下箭頭,表示依賴包可以向下移動位置,原因同上。
  • 筆,表示可以編輯依賴包的名稱和路徑。

http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/images/xxi-b-eclipse-project-settings-7.jpg" alt="Eclipse 項目配置" />

  • 如上圖所示,引入依賴包支持 jar 包和目錄,以及已經(jīng)導(dǎo)入項目的 Libraries 中的依賴包。多 Module 的項目還可以依賴其他 Module。

http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/images/xxi-b-eclipse-project-settings-8.gif" alt="Eclipse 項目配置" />

  • 由于我們剛剛?cè)サ袅思t圈中的所有依賴包,所以我們現(xiàn)在還需要導(dǎo)入依賴包。在導(dǎo)入之前我們先把項目的 lib 作為一個總的依賴包放置到項目 Libraries 中。如上圖 Gif 演示,就是把 lib 目錄轉(zhuǎn)換成一個依賴包。這樣的好處是,當(dāng)我們項目需要添加新依賴包時,我們只要放置在 lib 目錄下即可自動被項目引入,原因就是我們這里引的是目錄,而不是一個一個依賴包。

http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/images/xxi-b-eclipse-project-settings-9.jpg" alt="Eclipse 項目配置" />

  • 如上圖標(biāo)注 1 所示,引入剛剛放置好的 Librarieslib 依賴包。

http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/images/xxi-b-eclipse-project-settings-10.gif" alt="Eclipse 項目配置" />

  • 對于傳統(tǒng)的 Java Web 項目,我們一般還需要指定配置 web.xml 位置。如上圖 Gif 演示,這個一般在 Facts 中進行配置。Facts 可以理解為用于配置項目的框架區(qū),在這里管理項目使用的框架配置文件。這個是 IntelliJ IDEA 特有的一個配置點。
  • 除了 web.xml 一般我們要配置外,其他一些框架,即使我們不在這里配置也是不會影響項目的運行的,但是是有缺點的,比如我們項目中一般都是有 Spring 框架的,而 Spring 是有很多配置文件的,如果我們在這里進行了配置,那你會發(fā)現(xiàn) IntelliJ IDEA 編輯區(qū)底部會多出現(xiàn)幾個 Spring 項目的設(shè)置區(qū),原因就是你告訴了 IntelliJ IDEA,你的項目使用了 Spring 框架,那 IntelliJ IDEA 就會出現(xiàn)其對應(yīng)的配置功能給你。Hibernate 等其他框架道理一樣。

http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/images/xxi-b-eclipse-project-settings-11.gif" alt="Eclipse 項目配置" />

  • Artifacts 也是 IntelliJ IDEA 特有的一個概念,我們可以理解這里是配置項目最終輸出結(jié)果的地方。比如 Java Web 項目我們一般必備一個配置就是要配置成一個 war 包展開的方式,這樣容器才能運行該項目。上圖 Gif 演示的就是配置一個 war 包展開的輸出結(jié)構(gòu)。其結(jié)構(gòu)是由于前面的幾項配置決定,所以如果前面的 Module 配置沒有多大問題,這里可以省去一些配置步驟。但是有些時候我們也是需要做一些修改,比如此項目的輸出目錄默認(rèn)生成的是錯誤,我改為了項目中的 webRoot 目錄。
  • Artifacts 配置,等下在配置 Tomcat 的時候也會引用到,所以這里需要重點注意下。

Tomcat 配置

http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/images/xxi-c-eclipse-project-tomcat-settings-1.gif" alt="Tomcat 配置" />

  • 如上圖 Gif 所示,為項目整體的一個 Tomcat 配置過程,有些需要特別講解的,我們將在下面進行分解。

http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/images/xxi-c-eclipse-project-tomcat-settings-2.jpg" alt="Tomcat 配置" />

  • 如上圖彈出層所示,IntelliJ IDEA 支持目前市場上主流的應(yīng)用容器,所以基本上一個 IntelliJ IDEA 足夠我們開發(fā)常見的項目。但是這里有一點需要提醒的,IntelliJ IDEA 支持這些容器但是不等同于幫我們自帶了這些容器的文件,所以上面的 Gif 演示中,原本我只有引入 Tomcat 7,但是為了這個項目我又引入了 Tomcat 6,而引入的 Tomcat 6 我只是指定了其存放的目錄位置 IntelliJ IDEA 自動會識別到。

http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/images/xxi-c-eclipse-project-tomcat-settings-3.jpg" alt="Tomcat 配置" />

  • 如上圖標(biāo)注 1 所示,我們可以隨時為項目切換不同的容器。
  • 如上圖標(biāo)注 2 所示,我們可以指定給運行的容器設(shè)置 VM 參數(shù)。
  • 如上圖標(biāo)注 3 所示,這分別是在兩種命令下的觸發(fā)的事件。這個是 IntelliJ IDEA 特有的,也是重點。
  • On Update action 當(dāng)我們按 Ctrl + F10 進行容器更新的時候,可以根據(jù)我們配置的這個事件內(nèi)容進行容器更新。其中我選擇的 Update classes and resources 事件是最常用的,表示我們在按 Ctrl + F10 進行容器更新的時候,我們觸發(fā)更新編譯的類和資源文件到容器中。在 Debug 模式下,這個也就是所謂的 HotSwap。只是這種熱部署沒有 JRebel 插件那樣好用。
  • On frame deactivation 當(dāng)我們切換 IntelliJ IDEA 到瀏覽器的時候進行指定事件更新,這個一般是因為 Web 開發(fā)的時候,我們需要經(jīng)常在 IntelliJ IDEA 和各個瀏覽器之間來回切換測試,所以才有了這種需求。IntelliJ IDEA 是為了幫我們在做這種無聊切換的時候做一些指定事情。當(dāng)然了,如果切換過于頻繁,這個功能還是很耗資源的,所以我設(shè)置的是 Do nothing 表示切換的時候什么都不做。
  • 如上圖標(biāo)注 4 所示,默認(rèn) Tomcat 的 HTTP 端口是 8080,如果你需要改其端口可以在這里設(shè)置。
  • 如上圖標(biāo)注 5 所示,這個知識點在前面的文章已經(jīng)有講過了。這里表示在 Tomcat 容器運行前做什么事情,這里分別了:Make 和 Build Artifacts 操作。如上面 Gif 演示,這里的 Build Artifacts 是我們在 Deployment 選項卡中添加了 Artifact 之后自動出現(xiàn)的。

Tomcat 啟動

  • 通過上面的配置,IntelliJ IDEA 環(huán)境配置算是配置好了,現(xiàn)在配置下該項目相關(guān)的。
  • 打開你的 Mysql,執(zhí)行下面腳本,創(chuàng)建一個新的數(shù)據(jù)庫和用戶:
CREATE DATABASE `jsprun` CHARACTER SET utf8;
CREATE USER 'jsprun'@'localhost' IDENTIFIED BY 'jsprun';
GRANT ALL PRIVILEGES ON jsprun.* TO 'jsprun'@'localhost';
FLUSH PRIVILEGES;
  • 切換到上面新建的 jsprun 數(shù)據(jù)庫中執(zhí)行項目中這個數(shù)據(jù)腳本,文件位置:JspRun\WebRoot\install\jsprun_zh_CN.sql
  • 修改 JspRun\WebRoot\config.properties 文件中的幾個屬性為下面內(nèi)容:
  • dbuser = jsprun
  • dbpw = jsprun

http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/images/xxi-d-eclipse-project-tomcat-run-1.gif" alt="Tomcat 啟動" />

  • 如上圖 Gif 演示,我們?nèi)鄙僖?Tomcat 的依賴包。

http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/images/xxi-d-eclipse-project-tomcat-run-2.gif" alt="Tomcat 啟動" />

  • 如上圖 Gif 演示,我們引入 Tomcat 的依賴包之后,可以運行該項目。

http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/images/xxi-d-eclipse-project-tomcat-run-3.jpg" alt="Tomcat 啟動" />

  • 如上圖所示,為最終項目運行效果圖。

Tomcat 停止

http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/images/xxi-e-eclipse-project-tomcat-stop-1.gif" alt="Tomcat 停止" />

  • 如上圖所示,停止按鈕是要按兩次,第一按完出現(xiàn)一個骷髏頭并不是停止,需要再點擊一次。
  • 有時候即使點了兩次,Tomcat 容器也不一定能完全停掉,這時候很容易出現(xiàn)端口被占用的操作,這時候你需要打開系統(tǒng)的資源管理器,手動 kill 系統(tǒng)上所有的 java 進程。

輸出 war 壓縮包

http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/images/xxi-e-eclipse-project-output-war-1.gif" alt="Tomcat 輸出 war 包" />

  • 如上圖 Gif 所示,除了在 Artifacts 中需要配置,還需要在容器中也跟著配置,這樣在啟動容器的時候才會輸出一個 war 壓縮包。
  • 通過配置,我們也知道 war 的壓縮包本質(zhì)是根據(jù)展開的 war 輸出包進行壓縮的得來。