- 内容提要
- 作者简介
- 译者简介
- 前言
- HTTP
- Servlet 和 JSP
- 下载 Spring 或使用 STS 与 Maven/Gradle
- 手动下载 Spring
- 使用 STS 和 Maven/Gradle
- 下载 Spring 源码
- 本书内容简介
- 下载示例应用
- 第 1 章Spring 框架
- 第 2 章模型 2 和 MVC 模式
- 第 3 章Spring MVC 介绍
- 第 4 章基于注解的控制器
- 第 5 章数据绑定和表单标签库
- 第 6 章转换器和格式化
- 第 7 章验证器
- 第 8 章表达式语言
- 第 9 章JSTL
- 第 10 章国际化
- 第 11 章上传文件
- 第 12 章下载文件
- 第 13 章应用测试
- 附录 A Tomcat
- 附录 B Spring Tool Suite 和 Maven
- 附录 C Servlet
- 附录 D JavaServer Pages
- 附录 E 部署描述符
A.3 定义上下文
要将 Servlet/JSP 应用程序部署到 Tomcat,需要显式或隐式定义一个 Tomcat 上下文。在 Tomcat 中,每一个 Tomcat 上下文都表示一个 Web 应用程序。
显式定义 Tomcat 上下文有几种方法,包括:
在 Tomcat 的 conf/Catalina/localhost 目录下创建一个 XML 文件。
在 Tomcat 的 conf/server.xml 文件中添加一个 Context 元素。
如果决定给每一个上下文都创建一个 XML 文件,那么这个文件名就很重要,因为上下文路径是从文件名衍生得到的。例如,把一个 commerce.xml 文件放在 conf/Catalina/localhost 目录下,那么应用程序的上下文路径就是 commerce,并且可以利用以下 URL 调用一个资源:
http://localhost:8080/commerce/resourceName上下文文件中必须包含一个 Context 元素,作为它的根元素。这个元素大多没有子元素,它是该文件中唯一的元素。例如,下面就是一个示例上下文文件,其中只有一行代码:
<Context docBase="C:/apps/commerce" reloadable="true"/>这里唯一必要的属性是 docBase,它用来定义应用程序的位置。reloadable 属性是可选的,但是如果存在,并且它的值设为 true,那么一旦应用程序中 Java 类文件或者其他资源有任何增加、减少或者更新,Tomcat 都会侦测到,并且一旦侦测到这类变化,Tomcat 就会重新加载应用程序。在部署期间,建议将 reloadable 值设为 True,在生产期间,则不建议这么做。
当把上下文文件添加到指定目录时,Tomcat 就会自动加载应用程序。当删除这个文件时,Tomcat 就会自动卸载应用程序。
定义上下文的另一种方法是在 conf/server.xml 文件中添加一个 Context 元素。为此,要先打开文件,并在 Host 元素下创建一个 Context 元素。与前一种方法不同的是,此处定义上下文需要给上下文路径定义 path 属性。下面举一个例子:
< Host name="localhost" appBase="webapps" unpackWARs="true"
autoDeploy="true">
< Context path="/commerce" docBase="C:/apps/commerce" reloadable="true" /> < /Host>一般来说,不建议通过 server.xml 来管理上下文,因为只有重启 Tomcat 后,更新才能生效。不过,如果有很多应用程序需要测试,你也许会觉得使用 server.xml 比较理想,因为可以在一个文件中同时管理所有的应用程序。
最后,通过将一个 war 文件或者整个应用程序复制到 Tomcat 的 webapps 目录下,还可以隐式地部署应用程序。
关于 Tomcat 上下文的更多信息,请通过以下网址查阅:
http://tomcat.apache.org/tomcat-8.0-doc/config/context.html绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论