代码编织梦想

出现原因

部署Tomcat的版本由Tomcat8降到Tomcat7


1.原因分析

发现是发现hadoop包中有 jasper-compiler.jar, jasper-runtime等依赖与当前Tomcat(lib)包中的 jasper产生冲突

2.解决方式

在tomcat的context.xml中配置一个参数
在这里插入图片描述

解释: delegate=true,表示tomcat将遵循JVM的delegate机制,即一个WebAppClassLoader在加载类文件时,会先递交给SharedClassLoader加载,SharedClassLoader无法加载成功,会继续向自己的父类委托,一直到BootstarpClassLoader,如果都没有加载成功,则最后由WebAppClassLoader自己进行加载。
delegate=False,表示将不遵循这个delegate机制,即WebAppClassLoader在加载类文件时,会优先自己尝试加载,如果加载失败,才会沿着继承链,依次委托父类加载。


其他问题

1、url请求参数(汉字)出现乱码

原因:Tomcat 7的默认编码是 ISO-8859-1,所以解析之后参数出现乱码;Tomcat 8 默认编码是 UTF-8,因此解析不会出现乱码。

解决方式:在 Tomcat 的 server,xml 的配置文件中,对于 connector 的配置中,加上 URIEncoding=“UTF-8” useBodyEncodingForURI=“true”
即:
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8" useBodyEncodingForURI="true"/>

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/afghzstsezhgszs/article/details/111068257

IDEA:tomcat 中文乱码解决方案-爱代码爱编程

我的tomcat 是9.0.27版本,解决办法如下: 第一步:找到idea的安装目录,打开bin文件夹找到如图两个文件,分别打开在最后一行加入 -Dfile.encoding=UTF-8 第二步:打开idea setting 如图3个箭头处改成utf-8 第三步:在tomcat 设置界面 同样加入上面那行代码 -Dfile.encoding=UTF-8

【SpringBoot】原理分析(三):内嵌 Tomcat(jar包)启动原理分析-爱代码爱编程

在上一篇文章 【SpringBoot】原理分析:启动流程源码分析 我们我分析了 SpringBoot 的启动流程,但是还有一个问题没解决,就是 tomcat 到底是如何启动的。所以,这篇我们就来看看内嵌 tomcat 和外部 tomcat 的启动原理。 先把两句最重要的结论放在这里: SpringBoot 启动 jar 包是 IOC 容器带动了

JSP介绍以及JSP基本语法-爱代码爱编程

Servlet开发的缺点 静态HTML与动态Java代码混合在一起,难以维护Servlet利用out.println()语句输出,开发效率低下Eclipse很难在开发过程中发现错误,调试困难JSP介绍 JSP全称为java Sever Pages, Java服务器页面JSP是J2EE的功能模块,由Web服务器执行(比如Tomcat)JSP的作用就是降低

CobaltStrike 4.0 Error occurred during initialization of VM agent library 内存增加/报错解决办法-爱代码爱编程

λ start.bat java -Dfile.encoding=UTF-8 -javaagent:CobaltStrikeCN.jar -XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar Error occurred during ini

尚硅谷_JavaWeb_Servlet(99~159)(213~221)-爱代码爱编程

(视频:尚硅谷:https://www.bilibili.com/video/BV1Y7411K7zz?p=121  ( 121 ~  159)) 目录 一:servlet 介绍: 二:ServletConfig类 三:ServletContext 三:Http 协议: 四:HttpServletRequest类 五:HTTPServletR

Tomcat安装,配置环境变量。及遇到问题报错CATALINA_HOME 或者JRE_HOMEenvironment variable is not defined correctly问题的解决-爱代码爱编程

Tomcat下载地址: https://tomcat.apache.org/ Tomcat 环境变量配置 安装前用记事本记下自己的解压地址1,和安装地址2。单机计算机属性 新建 添加 1变量名CATALINA_HOME 变量值Tomcat的安装地址1 2变量名CLASS_PATH 变量值.;%JAVA_HOME%\lib;%JAVA_HOME%\li

解决yum国内镜像报错Cannot retrieve repository metadata (repomd.xml) for repository问题-爱代码爱编程

在配置yum国内镜像的时候 按照网上的教程配置 很多教程都会出现这样的报错Cannot retrieve repository metadata (repomd.xml) for repository 网上的解决方法基本上是 1、修改DNS服务器地址 2、修改enable项 而我依然会报错 后来我发现报错的网页确实打不开了 但是有一

oauth2使用jwt标准出现的一些问题-爱代码爱编程

记录spring oauth2使用jwt标准实现认证服务的一些自己碰到的问题 1:项目文件结构2.设置JwtTokenStore后,却还是InMemoryTokenStore3:遇到的问题会持续更新...... 2.设置JwtTokenStore后,却还是InMemoryTokenStore 拿获取到的access_token,通过网关访

Caused by: java.lang.IllegalArgumentException: LoggerFactory is not a Logback LoggerContext but L...-爱代码爱编程

问题描述 Caused by: java.lang.IllegalArgumentException: LoggerFactory is not a Logback LoggerContext but Logback is on the classpath. Either remove Logback or the competing implemen

conda 环境下 调用 sklearn库 时出现 许多包依赖错误 比如:ImportError: DLL load failed while importing _arpack:-爱代码爱编程

问题场景: conda 环境下的python 包管理,python 版本3.8.3  现项目需要使用到sklearn库 问题描述: 调用sklearn库需要安装scikit-learn 按照网上的scikit-learn的依赖库安装顺序,安装完一下后再使用conda install scikit-learn Python (>= 3.5)

使用IDEA2015配置pom.xml报错-爱代码爱编程

在使用IDEA2015配置pom.xml时version信息行会标记红线,原因时Maven版本选择问题,在我将Maven版本更换成系统自带的Bundled (Maven 3)后报错就没有了。 <dependencies> <!-- https://mvnrepository.com/artifact/org.spring

IOS 中json解析异常Domain=NSCocoaErrorDomain Code=3840之诡异事件-爱代码爱编程

前言 就在今天遇到一个很诡异的技术问题,Unity调用Quick苹果SDK支付。Quick 支付需要游戏(Unity)传入一些数据到原生OC中,格式是json,在OC中打印的日志看着数据是没问题的,但是解析json却一直显示失败 。问题最终还是解决了,用倒推法给大家说一下解决的思路。 场景重现 下面代码是OC中定义的支付方法,void *payD