遇到jasperexception怎么办?这几个方法很实用!

吉云

今天真是被这个 JasperException 搞得焦头烂额。本来以为是个小问题,结果折腾大半天,现在总算有点眉目,赶紧记录下来,省得以后再踩坑。

我就是像往常一样写 JSP 页面嘛写完之后,放到 Tomcat 里面跑,结果就给我报个 JasperException。我当时还纳闷,心想这代码也没啥特别的,怎么就出错?

于是我第一反应就是去检查 JSP 页面的语法。毕竟这种错误很多时候都是因为一些小细节没注意到,比如标签没闭合,语句结束符少之类的。我仔仔细细地把代码从头到尾看好几遍,连个标点符号都没放过。结果,啥问题都没发现!

遇到jasperexception怎么办?这几个方法很实用!

这就奇怪。既然语法没问题,那会是什么原因?我想起之前遇到过的一些类似的问题,很多都是因为项目依赖没弄于是我又去检查项目的依赖。

  • 我先看看 * 文件(如果你用的是 Maven 的话),确保所有需要的 jar 包都正确引入。
  • 然后,我又去检查项目的 lib 目录,看看是不是少什么 jar 包。

这一通检查下来,发现依赖也没问题! 这下我可真是有点懵。

遇到jasperexception怎么办?这几个方法很实用!

没办法,只能去看看 Tomcat 的日志。日志里面通常会给出更详细的错误信息,说不定能找到点线索。我打开 Tomcat 的 logs 目录,找到 * 文件(不同版本的 Tomcat,日志文件名可能不一样),果然,在里面发现一堆错误信息!

错误信息里面提到一个什么 "absolute uri" 无法解析之类的。我一看,这好像跟 JSTL 标签库有关。我记得我的 JSP 页面里面用到 JSTL 标签,难道是这里出问题?

我赶紧去网上搜一下,发现很多人都遇到过类似的问题。有人说是 JSTL 的 jar 包版本不对,有人说是 Tomcat 的版本不对,还有人说是 * 文件配置有问题。众说纷纭,看得我头都大。

解决问题

我决定一个个试。先是换几个不同版本的 JSTL jar 包,结果都不行。然后,我又试着升级一下 Tomcat 的版本,还是不行。我开始怀疑是 * 文件的问题。

我仔细检查 * 文件,发现里面并没有什么特别的配置。不过我突然想到,之前看到有人说,如果 * 文件里面没有声明 JSTL 标签库的话,也会导致这个问题。于是我在 * 文件里面加几行配置,声明 JSTL 标签库。

遇到jasperexception怎么办?这几个方法很实用!

改完之后,我重新启动 Tomcat,再次访问我的 JSP 页面。奇迹出现!页面正常显示! 困扰我大半天的问题,终于解决!

现在回想起来,这回遇到的 JasperException,就是一个很小的问题。但是,由于我对 JSTL 标签库的配置不太熟悉,导致走不少弯路。这也提醒我,以后在写代码的时候,一定要注意细节,并且要多解一些常用的配置。这样,才能避免踩坑,提高开发效率。

今天总算是把这个问题给搞定,希望以后别再遇到这种糟心事。

这回的经验告诉我,以后遇到问题先别慌,先去检查一些最基本的东西,比如语法、依赖之类的,然后去看日志找线索,问题总会解决的嘛

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]