首页 > 其他分享 >遇到的jstl标签库与tomcat 10服务器相关问题

遇到的jstl标签库与tomcat 10服务器相关问题

时间:2022-10-21 09:01:19浏览次数:53  
标签:10 java tomcat jstl jasper apache org WebappClassLoaderBase compiler

在写项目的时候,JSP页面引用核心标签库语句

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
运行后报错

在tomcat10使用jstl的时候产生如下错误:

HTTP状态 500 - 内部服务器错误
类型 异常报告

消息 java.lang.NoClassDefFoundError: javax/servlet/jsp/tagext/TagLibraryValidator

描述 服务器遇到一个意外的情况,阻止它完成请求。

例外情况

jakarta.servlet.ServletException: java.lang.NoClassDefFoundError: javax/servlet/jsp/tagext/TagLibraryValidator
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
jakarta.servlet.http.HttpServlet.service(HttpServlet.java:777)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
根本原因。

java.lang.NoClassDefFoundError: javax/servlet/jsp/tagext/TagLibraryValidator
java.base/java.lang.ClassLoader.defineClass1(Native Method)
java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2516)
org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:872)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1408)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1252)
java.base/java.lang.ClassLoader.defineClass1(Native Method)
java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2516)
org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:872)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1408)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1252)
org.apache.jasper.compiler.TagLibraryInfoImpl.createValidator(TagLibraryInfoImpl.java:355)
org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:195)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:429)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:487)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1444)
org.apache.jasper.compiler.Parser.parse(Parser.java:138)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:244)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:105)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:206)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:391)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:367)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:351)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:603)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:399)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:380)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:328)
jakarta.servlet.http.HttpServlet.service(HttpServlet.java:777)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
根本原因。

java.lang.ClassNotFoundException: javax.servlet.jsp.tagext.TagLibraryValidator
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1444)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1252)
java.base/java.lang.ClassLoader.defineClass1(Native Method)
java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2516)
org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:872)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1408)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1252)
java.base/java.lang.ClassLoader.defineClass1(Native Method)
java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2516)
org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:872)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1408)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1252)
org.apache.jasper.compiler.TagLibraryInfoImpl.createValidator(TagLibraryInfoImpl.java:355)
org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:195)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:429)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:487)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1444)
org.apache.jasper.compiler.Parser.parse(Parser.java:138)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:244)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:105)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:206)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:391)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:367)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:351)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:603)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:399)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:380)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:328)
jakarta.servlet.http.HttpServlet.service(HttpServlet.java:777)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
):注意 主要问题的全部 stack 信息可以在 server logs 里查看

问题所在:jar包导入错误,导入的是 javax.servlet .jstl -1.2.jar包,与tomcat 10不适用

 

解决方案(一):
如果使用的是tomcat10版本需要将tomcat10换成tomcat8

解决方案(二):
Tomcat10版本需要用:
jakarta.servlet.jsp.jstl-2.0.0.jar
jakarta.servlet.jsp.jstl-api-2.0.0.jar
注:lib下只能有这两个jstl包,不能有其他的jstl包,不然依旧会报错,MAVEN导入不一定成功,一定要手动导入到lib下

标签:10,java,tomcat,jstl,jasper,apache,org,WebappClassLoaderBase,compiler
From: https://www.cnblogs.com/mo-de/p/16812283.html

相关文章

  • 【UOJ 710】魔塔 OL(贪心)(四毛子分块)
    魔塔OL题目链接:UOJ710题目大意有一个三维的网格,点有权值a,b,维护三个操作:加入一个点,删除一个点,把某一个(1,x)(1,y)(1,y)立方体里面的点拿出来,做一次操作的最小初......
  • Spring上传文件报错the request was rejected because its size (15920203) exceeds t
    背景今天在查异常日志的时候,发现了一条这样的报错therequestwasrejectedbecauseitssize(15920203)exceedstheconfiguredmaximum(10485760)详细堆栈如下:or......
  • GRYZ20221020解题报告
    期望得分:\(100+100+0=200\pts\)实际得分:$70+100+0=170\pts$题目很傻逼当然我也很傻逼。因为赛前吸了LB的rp导致T1挂分(T1线段树签到题。开始以为仨操作是......
  • Tomcat&Servlet笔记
    今日内容1.web相关概念回顾2.web服务器软件:Tomcat3.Servlet入门学习web相关概念回顾1.软件架构 1.C/S:客户端/服务器端 2.B/S:浏览器/服务器端2.资源分类 ......
  • 西工大校赛2 weekly contest 10.16
    西工大校赛2weeklycontest10.16[Problems-Codeforces.pdf](assets/Problems-Codeforces-20221019121149-0g83yz5.pdf)校赛网址:https://codeforces.com/contestIn......
  • 10.20.1
    #include<stdio.h>intmain(){ intn,i,j,count=0; scanf("%d\n",&n); chararr[n+9]; gets(arr); for(i=0;i<n-1;i++){ for(j=0;j<n-1-i;j++) {if(arr[j]>arr[j+1......
  • #yyds干货盘点#【愚公系列】2022年10月 微信小程序-sitemap站内搜索
    前言1.sitemap.json介绍开发者可以通过sitemap.json配置,或者管理后台页面收录开关来配置其小程序页面是否允许微信索引。2.小程序爬虫特征当开发者允许微信索引时,微信......
  • 【闲话】2022.10.20
    明天就要走了,好欸好家伙,又来一个紫荆花之恋绷不住了BK又要开始了CSP2022RP+=INF!!今天真不想该题了以及闫某人你把代码放多项式乘法里,几个意思?有水平地赫题......
  • windows10安装MYSQL服务端
    一、下载安装包1.下载地址:点击mysql安装包下载链接:https://dev.mysql.com/downloads/mysql/,选择window版本,点击下载按钮2.解压缩到无中文字符的路径:二、配置环境变量1.......
  • 社论 22.10.20 高斯整数环
    高斯环上的二维数点所以来水社论了(给定\(r\)。这给出了圆\(C:x^2+y^2=r^2\)。求在\(C\)圆周上的整点个数。\(r\leq10^{14}\)。数论题。记\(N=r^2\)。于是我......