引出
困扰一段时间的bug
报错信息:
javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/LoopTag
问题描述:
在jsp文件中,如果注释掉foreach部分的代码,前端jsp文件就能正常进入,也能显示从后端拿到的信息;
但是如果加上foreach部分的代码,就报错,后台的错误指向了servlet的转发部分;但其实是能进到这里的,所有这个问题查了好久,以为是req的问题,后来以为是foreach语法写错的问题;
最后突然想到,可能是xml包没导,最后补充了jsp相关的包,问题解决。
req.getRequestDispatcher("/news/list.jsp").forward(req, resp);
解决方法:
导入jsp相关的包:
<!-- jsp导包-->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.3</version>
<!-- 加provided-->
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
总结
🐛 bug不可怕,找到它并消灭就好了!
java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/LoopTag,解决导入jsp相关的包:jstl