记录java.util.Map.getOrDefault()方法导致JSP编译失败异常:Unable to compile class for JSP

本文主要是介绍记录java.util.Map.getOrDefault()方法导致JSP编译失败异常:Unable to compile class for JSP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

记录java.util.Map.getOrDefault()方法导致JSP编译失败异常:Unable to compile class for JSP;

一、报错信息:

在这里插入图片描述

type Exception report
message Unable to compile class for JSP:
description The server encountered an internal error that prevented it from fulfilling this request.exception
org.apache.jasper.JasperException: Unable to compile class for JSP: 
An error occurred at line: 114 in the jsp file: /AICSSO/DZZYSSO.jsp
The method getOrDefault(String, String) is undefined for the type Map<String,Object>
111:             JSONObject jsStr = JSONObject.parseObject(result);
112:             System.out.println("jsStr =========================== " + jsStr);
113:             Map<String, Object> map = JSONObject.toJavaObject(jsStr,Map.class);
114:             String userId =(String) map.getOrDefault("msg", "xxx");
115:             System.out.println("闂ㄦ埛楠岃瘉鎺ュ彛鍝嶅簲鏁版嵁锛歶serId = " + userId);
116:             if (userId.equals(sid)){
117:                 //璁よ瘉鎴愬姛锛�Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:198)org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:450)org.apache.jasper.compiler.Compiler.compile(Compiler.java:361)org.apache.jasper.compiler.Compiler.compile(Compiler.java:336)org.apache.jasper.compiler.Compiler.compile(Compiler.java:323)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:585)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:363)org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)javax.servlet.http.HttpServlet.service(HttpServlet.java:729)org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)com.ufgov.midas.pt.common.CharsetFilter.doFilter(CharsetFilter.java:63)
note The full stack trace of the root cause is available in the Apache Tomcat/8.0.24 logs.

二、报错原因分析

​ 原文代码报错位置:

Map<String, Object> jsStr = JSONObject.parseObject(result);
System.out.println("jsStr =========================== " + jsStr.toString());
// TODO: 2024-03-01  报错jsp编译失败  TODO: map.getOrDefault() 报错
String userId =(String) map.getOrDefault("msg", "xxx");

​ 起初是找不到异常位置,我面经过排除才找到是因为 java.util.Map.getOrDefault()方法!

​ 后面一直找不到原因!后面经过查询这个方法才知道,该方法是 Java 8新增加的方法。而集成的项目是一个老项目,jdk版本是低于1.8的。前期在写 集成代码 jsp文件的时候是在本地环境写的。所有本地是没有出现jsp编译错误!

在这里插入图片描述

​ 【下次注意:本地环境没出错,线上出错,一定要考虑到环境配置问题!!】

这篇关于记录java.util.Map.getOrDefault()方法导致JSP编译失败异常:Unable to compile class for JSP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/763103

相关文章

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

Java中如何正确的停掉线程

《Java中如何正确的停掉线程》Java通过interrupt()通知线程停止而非强制,确保线程自主处理中断,避免数据损坏,线程池的shutdown()等待任务完成,shutdownNow()强制中断... 目录为什么不强制停止为什么 Java 不提供强制停止线程的能力呢?如何用interrupt停止线程s

SpringBoot请求参数传递与接收示例详解

《SpringBoot请求参数传递与接收示例详解》本文给大家介绍SpringBoot请求参数传递与接收示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录I. 基础参数传递i.查询参数(Query Parameters)ii.路径参数(Path Va

SpringBoot路径映射配置的实现步骤

《SpringBoot路径映射配置的实现步骤》本文介绍了如何在SpringBoot项目中配置路径映射,使得除static目录外的资源可被访问,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一... 目录SpringBoot路径映射补:springboot 配置虚拟路径映射 @RequestMapp

Java MCP 的鉴权深度解析

《JavaMCP的鉴权深度解析》文章介绍JavaMCP鉴权的实现方式,指出客户端可通过queryString、header或env传递鉴权信息,服务器端支持工具单独鉴权、过滤器集中鉴权及启动时鉴权... 目录一、MCP Client 侧(负责传递,比较简单)(1)常见的 mcpServers json 配置

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

C#文件复制异常:"未能找到文件"的解决方案与预防措施

《C#文件复制异常:未能找到文件的解决方案与预防措施》在C#开发中,文件操作是基础中的基础,但有时最基础的File.Copy()方法也会抛出令人困惑的异常,当targetFilePath设置为D:2... 目录一个看似简单的文件操作问题问题重现与错误分析错误代码示例错误信息根本原因分析全面解决方案1. 确保

504 Gateway Timeout网关超时的根源及完美解决方法

《504GatewayTimeout网关超时的根源及完美解决方法》在日常开发和运维过程中,504GatewayTimeout错误是常见的网络问题之一,尤其是在使用反向代理(如Nginx)或... 目录引言为什么会出现 504 错误?1. 探索 504 Gateway Timeout 错误的根源 1.1 后端