SpringBoot找不到JSP异常处理记录

SpringBoot找不到JSP异常处理记录

精选文章moguli202025-05-21 16:10:591A+A-

一、问题描述

有一个SpringBoot项目,采用的是内置的Tomcat服务,项目使用的是JSP,在项目发布到服务器以后,一切正常,偶尔会发生找不到某个JSP的异常,异常信息如下:

java.lang.ClassNotFoundException org.apache.jsp.XXXX_jsp

以上错误信息是偶发性的,并不能一直存在。

二、问题分析

在Tomcat中,JSP会被编译成以_jsp结尾的servlet文件,SpringBoot默认的Tomcat会将编译后的_JSP文件放在/tmp目录下,而该目录在Linux下是作为临时目录存在,会根据系统的运行对其/tmp下的文件进行清理,导致编译后的_jsp文件被清理,从而找不到该_jsp文件,当在某次访问找不到某个_jsp文件时,会先报一次异常,下次再访问时,Tomcat会重新编译,又会恢复正常。

三、解决方法

在application.properties文件增加Tomcat的工作目录配置,使其指向一个固定目录即可,这样配置以后有可以在更新了jsp文以后不会重新编译,此时只需要删除Tomcat工作目录下的文件即可,这里配置的Tomcat工作目录为/opt/tomcat_loacl

server.tomcat.basedir=/opt/tomcat_loacl
点击这里复制本文地址 以上内容由莫古技术网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

莫古技术网 © All Rights Reserved.  滇ICP备2024046894号-2