文件包War包

PS:今天上午,非常郁闷,有很多简单基础的问题搞得我有些迷茫,哎,代码几天不写就忘。目前又不当COO,还是得用心记代码哦!

    war是一个JAR文件,其内容包含: JSP页面,JavaServlet,Java classes,XML文件,标签库,静态页面以及其它构成(constitute)Web应用程序的资源。

    

结构特征

    文件和包

    

  •  一个web.xml文件;
  •  全部的JAR文件放在/WEB-INF/lib目录中;
  • 全部的.class文件放在/WEB-INF/classes目录中。
  • META-INF这个目录直接放在war中,与WEB-INF目录是统一级的,一般只有一个文件:MANIFEST.MF。

    一般来说,须要辨别的主要是两个目录,一个是WEB-INF目录,一个是根目录下除WEB-INF以外的目录。前者有访问掩护,后者则可以被公开访问。

    

应用上下文(application context)

    每一个war文件都有一个应用上下文,这个上下文就是一个相对于应用服务器完全限定域名(full qualified domain name)的保存命名空间(reservednamespace)。这个命名空间的名字默认是war包的文件名。

    比如你的服务器的完全限定域名是:http://localhost:8080/,而你的war文件的名字是webapp.war,那么访问这个war包中的文件,就须要应用如下方法: http://localhost:8080/webapp

    

web.xml

    web.xml用来定义web应用程序的结构。如果只有JSP页面,web.xml甚至可以没有。

    如果有servlet,则须要在web.xml中配置一个URL将导向哪一个servlet。同时,也可以在web.xml文件中配置上下文变量供servlet应用。

    

优/缺陷

    长处:

    每日一道理
漫漫人生路,谁都难免会遭遇各种失意或厄运。在凄风苦雨 惨雾愁云的考验面前,一个强者,是不会向命运低头的。风再冷,不会永远不息;雾再浓,不会经久不散。风息雾散,仍是阳光灿烂。

    

  • 易于开辟,测试和部署;
  • 宣布的版本易于识别;
  • 全部的J2EE容器都支持WAR文件。

    缺陷:

    

  • 任何纤细的改动都须要从新生成和部署整个war文件。

    

JBoss

    在jboss中,默认有一个ROOT.war。我们可以删除ROOT.war文件,而应用自己的war包作为上下文根(context root)。在JBOSS中有两种方法来应用自己的context root:

    

  • 用自己的内容替换ROOT.war文件中的内容;
  • 直接删除ROOT.war文件,在自己war包的WEB-INF目录中添加jboss-web.xml文件:
<?xml version="1.0" encoding="UTF-8"?>  

<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.3//EN"   "http://www.jboss.org/j2ee/dtd/jboss-web_3_0.dtd"> 

<jboss-web>

 <context-root>/</context-root>

 </jboss-web>
jboss-web.xml中的context-root元素会告诉jboss,把war文件中的内容加载到应用服务器的根上下文中,所以像 http://localhost:8080/这个请求,将会由你的war包来处理。

文章结束给大家分享下程序员的一些笑话语录: 人工智能今天的发展水平:8乘8的国际象棋盘其实是一个体现思维与创意的强大媒介。象棋里蕴含了天文数字般的变化。卡斯帕罗夫指出,国际象棋的合法棋步共有1040。在棋局里每算度八步棋,里面蕴含的变化就已经超过银河系里的繁星总数。而地球上很少有任何数量达到这个级别。在金融危机之前,全世界的财富总和大约是1014人民币,而地球人口只有1010。棋盘上,所有可能的棋局总数达到10120,这超过了宇宙里所有原子的总数!经典语录网

--------------------------------- 原创文章 By
包和目录
---------------------------------

原文地址:https://www.cnblogs.com/xinyuyuanm/p/3098841.html