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类在得到这些数据之后再进行数据相关的工作,如存入数据库,给出相关统计数据等等。
3.常见问题
为什么WEB服务通常打出来的都是War包?
Java web工程,都是打成war包,进行发布,打成war包的好处是不会缺少目录,并且只管理好一个发布文件就好,并且tomcat服务器能够自动识别,将war包放在tomcat容器的webapps下,启动服务,即可运行该项目,该war包会自动解压出一个同名的文件夹。
除了War包,还有几种打包格式,他们之间的区别呢?
4.解决方案
5.编码实战
6.扩展思考
第一,怎么运行一个war包。第二,Tomcat服务器是怎么样解析这个war包的。
对于第一个问题,我们只需要把打好的war包拷贝到Tomcat的webapps目录下,Tomcat服务器会自行解压这个包。
第二个问题,如图。
这里注意,待匹配的URL是如何得到的,
访问的URL - web应用的根目录 = 待匹配的URL
比如:
浏览器输入的URL是:localhost:8080/myapp/table
web的根目录是:localhost:8080/myapp
那么待匹配的URL是:/table,则web.xml中关于servlet的匹配规则,url-patern就要与此URL一致了。
根据URL找到该servlet之后,就找到了该servlet下的类,应用就开始运行了。
7.参考文献
//www.greatytc.com/p/ad644c5b6426
http://blog.csdn.net/kingmax54212008/article/details/52316250
8.更多讨论
https://ptteng.github.io/PPT/PPT-java/java-task2war%E5%8C%85.html#/