今天在学习SSM框架时遇到一个问题,业务逻辑是:从DAO层查数据返回到Service层,再返回到Controller层,最后利用<c:forEach>标签显示到jsp页面上。但是测试时一直报错,经过排查发现是jsp页面显示时出错。
错误信息为:无法在web.xml或使用此应用程序部署的jar文件中解析绝对url:http://java.sun.com/jsp/jstl/core。
查阅诸多文章,发现有以下几种解决措施:
1. 可能是没导包,需要导入jstl-1.2的jar包,或taglibs-standard-impl
2. 需要把jar包内的所有tld文件都复制到WEB-INF目录下
3. jstl包的版本或者groupId不对
经过尝试后发现仍然不可行,然后继续查阅发现了此博客:SSM框架练习之Jsp页面使用taglib标签报错500的问题 - TIOXY - 博客园
说是由于之前将tomcat服务器的配置文件catalina中的jar包检查过滤器参数从\改为了*.jsp,所以导致扫描时无法扫描到tld文件,因此需要将其改回来,或者把tld文件复制到WEB-INF目录下
最终经过以下步骤后,解决了此问题:
1. 把tomcat的conf目录下的catalina.properties文件中的过滤器参数改为\
2. 删除了maven依赖中的servlet-api和jsp-api的jar包
3. maven中jstl相关的包仅导入了一个&#x