Jsp&Servelet 学习笔记- 在Tomcat中的servlet.xml使用Context元素

 
2.2 在Tomcat中的servlet.xml使用Context元素

 

我们想部署并且在重新部署一个servlet Tomcat 中时,并且不用重启Tomcat那该怎么做呢?

这样我们可以在servlet.xml中用作为一个Context元素来部署Servlet

你可以复制一个重新编译过的Servlet类来覆盖一个已经存在的Servlet 并且调用这个Servlet 从而达到不用重启Tomcat的效果

  1.  配置一个Context元素到<tomcat-installation-directory>/conf/server.xml文件中去。Context元素必须嵌套到Host元素中去,这个Host元素代表在你的Web 应用运行下的虚拟主机
  2. 在你的Context元素中配置 reloadble 属性 true。这个标记通知Tomcat去监视在WEB-INF/classes WEB-INF/lib目录下内容是否有任何的变化。如果Tomcat发现其中的变化,Tomcat将自动的重新载入这个web 应用。

这个Context 元素 server.xml 如下:

<Context className="org.apache.catalina.core.StandardContext" 
         crossContext
="false" reloadable="true" 
         mapperClass
="org.apache.catalina.core.StandardContextMapper" 
         useNaming
="true" debug="0" swallowOutput="false" 
         privileged
="false" displayName="Home Web App" 
         wrapperClass
="org.apache.catalina.core.StandardWrapper" 
//配置虚拟目录
         docBase
="h:home" cookies="true" path="/home" 
         cachingAllowed
="true" 
         charsetMapperClass
="org.apache.catalina.util.CharsetMapper"
>
  1.  

 

这个path属性描绘了一个应用的上下文路径。这个docBase属性指向这个Web 应用的最高目录(根目录)

在这个配置之下如果复制一个新的Servlet倒以前存在的Servlet 之上那么在Tomcat5.x中将会向后台控制台输出一个信息。来响应动态的Servlet的重载。

如下:

 

WebappClassLoader:   Resource '/WEB-INF/classes/com/mydev/OracleTest.
class' was modified;
Date is now: Sun Feb 02 22:17:41 EST 2007 Was: Sun Feb 02 21:38:52 EST 2007

 

阅读更多

没有更多推荐了,返回首页