jsp应用程序根目录和文档根目录的功能

本节对应用程序根目录(Application Roots )和文档根目录(Doc Roots) 提供了一个概述,并且介绍了Servlet 2.2 和Servlet 2.0 环境下它们功能的差异。

应用程序根目录和文档根目录的功能
本节对应用程序根目录(Application Roots )和文档根目录(Doc Roots) 提供了一个概述,并且介绍了Servlet 2.2 和Servlet 2.0 环境下它们功能的差异。
Servlet 2.2 环境下的应用程序根目录
    前面曾经提到过,Servlet 2.2 标准对每个应用程序都提供了它自己的Servlet 环境。每个Servlet 环境与文件系统的一个目录路径相关联,并将此路径作为应用程序中各个模块的相对基路径这个基路径。就是应用程序根目录,每个应用程序都有它自己的应用程序根目录。
    这与Web Server 使用文档根目录作为一个网络应用程序中各个HTML 页面和其他文件定位的根目录是相似的。
    对Servlet 2.2 环境下的应用程序来说,在应用程序根目录(用来存放Servlets 和JSP页面)和文档根目录(用来存放静态文件,如HTML 文档等)之间存在一对一的映射关系,它们在实质上是相同的。
请注意,Servlet 一般有如下通用形式的URL:
http://host[:port]/contextpath/servletpath
当一个Servlet 环境被创建的时候,在应用程序根目录和上面的URL 中的contextpath之间就会建立映射关系。
    例如:假设一个应用程序的根目录是/home/dir/mybankappdir, 并且它被映射到contextpath 是mybank, 如果应用程序有一个Servlet 它的路径是loginservlet ,那么此Servlet的URL 就是:
http://host[:port]/mybank/dir1/abc.html
对每个Servlet 平台来说,一般都有个缺省的Servlet 环境,它的contextpath 就是“/”,并且被映射到缺省的应用程序根目录。例如,假设应用程序的缺省根目录是/home/mydefaultdir ,并且应用程序中有一个Servlet ,它的路径是myservlet, 那么此Servlet的URL 就是:
     http://host[:port]/myservlet
    (如果在URL 中指定的contextpath 不存在,那么缺省的contextpath 就会被使用。)对HTML 文件来说,下面的URL 指向文件/home/mydefaultdir/dir2/def.html:
http://host[:port]/dir2/def.html
Servlet 2.0 环境下的应用程序根目录
   Apache/JServ 和其他的Servlet 2.0 环境还没有应用程序根目录的概念,因为它们只允许单个的应用程序环境,所有Web Server 的文档根目录就是应用程序的根目录。
     对Apache 来说文档根目录一般都是些形如“.../htdocs ”的目录,并且它还可能通过在http.conf 配置文件设置别名来指定虚拟文档根目录。
在Servlet 2.0 环境下,OracleJSP 对文档根目录和应用程序根目录提供如下的功能:
·缺省情况下OracleJSP 使用文档根目录作为应用程序根目录
·通过OracleJSP 的globals.jsa 机制你可以在文档根目录下设置一个目录作为任何
     一个应用程序的根目录,并且在此目录下要设置一个globals.jsa 文件来作为一个标记,通过这种机制,Servlet 2.0 就可以支持多个应用程序。

posted on 2010-05-27 14:54  画一个圆圈  阅读(296)  评论(0编辑  收藏  举报

导航