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. 字符编码 ASCII,Unicode 和 UTF-8 概念扫盲

    今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料. 结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚. 下面就是我的笔记,主要用来整理自己的思 ...

  2. 【java基础】--(3)javaIO详细阐释

    1.总的4类 字符:Reader 和Writer 字节:InputStream和OutputStream 2.Reader 六个子类BufferedReader, CharArrayReader, F ...

  3. kafka单机安装配置

    1.下载kafka wget https://www.apache.org/dyn/closer.cgi?path=/kafka/0.8.2.1/kafka_2.9.2-0.8.2.1.tgz 2.解 ...

  4. javascript 鼠標拖動功能

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. Git学习之添加远程仓库

    好久没有写过博客了,只因人生世事无常! 前言:说实话,早就听说了Git这个代码管理工具的NB之处,却一直没有时间好好学习下.现在终于有时间学习一下这个伟大的工具,在此写下在学习过程中遇到的问题! 推荐 ...

  6. scala中常用但其他语言不常见的符号含义

    本文旨在介绍Scala在其他语言中不太常见的符号含义,帮助理解Scala Code. 随着我对Scala学习的深入,我会不断增加该篇博文的内容. 修改记录 ----2016.11.23  新增scal ...

  7. WAMP 环境下,YII创建失败 提示 "'php.exe' 不是内部或外部命..."

    现象: http://www.yiichina.com/guide/quickstart.first-app 使用这里的命令  % YiiRoot/framework/yiic webapp WebR ...

  8. Decorator Wrapper 装饰模式 包装

    简介 装饰模式 装饰模式以对客户端[透明]的方式[扩展]对象的功能,客户端并不会觉得对象在装饰前和装饰后有什么不同,是继承关系的一个替代方案. 若只为增加功能而使用继承,当基类较多时会导致继承体系越来 ...

  9. android中获取时间

    android中获取时间 1)通过calendar类获取 Calendar calendar = Calendar.getInstance();int moth = calendar.get(Cale ...

  10. OUTPUT 在insnert delete update 的神奇功效

    Inserted   deleted  个人理解 应该是两个 临时表   分别存储 变动后的数据集  和  变动前的数据集 使用例子: 1.对于INSERT,可以引用inserted表以查询新行的属性 ...