小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

jar包與war包的差異

 印度阿三17 2019-10-20

一般將項目分為兩層:服務層和表現(xiàn)層(視圖層),通常我們把服務層打包成jar,而把視圖層的包打成war包。

?

仔細對比可以發(fā)現(xiàn):

jar包中包含了你寫程序的所有服務或者第三方類庫,它通常是作為幕后工作者,為視圖層用戶與之交換數(shù)據(jù)處理的一個服務者,jar文件格式以Zip文件格式為基礎,與Zip不同的是,它可以被發(fā)布,而且還能用于部署,它封裝了庫、組件和插件程序,并且可以被編譯器和jvm使用,在jar中還包含特殊的文件,如mainfests和部署的應用描述,用于指示工具如何處理特定的jar。

war文件可以看成一個web應用程序。與jar封裝不同的是:它內聚了很多頁面,如html、jsp,Servlet,js,css,icon圖片文件等等,當然還包括組成web應用的其他組件,這些文件基本沒有復雜業(yè)務邏輯的處理,基本上僅僅是用來當做程序的門戶負責與使用者交互而已。

這樣做的好處是:

第一,這樣做使代碼的層次分明,前后端分離;

第二,便于劃清前后端的職責,加快開發(fā)進度并且利于維護;

第三,那就是對于靠后期維護的項目來說,比如業(yè)務復雜多變而又瑣碎的項目,如果僅僅是改變前端的樣式或者進行調整,我不必把服務也關掉,只需要停掉web,做完修改后能夠馬上部署上線,針對寫過的項目來說,直接調用接口給到的返回結果可以根據(jù)需要只在頁面進行調用就能夠顯示,而服務端代碼一點都不需要變化,極大方便了開發(fā)。(使用了springboot后,項目都會被打包成jar,或者打包成war部署在外部容器中也可以)

從內部看:

war包中的目錄結構中包括WEB-INF,而war是一個可以直接運行的web模塊,做好一個web項目后,需要打包部署到容器中,一般放置在tomcat的\webapps\目錄下,當啟動tomcat時,這個包將被解壓,即相當于發(fā)布了。

而jar中一般都是些class文件,聲明了Main_cass后就可以用java命令去運行它。

所有的包都是用jar打的,只不過目標文件的擴展名不一樣。與jar類似,war也是許多文件的一個壓縮包。這個包中的文件按一定目錄結構來組織:通常其根目錄下包含之前所說的有Html和Jsp文件或者包含這兩種文件的目錄,另外還會有一個WEB-INF目錄,通常在WEB-INF目錄下有一個web.xml文件和一個classes目錄,web.xml是這個應用的配置文件,而classes目錄下則包含編譯好的Servlet類和Jsp或Servlet所依賴的其它類(如JavaBean)。通常這些所依賴的類也可以打包成JAR放到WEB-INF下的lib目錄下,當然也可以放到系統(tǒng)的CLASSPATH中,但那樣移植和管理起來不方便。

所以項目打包什么情況下使用war,什么情況下使用jar就很清楚的了。

?



?

來源:https://www./content-4-512751.html

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多