本来以为 Tomcat 是不支持热部署的。其实是支持的。

工作环境:

JDK 5,Eclipse 3.1.2,MyEclipse 4.1.1GA、Tomcat 5.5.16

假设工程名称是 Xnews,对应网站为 http://localhost:8080/Xnews

并假设 Tomcat 的安装目录为 %TomcatDir%

在 %TomcatDir%\conf\Catalina\localhost 目录下新建一个配置文件 Xnews.xml,内容如下:

<Context docBase="${catalina.home}/webapps/Xnews"
         privileged
="true" antiResourceLocking="true" antiJARLocking="true">

</Context>

重新启动 Tomcat,之后就可以在 MyEclipse 中使用 Redeploy 进行热部署了。

使用这种设置,每次重新启动 Tomcat 服务,会在 %TomcatDir%\temp 下新建一个项目副本

如 n-Xnews,其中 n 为从 0 开始的数字。

这种情况下使用 request.getRealPath() 方法得到的物理路径其实就是指向这个副本的物理路径而不是在 webapps 中的原始路径。

所以如果要使 request.getRealPath() 指向 webapps 原始路径,那么只能关闭这种热部署设定,即采用默认配置。

相关文章:

  • 2022-02-01
  • 2022-12-23
  • 2021-07-24
  • 2021-09-06
  • 2021-05-29
猜你喜欢
  • 2021-11-03
  • 2021-05-17
  • 2021-10-02
  • 2022-01-13
  • 2021-10-03
  • 2022-01-13
相关资源
相似解决方案