1. 程式人生 > >IDEA 和 eclipse專案部署

IDEA 和 eclipse專案部署

Web應用部署:

    每當有部署描述符時,它必須命名為web.xml,並且必須放在WEB-INF目錄下。Java類必須放在WEB-INF/classes目錄中,Java類庫必須放在WEB-INF/lib目錄中。所有的應用程式資源則必須打包成一個以war為副檔名的檔案。war檔案相當於jar檔案。
  • 所有的資源都要放在war檔案中,但是不要包含java原始檔。需要用到該應用程式的任何人只需要複製一份war檔案,並將它部署到一個Servlet/JSP容器中即可

專案匯出

eclipse中將動態web專案匯出為war檔案,並將war檔案部署在tomcat上執行
war檔案:web application api web應用程式文件

將war檔案,移到tomcat目錄下的 webapp目錄下, 在終端啟動tomcat,war檔案會自動解壓縮。
打包可以在eclipse下打包, 也可以在終端使用命令列打包。
在專案 WebContent目錄下 jar -cvf Name.war

在給JavaWeb打包的過程中,會發現:將war包拉到tomcat的webapp目錄下,然後開啟tomcat服務,war會自動解壓,而解壓出來的東西,就是WebContent下的所有東西。

然後就可以開啟這個web專案,簡單的說WebContent下就是tomcat啟動服務所需要的所有東西。

所以我們Web專案的編譯輸出目錄,要在WebContent/WEB-INF/classes下,這樣tomcat才能找到執行編譯出來的檔案

WEB-INF目錄

/WEB-INF/web.xml
    你的Web應用程式配置檔案,這是一個XML檔案,其中描述了 servlet 和其他的應用元件配置及命名規則;


/WEB- INF/classes/
    這個目錄包含了站點所有用的 class 檔案,包括 servlet class 和非servlet class,他們不能包含在 .jar檔案中。
    站點的類的存放規則應該按照Java的打包規則執行。例如: 有一個類命名為 com.mycompany.mypackage.MyServlet, 
    你應該按照以下形式部署: /WEB-INF/classes/com /mycompany/mypackage/MyServlet.class ;
    按照包名結構放置各個類(JavaBean   和   Servlet)   


/WEB- INF/lib/
    存放web應用需要的各種JAR檔案,放置僅在這個應用中要求使用的jar檔案,如資料庫驅動jar檔案


/WEB- INF/src/
    src=source 原始碼目錄,按照包名結構放置各個java檔案


/WEB- INF/database.properties
    資料庫配置檔案
        # database.properties
        jdbc.drivers = com.mysql.jdbc.Driver
        jdbc.url = jdbc:mysql://localhost/ams2
        jdbc.username = root
        jdbc.password = psw

        # table define
        ams2.table.dialogue = content_dialogue
        ams2.table.expansion = content_expansion_sentence
        ams2.table.vocabulary = content_vocabulary

META-INF

相當於一個資訊包,目錄中的檔案和目錄獲得Java 2平臺的認可與解釋,用來配置應用程式、擴充套件程式、類載入器和服務
manifest.mf檔案,在用jar打包時自動生成

下面是我從eclipse專案拉到IDEA中的配置過程

  • IDEA專案配置,便以輸出目錄必須要在WEB-INF/Classes下

IDEA專案配置,便以輸出目錄必須要在WEB-INF/Classes下

  • 配置部署描述檔案web.xml以及web資源目錄

配置部署描述檔案web.xml以及web資源目錄

  • 模組依賴部分,需要將紅色的刪掉,新增進需要的lib包,同時新增tomcat

模組依賴部分,需要將紅色的刪掉,新增進需要的lib包,同時新增tomcat

Libraries Facets 和 Aritifacts就根據提示配置即可

Maven專案的classes則是預設在target下