解决时间:2023/3/31,我使用的tomcat是8.5版本的,在整合SSM项目时在jsp中使用JSTL的核心标签库 - core,也就是使用c:forEach标签遍历出现了这个问题:无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri
不知道该怎么说明这个bug,因为我已经在网上试过很多方法了。
比如:
-
jsp项目使用jstl(c标签)及jstl.jar和standard.jar
这个是手动添加standard.jar 和 jstl.jar -
解决Tomcat10配置JSTL的问题
这个是通过maven添加servlet依赖、jsp依赖、jstl依赖、standard依赖,同时需要在tomcat的lib文件夹中手动添加前面列出的部分jar包 -
使用maven导入JSTL依赖出现异常
这个也是去maven中添加一些jar包 -
springMvc36-JavaEE-JSP基础-EL表达式和JSTL标签库(Taglibs)
同上 -
无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri
手动将jar包添加到项目中的web-inf的lib文件夹中,同时将jar包放入到tomcat的lib文件夹中
基本上方法大同小异,都是引入一些jar包放到项目中或者tomcat中。结果使用这些方法我都失败了,同时我在网上找了一圈解答都没有发现原因,搞笑的是我之前搜索问题是:无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri,搜索出来的方法都没成功,这个是我页面上出现的报错。
然后我将问题换成tomcat 中的错误信息:Servlet[springmvc]的Servlet.service()引发了具有根本原因的异常无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core],然后我按照网上的方法成功解决了。
解决方法
修改tomcat/conf/catalina.properties中的一行
tomcat.util.scan.StandardJarScanFilter.jarsToSkip=*.jar
替换为
tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\
重新启动tomcat后,项目就可以正常运行。就很神奇,别问原因,问就是我也不知道为什么!有知道的大佬麻烦说明一下,解答我的疑惑。
使用这篇文章的方法成功解决问题:
【问题解决】Servlet[springMVC]的Servlet.service()引发了具有根本原因的异常java.lang.ClassNotFoundException
我这篇文章仅供参考,我后面测试了一下使用c:forEach标签需要使用那些jar包,发现如果不添加jstl这个jar包也会出现无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri这个问题,至于其他的standard.jar,standard-impl等等jar包我都没有引入,Tomcat的lib中我也没有添加其他解决方案中的jar包,也可以使用c:forEach标签。
如果使用我的方法不成功,可以去看看我上面列出的一些解决方案试试。文章来源:https://www.toymoban.com/news/detail-732711.html
在此贴出我的maven依赖,供需要的人参考:文章来源地址https://www.toymoban.com/news/detail-732711.html
<!--引入junit-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!--引入spring相关-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<!--引入springmvc-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<!--引入spring-mybatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.2</version>
</dependency>
<!--引入gson-->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.2</version>
</dependency>
<!--引入log4j-->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.25</version>
</dependency>
<!--引入oracle驱动-->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0</version>
</dependency>
<!--引入mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
<!--引入servlet-api-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<!--引入jstl-->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!--druid-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.19</version>
</dependency>
<!--引入lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
<scope>provided</scope>
</dependency>
<!--spring-test-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.3.2.RELEASE</version>
<scope>test</scope>
</dependency>
到了这里,关于【已解决】无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core]的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!