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应用上下文路径与根目录名称是两个不同概念,这两个值未必是一样的。