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. hdu 1754 线段树模板题

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1754 #include <cstdio> #include <cmath> # ...

  2. PHP 生命周期,Opcode 缓存。

    1.php 执行的生命周期. 用户发出请求---->.php--->词典扫描--->解析--->创建Opcode--->处理opcode--->响应 这就是php的 ...

  3. [转]机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理)

    机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理) 转自http://www.cnblogs.com/tornadomeet/p/3395593.html 前言: 找工作时(I ...

  4. 跨平台通信中间件thrift学习【Java版本】(转)

    转自:http://neoremind.com/2012/03/%E8%B7%A8%E5%B9%B3%E5%8F%B0%E9%80%9A%E4%BF%A1%E4%B8%AD%E9%97%B4%E4%B ...

  5. 想挑战AlphaGO吗?先和PostgreSQL玩一玩?? PostgreSQL与人工智能(AI)

    1月4日晚,随着古力认输,Master对人类顶尖高手的战绩停留在60胜0负1和,而令人尴尬的是这唯一一场和棋还是因为棋手掉线系统自动判和,并不是棋盘上的局势真的势均力敌了.包括聂卫平.柯洁.朴廷桓.井 ...

  6. loadView,viewDidLoad等几种方法的调用总结

    viewDidLoad 此方法只有当view从nib文件初始化的时候才被调用.viewDidLoad用于初始化,加载时用到的. loadView 此方法在控制器的view为nil的时候被调用.虽然经常 ...

  7. [转] jquery 使用方法

    jquery 使用方法 jQuery是目前使用最广泛的javascript函数库.据统计,全世界排名前100万的网站,有46%使用jQuery,远远超过其他库.微软公司 甚至把jQuery作为他们的官 ...

  8. PHP: 深入pack/unpack <转> [链接]

    PHP: 深入pack/unpack PHP: chr和pack.unpack那些 PHP: pack/unpack补遗

  9. FineUI开发实践-目录

    点我订阅 目前所有博客的截图,方便离线观看,点图片 FineUI初学手册 下载,实例项目搭建 FineUI初学手册-部分JS整理 部分JS整理 ASP.NET-FineUI开发实践-1 实际开发环境是 ...

  10. HDU3480

    题意:给你n个数,然后让你分成m个集合,每个集合有一个值(最大值减最小值,然后平方),求整个集合的可能最小值. 思路:因为每个集合里的值只和最大和最小值有关,所以很容易想到先排序,然后用DP可求得解, ...