java war包是什么_jar包和war包区别是什么?

java war包是什么_jar包和war包区别是什么?1.jar包的介绍JAR(JavaArchive,Java归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。JavaSE程序可以打包成Jar包(J其实可以理解为Java了)。JAR文件格式以流行的ZIP文件格式为基础。与ZIP文件不同的是,JAR文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和JVM这样的工具直接使用。在JA…

大家好,又见面了,我是你们的朋友全栈君。

1.jar包的介绍

JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。JavaSE程序可以打包成Jar包(J其实可以理解为Java了)。

JAR 文件格式以流行的 ZIP 文件格式为基础。

与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。

在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 JAR。

简单来说,jar包就是别人已经写好的一些类,然后对这些类进行打包。可以将这些jar包引入到你的项目中,可以直接使用这些jar包中的类和属性,这些jar包一般放在lib目录下。

2.war包的介绍

war是一个可以直接运行的web模块,通常用于网站,打成包部署到容器中。

以Tomcat来说,将war包放置在其\webapps\目录下,然后启动Tomcat,这个包就会自动解压,就相当于发布了。

war包是Sun提出的一种web应用程序格式,与jar类似,是很多文件的压缩包。

war包中的文件按照一定目录结构来组织。根据其根目录下包含有html和jsp文件,或者包含有这两种文件的目录,另外还有WEB-INF目录。

通常在WEB-INF目录下含有一个web.xml文件和一个classes目录,

web.xml是这个应用的配置文件,

而classes目录下则包含编译好的servlet类和jsp,或者servlet所依赖的其他类(如JavaBean)。

通常这些所依赖的类也可以打包成jar包放在WEB-INF下的lib目录下。

简单来说,war包是JavaWeb程序打的包,war包里面包括写的代码编译成的class文件,依赖的包,配置文件,所有的网站页面,包括html,jsp等等。一个war包可以理解为是一个web项目,里面是项目的所有东西。

3.区别:(WAR文件代表了一个Web应用程序,JAR是类的归档文件。)

如果一个Web应用程序的目录和文件非常多,那么将这个Web应用程序部署到另一台机器上,就不是很方便了,

这时可以将Web应用程序打包成Web 归档(WAR)文件,这个过程和把Java类文件打包成JAR文件的过程类似。

利用WAR文件,可以把Servlet类文件和相关的资源集中在一起进行发布。

在这个过程中,Web应用程序就不是按照目录层次结构来进行部署了,而是把WAR文件作为部署单元来使用。

一个WAR文件就是一个Web应用程序,建立WAR文件,就是把整个Web应用程序(不包括Web应用程序层次结构的根目录)压缩起来,指定一个.war扩展名。

要注意的是,虽然WAR文件和JAR文件的文件格式是一样的,并且都是使用jar命令来创建,

但就其应用来说,WAR文件和JAR文件是有根本区别的。

JAR文件的目的是把类和相关的资源封装到压缩的归档文件中,

而对于WAR文件来说,一个WAR文件代表了一个Web应用程序,它可以包含 Servlet、HTML页面、Java类、图像文件,以及组成Web应用程序的其他资源,而不仅仅是类的归档文件。

那么什么时候应该使用WAR文件呢?

在开发阶段不适合使用WAR文件,因为在开发阶段,经常需要添加或删除Web应用程序的内容,更新 Servlet类文件,而每一次改动后,重新建立WAR文件将是一件浪费时间的事情。

在产品发布阶段,使用WAR文件是比较合适的,因为在这个时候,几乎不需要再做什么改动了。

在开发阶段,我们通常将Servlet源文件放到Web应用程序目录的src子目录下,以便和Web资源文件区分。在建立WAR文件时,只需要将src目录从Web应用程序目录中移走,就可以打包了。

4.部署war包到Tomcat

1). 我这里工作中一般是开发打war包给测试,比如说现在测试拿到一个war包,名字叫test.war。

2). 打开Tomcat的安装路径 ,假设是“D:\Tomcat\apache-tomcat-7.0.68”,然后进入到 webapps文件夹中,把 test.war放到 webapps文件夹。

3). 启动Tomcat。

如果不需要更改配置文件:到这一步就可以了。

在浏览器输入“http:localhost:tomcat_port/test即可打开test项目的 index.jsp页面(port是自己的端口号)。如果test项目没有index.jsp页面,那就需要打开其他相应的页面。

如果需要更改配置文件:

4). 关闭 Tomcat。

5). 删除 test.war文件(如果在tomcat启动的状态下删去war包,解压好的文件夹也会被一并删除,所以需要在解压后停止tomcat, 然后删掉war包,这时再启动。这时项目文件夹就会被认为不是war解压而来。)。

6). 由于刚刚启动过Tomcat,Tomcat会自动解压缩test.war为 test文件夹。所以我们在webapps下面可以看到test文件夹。打开test文件夹更改配置文件即可。

7). 更新完配置之后,启动Tomcat。

8). 浏览器打开即可。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/142394.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • UE4(虚幻4)引擎下载与安装「建议收藏」

    UE4(虚幻4)引擎下载与安装「建议收藏」一.官网下载epic平台1.首先,在百度搜索UE4或者虚幻4,进入官网传送门<–戳这里2.右上角有一个下载按钮3.点击后会让你选择一个许可类型,如果是做游戏就选第一个(发行者许可)4.选完之后会提醒你登录,或者你可以在主页下载旁边的按钮提前登录,如果没有账号,点击下方注册(可能会很慢,或者黑屏,稍微等一等就好了)5.tip:我注册或者登录的时候…

  • 批处理中的多种注释方法[通俗易懂]

    批处理中的多种注释方法[通俗易懂]有些时候,我们需要在批处理中使用大段的注释,即连续的注释超过2行。那么,如何实现他呢?方法有很多种,本文仅列举其中的一部分。㈠、使用rem注意:注释中不能使用重定向符和管道符;当回显处于打开是时,

  • Python 编译器_如何在pe系统里安装软件

    Python 编译器_如何在pe系统里安装软件好久都没更新博客了,最近是真的很忙,每天抽出1小时写博客,有的时候更本没时间,今天写一个解析PE的一个软件,过程和内容很干,干货干货之前有很多人加我要资料和软件,我从来没说过要钱什么的,只要给个关注和点赞,就可以了,需要什么资料,只要我可以给,我会不要一分钱免费给你们资料,欢迎大家来评论博主?点个赞留个关注吧!!资料(百度网盘)提取码:i4ptPE解析软件和源代码包文件提取码:07bhPE解析器软件安装包提取码:r9og激活成功教程版打包软件–打包为安装包先看视频,双击打开

    2022年10月16日
  • 基金基础知识

    基金基础知识基金基础知识文章目录基金的基础知识基金分类基金交易基金的费用指数基金种类估值方法专有名词解释问题解答规则本篇文章仅限于本人学习基金的笔记。基金的基础知识基金是最适合普通人的投资工具,这里要讲的“基金”属于广义基金下的证券投资基金。证券投资基金通俗的讲就是大家把钱凑在一起统一交给基金公司管理,基金公司会任命基金经理专门打理这笔钱,用于投资股票、债券等。基金收益性:大多数人并不具备金融投资的知识和能力。但基金经理则不同,他们受过专业的教育,具备投资的知识和能力。怎样的收益

  • ES6模板字符串`的引用

    ES6模板字符串`的引用传统的JavaScript语言,输出模板通常是这样写的(下面使用了jQuery的方法)。$(‘#result’).append(‘Thereare<b>’+basket.count+'</b>’+’itemsinyourbasket,’+'<em>’+basket.onSale+'</em>areonsale!’);上面这种写法相当繁琐不方便,ES6引入了模板字符串解决这个问题。

  • linuxchmod用法_chmod 指定用户

    linuxchmod用法_chmod 指定用户chmod—-改变一个或多个文件的存取模式(mode)chmod[options]modefiles只能文件属主或特权用户才能使用该功能来改变文件存取模式。mode可以是数字形式或以whoopcodepermission形式表示。who是可选的,默认是a(所有用户)。只能选择一个opcode(操作码)。可指定多个mode,以逗号分开。

    2022年10月20日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号