War包是什么,为什么WEB服务通常打出来的都是War包?除了War包,还有几种打包格式,他们之间的区别呢?

java小课堂

分享人:刘子源

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

WAR是Sun提出的一种Web应用程序格式,是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录。通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类。

2.知识剖析

一个war包有什么样的结构

war包就是一个web应用的打包格式,一个web应用,需要一个用户交互的界面,负责给用户提供信息输入的地方,即jsp页面。数据需要保存下来,jsp把网页上的数据穿送给后台的java类,java类在得到这些数据之后再进行数据相关的工作,如存入数据库,给出相关统计数据等等。

一个基本的war包的目录结构,根目录下有一个index.jsp文件,是应用的界面,然后有一个WEB-INF文件夹,这个是war包的核心,在WEB-INF文件夹有web.xml文件,lib文件夹下存的是需要用到的外部依赖的jar包,classes下存的是带包名结构的java类,因为包名和文件目录是一一对应的关系,所以在classes文件夹下就会看到和包名一致的目录结构,最后一层就是编译好的class文件。

3.常见问题

为什么WEB服务通常打出来的都是War包?

Java web工程,都是打成war包,进行发布,打成war包的好处是不会缺少目录,并且只管理好一个发布文件就好,并且tomcat服务器能够自动识别,将war包放在tomcat容器的webapps下,启动服务,即可运行该项目,该war包会自动解压出一个同名的文件夹。

除了War包,还有几种打包格式,他们之间的区别呢?

4.解决方案

5.编码实战

6.扩展思考

第一,怎么运行一个war包。第二,Tomcat服务器是怎么样解析这个war包的。

对于第一个问题,我们只需要把打好的war包拷贝到Tomcat的webapps目录下,Tomcat服务器会自行解压这个包。

第二个问题,如图。

7.参考文献

http://www.jianshu.com/p/ad644c5b6426

http://blog.csdn.net/kingmax54212008/article/details/52316250

8.更多讨论

鸣谢

感谢观看,如有出错,恳请指正

BY : 刘子源