Tomcat中的Web应用

Web应用就是具有特定目录结构的目录和文件。

基于JAVA技术开发的Web应用中通常会包含以下的web对象:

  • 静态文件对象:HTML页面,图片,普通文件
  • Servlet: 依据Servlet规范实现的java类,可以以编译后的class文件出现,也可以以包含class文件的jar包出现
  • JSP文件:符合JSP规范的动态页面

实际上Web应用就是文件系统中的一个目录,称为Web应用根目录,该目录中包括: 访问该Web应用所需要的资源,以及Web应用本身的配置文件和描述文件。不同的Web服务器,对在其上部署的Web应用的根目录结构有不同的要求。而在Tomcat下,Web应用有如下目录结构:

顶节点是Web应用根目录,所有静态文件对象可以按任意目录层次放置在Web应用根目录中,比如结构图中的Web.jsp可以直接隶属于根目录,也可以隶属于根目录中的某个文件夹下,而这些文件都可以根据其目录层次通过URL直接访问。

WEB-INF是一个特殊的子目录,它只能置于根目录之下,它 不会让客户端直接访问其中的文件,而是间接地支持Web应用的运行,比如提供Web应用需要访问的资源文件,放置Web应用的属性文件和配置文件。其主要包括lib目录,classes目录,Web.xml文件。

  • lib目录:主要存放Web应用所要使用的库文件
  • classes目录: 主要存放Web应用使用的class文件
  • Web.xml: 其是Web应用描述符,用于设置Web应用特有的配置

Web应用的上下文路径

部署到Tomcat的Web应用可以有多个,该怎么区分他们呢?这时候就会用Tomcat以及相关的Host路径来定义Web应用特有的路径,以便于准确定位Web应用。每个Host中可以有多个Web应用,则需要每个Web应用的路径是唯一的,例如:在localhost中有2个Web应用,路径分别为app1和app2,则访问他们的URL就可以表示为:http://localhost:8080/app1, http://localhost:8080/app2

反之,Tomcat也可以根据客户端请求的URL的前缀来将请求发送给相应的Web应用

注意: Web应用上下文路径与根目录名称是两个不同概念,这两个值未必是一样的。

Tomcat基础教程(三)的更多相关文章

  1. Tomcat基础教程(二)

    上一篇说到了Tomcat的介绍,下载及安装,这一篇我会详述Tomcat服务器结构 一.Tomcat服务器结构图: Tomcat服务器中可以配置多个Service,每个Service可以包含多个Conn ...

  2. Tomcat基础教程(四)

    一.将Web应用部署到Tomcat中 为什么要部署?将Web应用部署到Tomcat中,那么Tomcat就能找到相应的Web应用,当Tomcat启动时就会加载和初始化Web应用,而在Tomcat启动后, ...

  3. Tomcat基础教程(一)

    Tomcat, 是Servlet和JSP容器,其是实现了JSP规范的servlet容器.它在servlet生命周期内包容,装载,运行,和停止servlet容器. Servlet容器的三种工作模式: 1 ...

  4. SpringCloud2.0 Eureka Client 服务注册 基础教程(三)

    1.创建[服务提供者],即 Eureka Client 1.1.新建 Spring Boot 工程,工程名称:springcloud-eureka-client 1.2.工程 pom.xml 文件添加 ...

  5. mysql基础教程(三)-----增删改、子查询、创建管理表、约束和分页

    插入 INSERT语句语法 从其它表中拷贝数据 • 不必书写 VALUES 子句. • 子查询中的值列表应与 INSERT 子句中的列名对应 update语句 • 可以一次更新多条数据. • 如果需要 ...

  6. MySQL8.0关系数据库基础教程(三)-select语句详解

    1 查询指定字段 在 employee 表找出所有员工的姓名.性别和电子邮箱. SELECT 表示查询,随后列出需要返回的字段,字段间逗号分隔 FROM 表示要从哪个表中进行查询 分号为语句结束符 这 ...

  7. git基础教程(三)

    3.github与git同步 3.1 配置公私钥 3.2 github上建立个人仓库 3.3 本地仓库同步到github #将本地仓库与远端仓库建立连接 #用简写名代替后面的远端连接 git remo ...

  8. SpringCloud2.0 Hystrix Feign 基于Feign实现断路器 基础教程(七)

    1.启动[服务中心]集群,工程名:springcloud-eureka-server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) 2.启动[服务提供者]集 ...

  9. SpringCloud2.0 Feign 服务发现 基础教程(五)

    1.启动[服务中心]集群,即 Eureka Server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) 2.启动[服务提供者]集群,即 Eureka Cli ...

随机推荐

  1. TestNG关键字和testNG.xml结构学习

    转自官网:http://testng.org/doc/documentation-main.html#test-results TestNG关键字 @BeforeSuite@AfterSuite@Be ...

  2. AngularJS $on $broadcast $emit

    如何在作用域之间通信呢?    1.创建一个单例服务,然后通过这个服务处理所有子作用域的通信.    2.通过作用域中的事件处理通信.但是这种方法有一些限制:例如,你并不能广泛的将事件传播到所有监控的 ...

  3. OpenERP新手易犯错误之res.model

    接触OpenERP的人都感慨资料之少,尤其是XML中,出点错是相当郁闷的.尤其是新手.什么都别说了,有图有真相. 视图中关联模型name="model" ,而动作中name=&qu ...

  4. javascript、js操作json方法总结(json字符创转换json对象)

    相信前端的同学们对json并不陌生,接触过很多.但是很少人知道json的全称是什么,哈哈,我也是查资 料知道的.(JSON JavaScript Object Notation是一种轻量级的数据交换格 ...

  5. FusionCharts的使用入门

    1. Fusioncharts 介绍: Fusioncharts是一个基于Flash的图表组件,可以用来提供数据驱动的动态图标,fusioncharts可用于任何网页脚本语言如, HTML格式,JSP ...

  6. Cocos2d-X学习——Android移植,使用第三方库.so被删掉问题

    2014-05-26 导语:Cocos2dx在安卓上移植的时候,增加第三方库,却发现新加的so库被删掉了. 正文: 1.我的环境: cocos2d-x 2.2.3, ndk-r9 2.网上找了非常多, ...

  7. JQuery请求WebService返回数据的几种处理方式

    打开自己的博客仔细浏览了一番,发现已经好久没有写博客了,由于最近一直比较忙碌懈怠了好多.默默反省三分钟.......言归正传,现在就对最近在学习webservice的过程中遇到的几种类型的问题中我的理 ...

  8. hdu1258 Sum It Up (DFS)

    Problem Description Given a specified total t and a list of n integers, find all distinct sums using ...

  9. Reso | The Linux Command Line 的中文版

    http://book.haoduoshipin.com/tlcl/book/zh/ 本书是 The Linux Command Line 的中文版, 为大家提供了多种不同的阅读方式. 中英文双语版- ...

  10. mac下使用brew安装svn javahl的问题

    eclipse老提示javahl太久必须得1.8以上,以前不知道什么时候在/usr/bin装过1.7的svn. 1. 删除1.7的svn sudo rm /usr/bin/svn 2.使用brew安装 ...