Tomcat相关问题汇总

2022-10-16
预计阅读时间:2分钟

1.Tomcat访问项目路径以外的资源

在javaweb项目中从页面预览(访问)静态资源是常见的场景,一般都是在项目下新建一个文件夹,将项目需要访问的静态资源全部上传到该文件夹里面,但是遇到项目部署时需要将移动大量的附件内容到另外的位置,跟随项目一起移动,很不方便,下面是Tomcat中访问项目以外的资源的两种方法:

(1)配置Tomcat虚拟目录

  • 该方案的好处是虚拟目录下的问价也可以类似于静态资源一样访问
  • 美中不足是上传资源时还需要上传到虚拟目录的绝对路径,在网上没做看到如何获取虚拟目录绝对路径的方法,绝决方案是配置一个properties文件,里面放置绝对路径,参考文章

(2)通过linux软连接实现

  • 该方案的好处就是可以和静态文件一样访问,只需要将资源上传到特定文件夹下面即可。
  • 缺点是需要通过linux命令对上述指定文件夹做软连接,连接完成后就其实是上传到了软连接的文件夹中
  • 需要配置Tomcat来支持软连接

1.1软连接介绍

  • 软连接命令
ln -s 源文件 目标文件

建立好软连接后,需要配置Tomcat安装目录中conf文件夹下context.xml来支持软连接,针对不同版本下的Tomcat,需要添加的配置内容如下:

  • Tomcat 5、6、7版本
<Context allowLinking="true" />
  • Tomcat 8、9版本
<Context>
	<Resources allowLinking="true" />
</Context>

通过上述配置,通过软连接访问项目目录外资源就大功告成了

  • 软连接注意事项

(1)删除软连接 :例如使用ln -s /home/data/pdfv /data/pdfv建立了软连接,则删除软连接需要需要使用rm -rf /data/pdfv 而不是rm -rf /data/pdfv/后者会吧文件夹中的文件全部删除

(2)使用IDE重新部署应用后会删除软连接的源目录下的文件

(3)重新部署项目后,软连接需要重新建立

2.Tomcat自定义配置jdk

catalina.sh开头配置如下内容:

# 配置需要启动的Tomcat目录
export CATALINA_HOME=data/apache-tomcat-8.5.72
# 配置启动Tomcat需要的jre环境
JAVA_HOME=/data/apache-8.5.72/jdk/jre
export JAVA_HOME
									------ 持续更新中,敬请期待 ------