老师我的项目出现了一个很奇怪的bug,当我跟老师一样添加c.tld文件之后再添加 taglib 指令标签
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>代码里面的forEach关键字出现异常的红色,此时启动Tomcat报错

报错信息如下:

D:\Tomcat\apache-tomcat-9.0.34-windows-x64\apache-tomcat-9.0.34\bin\catalina.bat run
[2020-10-15 09:50:43,165] Artifact mybatiswebdemoTest:war exploded: Waiting for server connection to start artifact deployment...
Using CATALINA_BASE: "C:\Users\admin\AppData\Local\JetBrains\IntelliJIdea2020.1\tomcat\Tomcat_9_0_34_mybatiswebdemoTest"
Using CATALINA_HOME: "D:\Tomcat\apache-tomcat-9.0.34-windows-x64\apache-tomcat-9.0.34"
Using CATALINA_TMPDIR: "D:\Tomcat\apache-tomcat-9.0.34-windows-x64\apache-tomcat-9.0.34\temp"
Using JRE_HOME: "D:\Java\jdk-14.0.2_windows-x64_bin\jdk-14.0.2"
Using CLASSPATH: "D:\Tomcat\apache-tomcat-9.0.34-windows-x64\apache-tomcat-9.0.34\bin\bootstrap.jar;D:\Tomcat\apache-tomcat-9.0.34-windows-x64\apache-tomcat-9.0.34\bin\tomcat-juli.jar"
NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
15-Oct-2020 21:50:44.590 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.服务器版本: Apache Tomcat/9.0.34
15-Oct-2020 21:50:44.592 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器构建: Apr 3 2020 12:02:52 UTC
15-Oct-2020 21:50:44.593 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器版本号(:9.0.34.0
15-Oct-2020 21:50:44.594 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Windows 10
15-Oct-2020 21:50:44.594 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS.版本: 10.0
15-Oct-2020 21:50:44.594 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 架构: amd64
15-Oct-2020 21:50:44.594 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java 环境变量: D:\Java\jdk-14.0.2_windows-x64_bin\jdk-14.0.2
15-Oct-2020 21:50:44.594 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM 版本: 14.0.2+12-46
15-Oct-2020 21:50:44.594 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM.供应商: Oracle Corporation
15-Oct-2020 21:50:44.595 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:[C:\Users\admin\AppData\Local\JetBrains\IntelliJIdea2020.1\tomcat\Tomcat_9_0_34_mybatiswebdemoTest]
15-Oct-2020 21:50:44.596 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: D:\Tomcat\apache-tomcat-9.0.34-windows-x64\apache-tomcat-9.0.34
15-Oct-2020 21:50:44.597 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:[--add-opens=java.base/java.lang=ALL-UNNAMED]
15-Oct-2020 21:50:44.597 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:[--add-opens=java.base/java.io=ALL-UNNAMED]
15-Oct-2020 21:50:44.598 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:[--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED]
15-Oct-2020 21:50:44.598 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:[-Djava.util.logging.config.file=C:\Users\admin\AppData\Local\JetBrains\IntelliJIdea2020.1\tomcat\Tomcat_9_0_34_mybatiswebdemoTest\conf\logging.properties]
15-Oct-2020 21:50:44.598 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:[-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager]
15-Oct-2020 21:50:44.598 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:[-Dcom.sun.management.jmxremote=]
15-Oct-2020 21:50:44.598 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:[-Dcom.sun.management.jmxremote.port=1099]
15-Oct-2020 21:50:44.598 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:[-Dcom.sun.management.jmxremote.ssl=false]
15-Oct-2020 21:50:44.598 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:[-Dcom.sun.management.jmxremote.password.file=C:\Users\admin\AppData\Local\JetBrains\IntelliJIdea2020.1\tomcat\Tomcat_9_0_34_mybatiswebdemoTest\jmxremote.password]
15-Oct-2020 21:50:44.598 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:[-Dcom.sun.management.jmxremote.access.file=C:\Users\admin\AppData\Local\JetBrains\IntelliJIdea2020.1\tomcat\Tomcat_9_0_34_mybatiswebdemoTest\jmxremote.access]
15-Oct-2020 21:50:44.599 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:[-Djava.rmi.server.hostname=127.0.0.1]
15-Oct-2020 21:50:44.599 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:[-Djdk.tls.ephemeralDHKeySize=2048]
15-Oct-2020 21:50:44.599 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:[-Djava.protocol.handler.pkgs=org.apache.catalina.webresources]
15-Oct-2020 21:50:44.599 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:[-Dignore.endorsed.dirs=]
15-Oct-2020 21:50:44.599 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:[-Dcatalina.base=C:\Users\admin\AppData\Local\JetBrains\IntelliJIdea2020.1\tomcat\Tomcat_9_0_34_mybatiswebdemoTest]
15-Oct-2020 21:50:44.599 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:[-Dcatalina.home=D:\Tomcat\apache-tomcat-9.0.34-windows-x64\apache-tomcat-9.0.34]
15-Oct-2020 21:50:44.600 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:[-Djava.io.tmpdir=D:\Tomcat\apache-tomcat-9.0.34-windows-x64\apache-tomcat-9.0.34\temp]
15-Oct-2020 21:50:44.600 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library [1.2.23] using APR version [1.7.0].
15-Oct-2020 21:50:44.600 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
15-Oct-2020 21:50:44.601 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL配置:useAprConnector[false],useOpenSSL[true]
15-Oct-2020 21:50:44.610 信息 [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 1.1.1c 28 May 2019]
15-Oct-2020 21:50:44.878 信息 [main] org.apache.coyote.AbstractProtocol.init 初始化协议处理器 ["http-nio-8080"]
15-Oct-2020 21:50:44.970 信息 [main] org.apache.catalina.startup.Catalina.load 服务器在[726]毫秒内初始化
15-Oct-2020 21:50:45.031 信息 [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
15-Oct-2020 21:50:45.031 信息 [main] org.apache.catalina.core.StandardEngine.startInternal 正在启动 Servlet 引擎:[Apache Tomcat/9.0.34]
15-Oct-2020 21:50:45.470 信息 [main] org.apache.coyote.AbstractProtocol.start 开始协议处理句柄["http-nio-8080"]
15-Oct-2020 21:50:45.489 信息 [main] org.apache.catalina.startup.Catalina.start Server startup in [519] milliseconds
Connected to server
[2020-10-15 09:50:45,967] Artifact mybatiswebdemoTest:war exploded: Artifact is being deployed, please wait...
15-Oct-2020 21:50:47.175 信息 [RMI TCP Connection(5)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
[2020-10-15 09:50:47,196] Artifact mybatiswebdemoTest:war exploded: Artifact is deployed successfully
[2020-10-15 09:50:47,196] Artifact mybatiswebdemoTest:war exploded: Deploy took 1,229 milliseconds
<2020-10-15 21:50:48,065> DEBUG (LogFactory.java:105) [http-nio-8080-exec-1] (org.apache.ibatis.logging.LogFactory) - Logging initialized using 'class org.apache.ibatis.logging.slf4j.Slf4jImpl' adapter.
<2020-10-15 21:50:48,081> DEBUG (VFS.java:116) [http-nio-8080-exec-1] (org.apache.ibatis.io.VFS) - Class not found: org.jboss.vfs.VFS
<2020-10-15 21:50:48,081> DEBUG (JBoss6VFS.java:149) [http-nio-8080-exec-1] (org.apache.ibatis.io.JBoss6VFS) - JBoss 6 VFS API is not available in this environment.
<2020-10-15 21:50:48,085> DEBUG (VFS.java:116) [http-nio-8080-exec-1] (org.apache.ibatis.io.VFS) - Class not found: org.jboss.vfs.VirtualFile
<2020-10-15 21:50:48,087> DEBUG (VFS.java:64) [http-nio-8080-exec-1] (org.apache.ibatis.io.VFS) - VFS implementation org.apache.ibatis.io.JBoss6VFS is not valid in this environment.
<2020-10-15 21:50:48,087> DEBUG (VFS.java:74) [http-nio-8080-exec-1] (org.apache.ibatis.io.VFS) - Using VFS adapter org.apache.ibatis.io.DefaultVFS
<2020-10-15 21:50:48,090> DEBUG (DefaultVFS.java:220) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Find JAR URL: file:/D:/J2EE项目/MybatisProject/mybatiswebdemoTest/out/artifacts/mybatiswebdemoTest_war_exploded/WEB-INF/classes/com/bjsxt/pojo/
<2020-10-15 21:50:48,091> DEBUG (DefaultVFS.java:247) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Not a JAR: file:/D:/J2EE项目/MybatisProject/mybatiswebdemoTest/out/artifacts/mybatiswebdemoTest_war_exploded/WEB-INF/classes/com/bjsxt/pojo/
<2020-10-15 21:50:48,128> DEBUG (DefaultVFS.java:100) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Reader entry: Users.class
<2020-10-15 21:50:48,131> DEBUG (DefaultVFS.java:100) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Reader entry: UsersExample.class
<2020-10-15 21:50:48,135> DEBUG (DefaultVFS.java:100) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Reader entry: UsersExample$Criteria.class
<2020-10-15 21:50:48,139> DEBUG (DefaultVFS.java:100) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Reader entry: UsersExample$Criterion.class
<2020-10-15 21:50:48,142> DEBUG (DefaultVFS.java:100) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Reader entry: UsersExample$GeneratedCriteria.class
<2020-10-15 21:50:48,145> DEBUG (DefaultVFS.java:111) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Listing file:/D:/J2EE项目/MybatisProject/mybatiswebdemoTest/out/artifacts/mybatiswebdemoTest_war_exploded/WEB-INF/classes/com/bjsxt/pojo/
<2020-10-15 21:50:48,145> DEBUG (DefaultVFS.java:220) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Find JAR URL: file:/D:/J2EE项目/MybatisProject/mybatiswebdemoTest/out/artifacts/mybatiswebdemoTest_war_exploded/WEB-INF/classes/com/bjsxt/pojo/Users.class
<2020-10-15 21:50:48,146> DEBUG (DefaultVFS.java:247) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Not a JAR: file:/D:/J2EE项目/MybatisProject/mybatiswebdemoTest/out/artifacts/mybatiswebdemoTest_war_exploded/WEB-INF/classes/com/bjsxt/pojo/Users.class
<2020-10-15 21:50:48,148> DEBUG (DefaultVFS.java:100) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Reader entry: 漱壕 : ?
<2020-10-15 21:50:48,150> DEBUG (DefaultVFS.java:220) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Find JAR URL: file:/D:/J2EE项目/MybatisProject/mybatiswebdemoTest/out/artifacts/mybatiswebdemoTest_war_exploded/WEB-INF/classes/com/bjsxt/pojo/UsersExample.class
<2020-10-15 21:50:48,150> DEBUG (DefaultVFS.java:247) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Not a JAR: file:/D:/J2EE项目/MybatisProject/mybatiswebdemoTest/out/artifacts/mybatiswebdemoTest_war_exploded/WEB-INF/classes/com/bjsxt/pojo/UsersExample.class
<2020-10-15 21:50:48,151> DEBUG (DefaultVFS.java:100) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Reader entry: 漱壕 : O
<2020-10-15 21:50:48,153> DEBUG (DefaultVFS.java:220) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Find JAR URL: file:/D:/J2EE项目/MybatisProject/mybatiswebdemoTest/out/artifacts/mybatiswebdemoTest_war_exploded/WEB-INF/classes/com/bjsxt/pojo/UsersExample$Criteria.class
<2020-10-15 21:50:48,153> DEBUG (DefaultVFS.java:247) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Not a JAR: file:/D:/J2EE项目/MybatisProject/mybatiswebdemoTest/out/artifacts/mybatiswebdemoTest_war_exploded/WEB-INF/classes/com/bjsxt/pojo/UsersExample$Criteria.class
<2020-10-15 21:50:48,154> DEBUG (DefaultVFS.java:100) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Reader entry: 漱壕 : ?
<2020-10-15 21:50:48,157> DEBUG (DefaultVFS.java:220) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Find JAR URL: file:/D:/J2EE项目/MybatisProject/mybatiswebdemoTest/out/artifacts/mybatiswebdemoTest_war_exploded/WEB-INF/classes/com/bjsxt/pojo/UsersExample$Criterion.class
<2020-10-15 21:50:48,158> DEBUG (DefaultVFS.java:247) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Not a JAR: file:/D:/J2EE项目/MybatisProject/mybatiswebdemoTest/out/artifacts/mybatiswebdemoTest_war_exploded/WEB-INF/classes/com/bjsxt/pojo/UsersExample$Criterion.class
<2020-10-15 21:50:48,159> DEBUG (DefaultVFS.java:100) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Reader entry: 漱壕 : I %com/bjsxt/pojo/UsersExample$Criterion condition Ljava/lang/String;
<2020-10-15 21:50:48,160> DEBUG (DefaultVFS.java:220) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Find JAR URL: file:/D:/J2EE项目/MybatisProject/mybatiswebdemoTest/out/artifacts/mybatiswebdemoTest_war_exploded/WEB-INF/classes/com/bjsxt/pojo/UsersExample$GeneratedCriteria.class
<2020-10-15 21:50:48,161> DEBUG (DefaultVFS.java:247) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Not a JAR: file:/D:/J2EE项目/MybatisProject/mybatiswebdemoTest/out/artifacts/mybatiswebdemoTest_war_exploded/WEB-INF/classes/com/bjsxt/pojo/UsersExample$GeneratedCriteria.class
<2020-10-15 21:50:48,162> DEBUG (DefaultVFS.java:100) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Reader entry: 漱壕 : ?
<2020-10-15 21:50:48,163> DEBUG (ResolverUtil.java:288) [http-nio-8080-exec-1] (org.apache.ibatis.io.ResolverUtil) - Checking to see if class com.bjsxt.pojo.Users matches criteria [is assignable to Object]
<2020-10-15 21:50:48,163> DEBUG (ResolverUtil.java:288) [http-nio-8080-exec-1] (org.apache.ibatis.io.ResolverUtil) - Checking to see if class com.bjsxt.pojo.UsersExample matches criteria [is assignable to Object]
<2020-10-15 21:50:48,169> DEBUG (ResolverUtil.java:288) [http-nio-8080-exec-1] (org.apache.ibatis.io.ResolverUtil) - Checking to see if class com.bjsxt.pojo.UsersExample$Criteria matches criteria [is assignable to Object]
<2020-10-15 21:50:48,177> DEBUG (ResolverUtil.java:288) [http-nio-8080-exec-1] (org.apache.ibatis.io.ResolverUtil) - Checking to see if class com.bjsxt.pojo.UsersExample$Criterion matches criteria [is assignable to Object]
<2020-10-15 21:50:48,181> DEBUG (ResolverUtil.java:288) [http-nio-8080-exec-1] (org.apache.ibatis.io.ResolverUtil) - Checking to see if class com.bjsxt.pojo.UsersExample$GeneratedCriteria matches criteria [is assignable to Object]
<2020-10-15 21:50:48,305> DEBUG (PooledDataSource.java:363) [http-nio-8080-exec-1] (org.apache.ibatis.datasource.pooled.PooledDataSource) - PooledDataSource forcefully closed/removed all connections.
<2020-10-15 21:50:48,305> DEBUG (PooledDataSource.java:363) [http-nio-8080-exec-1] (org.apache.ibatis.datasource.pooled.PooledDataSource) - PooledDataSource forcefully closed/removed all connections.
<2020-10-15 21:50:48,305> DEBUG (PooledDataSource.java:363) [http-nio-8080-exec-1] (org.apache.ibatis.datasource.pooled.PooledDataSource) - PooledDataSource forcefully closed/removed all connections.
<2020-10-15 21:50:48,305> DEBUG (PooledDataSource.java:363) [http-nio-8080-exec-1] (org.apache.ibatis.datasource.pooled.PooledDataSource) - PooledDataSource forcefully closed/removed all connections.
<2020-10-15 21:50:48,315> DEBUG (DefaultVFS.java:220) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Find JAR URL: file:/D:/J2EE项目/MybatisProject/mybatiswebdemoTest/out/artifacts/mybatiswebdemoTest_war_exploded/WEB-INF/classes/com/bjsxt/mapper/
<2020-10-15 21:50:48,315> DEBUG (DefaultVFS.java:247) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Not a JAR: file:/D:/J2EE项目/MybatisProject/mybatiswebdemoTest/out/artifacts/mybatiswebdemoTest_war_exploded/WEB-INF/classes/com/bjsxt/mapper/
<2020-10-15 21:50:48,317> DEBUG (DefaultVFS.java:100) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Reader entry: UsersMapper.class
<2020-10-15 21:50:48,321> DEBUG (DefaultVFS.java:100) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Reader entry: UsersMapper.xml
<2020-10-15 21:50:48,324> DEBUG (DefaultVFS.java:111) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Listing file:/D:/J2EE项目/MybatisProject/mybatiswebdemoTest/out/artifacts/mybatiswebdemoTest_war_exploded/WEB-INF/classes/com/bjsxt/mapper/
<2020-10-15 21:50:48,324> DEBUG (DefaultVFS.java:220) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Find JAR URL: file:/D:/J2EE项目/MybatisProject/mybatiswebdemoTest/out/artifacts/mybatiswebdemoTest_war_exploded/WEB-INF/classes/com/bjsxt/mapper/UsersMapper.class
<2020-10-15 21:50:48,325> DEBUG (DefaultVFS.java:247) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Not a JAR: file:/D:/J2EE项目/MybatisProject/mybatiswebdemoTest/out/artifacts/mybatiswebdemoTest_war_exploded/WEB-INF/classes/com/bjsxt/mapper/UsersMapper.class
<2020-10-15 21:50:48,326> DEBUG (DefaultVFS.java:100) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Reader entry: 漱壕 : com/bjsxt/mapper/UsersMapper java/lang/Object countByExample (Lcom/bjsxt/pojo/UsersExample;)I deleteByExample deleteByPrimaryKey (Ljava/lang/Integer;)I insert (Lcom/bjsxt/pojo/Users;)I insertSelective selectByExample /(Lcom/bjsxt/pojo/UsersExample;)Ljava/util/List; Signature G(Lcom/bjsxt/pojo/UsersExample;)Ljava/util/List<Lcom/bjsxt/pojo/Users;>; selectByPrimaryKey +(Ljava/lang/Integer;)Lcom/bjsxt/pojo/Users; updateByExampleSelective 6(Lcom/bjsxt/pojo/Users;Lcom/bjsxt/pojo/UsersExample;)I "RuntimeVisibleParameterAnnotations %Lorg/apache/ibatis/annotations/Param; value record example updateByExample updateByPrimaryKeySelective updateByPrimaryKey
<2020-10-15 21:50:48,328> DEBUG (DefaultVFS.java:220) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Find JAR URL: file:/D:/J2EE项目/MybatisProject/mybatiswebdemoTest/out/artifacts/mybatiswebdemoTest_war_exploded/WEB-INF/classes/com/bjsxt/mapper/UsersMapper.xml
<2020-10-15 21:50:48,328> DEBUG (DefaultVFS.java:247) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Not a JAR: file:/D:/J2EE项目/MybatisProject/mybatiswebdemoTest/out/artifacts/mybatiswebdemoTest_war_exploded/WEB-INF/classes/com/bjsxt/mapper/UsersMapper.xml
<2020-10-15 21:50:48,329> DEBUG (DefaultVFS.java:100) [http-nio-8080-exec-1] (org.apache.ibatis.io.DefaultVFS) - Reader entry: <?xml version="1.0" encoding="UTF-8" ?>
<2020-10-15 21:50:48,330> DEBUG (ResolverUtil.java:288) [http-nio-8080-exec-1] (org.apache.ibatis.io.ResolverUtil) - Checking to see if class com.bjsxt.mapper.UsersMapper matches criteria [is assignable to Object]
<2020-10-15 21:50:54,031> DEBUG (LoggingCache.java:60) [http-nio-8080-exec-5] (SQL_CACHE) - Cache Hit Ratio [SQL_CACHE]: 0.0
<2020-10-15 21:50:54,138> DEBUG (JdbcTransaction.java:137) [http-nio-8080-exec-5] (org.apache.ibatis.transaction.jdbc.JdbcTransaction) - Opening JDBC Connection
Thu Oct 15 21:50:54 CST 2020 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
<2020-10-15 21:50:54,582> DEBUG (PooledDataSource.java:434) [http-nio-8080-exec-5] (org.apache.ibatis.datasource.pooled.PooledDataSource) - Created connection 1614127273.
<2020-10-15 21:50:54,582> DEBUG (JdbcTransaction.java:101) [http-nio-8080-exec-5] (org.apache.ibatis.transaction.jdbc.JdbcTransaction) - Setting autocommit to false on JDBC Connection [com.mysql.jdbc.JDBC4Connection@6035a0a9]
<2020-10-15 21:50:54,591> DEBUG (BaseJdbcLogger.java:137) [http-nio-8080-exec-5] (com.bjsxt.mapper.UsersMapper.selectByExample_COUNT) - ==> Preparing: SELECT count(0) FROM users
<2020-10-15 21:50:54,642> DEBUG (BaseJdbcLogger.java:137) [http-nio-8080-exec-5] (com.bjsxt.mapper.UsersMapper.selectByExample_COUNT) - ==> Parameters:
<2020-10-15 21:50:54,685> DEBUG (BaseJdbcLogger.java:137) [http-nio-8080-exec-5] (com.bjsxt.mapper.UsersMapper.selectByExample_COUNT) - <== Total: 1
<2020-10-15 21:50:54,701> DEBUG (BaseJdbcLogger.java:137) [http-nio-8080-exec-5] (com.bjsxt.mapper.UsersMapper.selectByExample) - ==> Preparing: select userid, username, usersex from users LIMIT ?
<2020-10-15 21:50:54,701> DEBUG (BaseJdbcLogger.java:137) [http-nio-8080-exec-5] (com.bjsxt.mapper.UsersMapper.selectByExample) - ==> Parameters: 2(Integer)
org.apache.jasper.JasperException: 无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core]
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:55)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:294)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:81)
at org.apache.jasper.compiler.TagLibraryInfoImpl.generateTldResourcePath(TagLibraryInfoImpl.java:251)
<2020-10-15 21:50:54,704> DEBUG (BaseJdbcLogger.java:137) [http-nio-8080-exec-5] (com.bjsxt.mapper.UsersMapper.selectByExample) - <== Total: 2
<2020-10-15 21:50:54,734> DEBUG (JdbcTransaction.java:123) [http-nio-8080-exec-5] (org.apache.ibatis.transaction.jdbc.JdbcTransaction) - Resetting autocommit to true on JDBC Connection [com.mysql.jdbc.JDBC4Connection@6035a0a9]
<2020-10-15 21:50:54,735> DEBUG (JdbcTransaction.java:91) [http-nio-8080-exec-5] (org.apache.ibatis.transaction.jdbc.JdbcTransaction) - Closing JDBC Connection [com.mysql.jdbc.JDBC4Connection@6035a0a9]
<2020-10-15 21:50:54,736> DEBUG (PooledDataSource.java:391) [http-nio-8080-exec-5] (org.apache.ibatis.datasource.pooled.PooledDataSource) - Returned connection 1614127273 to pool.
at org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:122)
at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:431)
at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:489)
at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1445)
at org.apache.jasper.compiler.Parser.parse(Parser.java:144)
at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:244)
at org.apache.jasper.compiler.ParserController.parse(ParserController.java:105)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:206)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:386)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:362)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:346)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:605)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:400)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:712)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:459)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:384)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
at com.bjsxt.web.servlet.UsersServlet.findUsers(UsersServlet.java:91)
at com.bjsxt.web.servlet.UsersServlet.doPost(UsersServlet.java:36)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.bjsxt.web.filter.OpenSessionInViewFilter.doFilter(OpenSessionInViewFilter.java:29)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:832)
15-Oct-2020 21:50:55.474 信息 [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [D:\Tomcat\apache-tomcat-9.0.34-windows-x64\apache-tomcat-9.0.34\webapps\manager]
15-Oct-2020 21:50:55.576 信息 [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [D:\Tomcat\apache-tomcat-9.0.34-windows-x64\apache-tomcat-9.0.34\webapps\manager] has finished in [102] ms
且客户端浏览器无法加载showUsers.jsp

如果去掉 taglib 指令标签
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
则forEach关键字不报错

此时启动Tomcat可以加载到showUsers.jsp但是不显示数据

我在网上查到了一个解决办法但是不敢乱来,还是想听听老师的意见

以下是源码
UsersServlet
package com.bjsxt.web.servlet;
import com.bjsxt.pojo.Users;
import com.bjsxt.pojo.UsersExample;
import com.bjsxt.service.UsersService;
import com.bjsxt.service.impl.UsersServiceImpl;
import com.github.pagehelper.PageInfo;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/usersServlet.do")
public class UsersServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
/*设置请求编码格式*/
req.setCharacterEncoding("utf-8");
/*设置响应编码格式*/
resp.setContentType("text/html;charset=utf-8");
String flag = req.getParameter("flag");
if("addUsers".equals(flag)){
this.addUsers(req,resp);
}else if("findUsers".equals(flag)){
this.findUsers(req,resp);
}
}
private void addUsers(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取用户提交数据
Users users = this.createUsers(req);
//实例化业务层对象
UsersService usersService = new UsersServiceImpl();
usersService.addUsers(users);
//为避免重复提交,使用重定向到成功页面
resp.sendRedirect("ok.jsp");
}
/**
* 获取用户提交的信息
*/
private Users createUsers(HttpServletRequest req) {
String username = req.getParameter("username");
String usersex = req.getParameter("usersex");
Users users = new Users();
users.setUsername(username);
users.setUsersex(usersex);
return users;
}
/**
* 查询用户
*/
private void findUsers(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取用户提交的数据
Users users = this.createUsers(req);
//获取当前页
String pageIndex = req.getParameter("pageIndex");
int page = 1;
if (pageIndex != null && pageIndex.length() > 0) {
//强转
page = Integer.parseInt(pageIndex);
}
UsersService usersService = new UsersServiceImpl();
PageInfo<Users> pageInfo = usersService.findUsers(page, users);
//传递数据
req.setAttribute("pageInfo", pageInfo);
//为了避免魔鬼查询得维持住查询条件得把封装了查询条件的users对象一起传过去
req.setAttribute("users", users);
//有数据传递得用请求转发
req.getRequestDispatcher("showUsers.jsp").forward(req,resp);
}
}
UsersServiceImpl
package com.bjsxt.service.impl;
import com.bjsxt.mapper.UsersMapper;
import com.bjsxt.pojo.Users;
import com.bjsxt.pojo.UsersExample;
import com.bjsxt.service.UsersService;
import com.bjsxt.utils.MybatisUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.session.SqlSession;
import java.util.List;
public class UsersServiceImpl implements UsersService {
@Override
public void addUsers(Users users) {
SqlSession sqlSession = MybatisUtils.getSqlSession();
//通过getMapper()方法获取UsersMapper接口实现类的代理对象
UsersMapper mapper = sqlSession.getMapper(UsersMapper.class);
mapper.insertSelective(users);
}
/**
* 查询用户
* @param page
* @param users
* @return
*/
@Override
public PageInfo<Users> findUsers(int page, Users users) {
SqlSession sqlSession = MybatisUtils.getSqlSession();
//通过getMapper()方法获取UsersMapper接口实现类的代理对象
UsersMapper mapper = sqlSession.getMapper(UsersMapper.class);
//获取条件
UsersExample usersExample = this.createUsersExample(users);
PageHelper.startPage(page, 2);
List<Users> list = mapper.selectByExample(usersExample);
//将list放到pageInfo中 pageInfo:封装了基于分页查询得到的结果集的实体类
PageInfo<Users> pageInfo = new PageInfo<>(list);
return pageInfo;
}
/**
* 生成查询条件
*/
private UsersExample createUsersExample(Users users){
UsersExample usersExample = new UsersExample();
UsersExample.Criteria criteria = usersExample.createCriteria();
if(users.getUsername() != null && users.getUsername().length() > 0){
criteria.andUsernameEqualTo(users.getUsername());
}
if(users.getUsersex() != null && users.getUsersex().length() > 0){
criteria.andUsersexEqualTo(users.getUsersex());
}
return usersExample;
}
}
showUsers.jsp
<%--
Created by IntelliJ IDEA.
User: admin
Date: 2020/10/15
Time: 19:54
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>显示查询结果</title>
</head>
<body>
<table align="center" border="1" width="40%">
<tr>
<th>用户 ID</th>
<th>用户姓名</th>
<th>用户性别</th>
</tr>
<c:forEach items="${pageInfo.list}" var="users">
<tr>
<td>${users.userid}</td>
<td>${users.username}</td>
<td>${users.usersex}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
求老师指点我该怎么解决