关于降版本Tomcat10降到Tomcat9或者Tomcat8,提示找不到jakarta.servlet.http.HttpServletRequest包的解决方法

Tomcat10相较于Tomcat9和8,在Servlet方面,对于javax.servlet包名改为了jakarta.servlet。

当你目前的项目是使用Tomcat10进行部署的,然后页面提示没有找到javax.servlet.http.HttpServletRequest包时,只有两种方法:

1、就是在Tomcat10的包下找到lib下的servlet-api.jar包 ,详情请看我上一篇文章:关于IDEA在写文件上传时,找不到javax.servlet.http.HttpServletRequest如何解决

2、或者将各个类中导入的包删掉,

eg: import jakarta.servlet.HttpServletRequest.

并把Tomcat10改成Tomcat9或是8。代码中的HttpServletRest报错以后,按Alt+Enter,导入javax.servlet的包。 

eg: import javax.servlet.HttpServletRequest.

3、则是使用Tomcat9或者Tomcat8。具体步骤如下:

首先下载好Tomcat9或者8。最重要的是,新开一个maven或者web项目,不能在原页面下重新创建一个项目,然后将Tomcat部署在新页面上:

重新创建web项目

 重新创建maven项目

 然后将Tomcat部署到新项目上:

点击Configure 

 再设置好Deployment,单击+号,选择Atificat,导入即可

如果没有Atificat可选,则去project Structure中设置,单击file,选择 project Structure

选择Artifacts,点击+号,选择Web Application:Exploded,在点击From Modules,选择想要运行的项目即可

 

如果此时运行后还提醒没有找到javax.servlet包,则只需在Module下导入依赖jar包,具体如下: 

 选择Module——>Dependecies,点击+号,然后选择JARS

 

在你选择Tomcat版本下的lib找到servlet-api.jar包,最后Apply即可

现在说下在原本部署Tomcat10页面下再新创一个项目会产生的问题。因为该页面下所有项目都是用Tomcat10部署,此时如果在该页面下部署了Tomcat9或者8版本,在一些使用了jakarta.servlet包的项目中,会检测到 无法找到这个包,就是因为Tomcat10的版本问题,对于这个javax包的更新,所以只能重启一个新项目来解决这个问题,不然需要对每个依赖于Tomcat10版本的项目进行更新,会浪费大量时间。希望此次的文章可以帮助到您!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/616513.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

美力AI变革:生成式AI在美妆和时尚领域的巨大改变

美妆AI技术解决方案提供商—玩美移动于今日发布最新全球趋势报告:《生成式AI在美妆和时尚领域的巨大改变》,就生成式AI在美妆和时尚行业的崛起,为品牌商提供了富有洞见的深入分析。该报告分析了来自玩美移动屡获殊荣的玩美系列APP应用套件的大…

ELAU MC-4/11/22/400伺服驱动器

在一帧中每一行的选择时间是均等的。假设一帧的扫描行数为N,扫描时间为1,那一行所占有的选择时间为一帧时间的1/N。在液晶显示的驱动方法中把这个值,即一帧行扫描数的倒数称为液晶显示驱动的占空比(duty),用d表示。在同等电压下&a…

Error: start of central directory not found; zipfile corrupt.

【报错】使用 unzip 指令在 AutoDL 上解压 .zip 文件时遇到 Error: start of central directory not found; zipfile corrupt. 报错: 重新上传后还是解压失败排除了 .zip 文件上传中断的问题。 【原因】Windows 和 Linux 下的压缩文件的二进制格式有所不同&#x…

Python的内置函数 def __init__和__str__用法

__init__() 当使用类名()创建对象时,会自动执行以下操作 __init__()是对象的的内置方法,是专门用来定义一个类 具有哪些属性的方法 class Person:def __init__(self):print("这是一个初始化方法")result Person() …

直接写一区! ZOA-PCNN-AT-SVM斑马优化并行卷积-支持向量机融合注意力机制的故障识别程序,特征可视化,实验多!图多!

适用平台:Matlab2023版本及以上 本原创程序提出的ZOA-PCNN-AT-SVM故障识别模型还没有人写!在此基础上进一步对参考模型进行多重改进,程序注释清晰,干货满满,下面对文章和程序做简要介绍! ①识别模型部分参…

模拟开关灯

1.  实验任务 如图所示,监视开关K1(接在P3.0端口上),用发光二极管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭。…

JUC之Phaser的使用

Phaser是并发包juc.concurrent包下的一个关于线程同步和线程通信的一个工具类,类似于CountDownLanch 和 CyclicBarrier,不同的是 Phaser可以用来根据步骤,等待线程按步骤同时触发执行。 package com.example.test;import com.example.abstra…

ubuntu20.04网络问题以及解决方案

1.网络图标消失,wired消失,ens33消失 参考:https://blog.51cto.com/u_204222/2465609 https://blog.csdn.net/qq_42265170/article/details/123640669 原始是在虚拟机中切换网络连接方式(桥接和NAT), 解决…

2024年1月6日~2024年1月12日周报

目录 一、前言 二、SeisInvNet-2020 三、RTM研究 四、遇到的问题及解决 4.1 KeyError: data 4.2 将mat文件转换为npy文件 五、小结 5.1 存在的问题及疑惑 5.2 下周安排 一、前言 本周的主要安排是阅读论文查看一些好的点子。 但是想法总是美好的,之前答应的…

图灵机:计算机科学的奠基之作

图灵机的概念由英国数学家阿兰图灵在1936年提出,这个时期正是计算机科学的黎明时分。那个时候,人们还在使用机械计算器进行计算,而且这些计算器的功能都非常有限。 图灵提出这个概念的初衷,是为了解决所谓的“判定问题”&#xf…

机器人持续学习基准LIBERO系列4——robosuite最基本demo

0.前置 机器人持续学习基准LIBERO系列1——基本介绍与安装测试机器人持续学习基准LIBERO系列2——路径与基准基本信息机器人持续学习基准LIBERO系列3——相机画面可视化及单步移动更新 1.robosuite的相关资料 是基于MuJoCo的机器人学习方针环境,提供一套基准环境…

蓝桥杯省赛无忧 竞赛常用库函数 课件5 排序

01 sort简介 02 sort的用法 sort(起始地址&#xff0c;结束地址的下一位,比较函数);默认用小于号#include<bits/stdc.h> using namespace std; int main(){int a[1000];int n;//读取数组大小cin>>n;//读取元素for(int i1;i<n;i)cin>>a[i];//对数组进行排…

vue3+vite+ts+pinia新建项目(略详细版)

1、新建项目 npm create vite@latest 2、安装依赖 yarn add vue-router yarn add -D @types/node vite-plugin-pages sass sass-loader 3、配置别名 //vite.config.ts import { defineConfig } from vite import path from node:path export default defineConfig({ plu…

如何有效提高矢量网络分析仪的动态范围

动态范围是网络分析仪&#xff08;VNA&#xff09;接收机的最大输入功率与最小可测量功率&#xff08;本底噪声&#xff09;之间的差值&#xff0c;如图所示&#xff0c;要使测量有效&#xff0c;输入信号必须在这些边界内。 如果需要测量信号幅度非常大的变化&#xff0c;例如…

openai自定义API操作 API (openai.custom):OpenAI API 实现电商平台的智能库存管理

在电商行业中&#xff0c;库存管理是至关重要的环节之一。一个高效的库存管理系统可以确保商品的正常供应&#xff0c;避免缺货或积压现象&#xff0c;从而提高销售效率和客户满意度。然而&#xff0c;传统的库存管理方式往往存在一些问题&#xff0c;如数据不准确、响应不及时…

版本控制系统教程

1.Git的基本介绍 1.1 Git的概念 Git是一个开源的分布式版本控制系统&#xff0c;用于敏捷高效地处理任何或小或大的项目.Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件.Git与常用的版本控制工具CVS&#xff0c;Subversion等不同&#xff…

大模型关于Lora论文集合

《Chain of LoRA:Efficient Fine-tuning of Language Models via Residual Learning》 Chain of LoRA (COLA)&#xff0c;这是一种受 Frank-Wolfe 算法启发的迭代优化框架&#xff0c;旨在弥合 LoRA 和全参数微调之间的差距&#xff0c;而不会产生额外的计算成本或内存开销。CO…

【c++】类和对象1

1.面向过程和面向对象初步认识 C语言是面向过程的&#xff0c;关注的是过程&#xff0c;分析出求解问题的步骤&#xff0c;通过函数调用逐步解决问题。 C是基于面向对象的&#xff0c;关注的是对象&#xff0c;将一件事情拆分成不同的对象&#xff0c;靠对象之间的交互完 成 …

JavaScript高级程序设计读书记录(十二):函数

函数是ECMAScript中最有意思的部分之一&#xff0c;这主要是因为函数实际上是对象。每个函数都是Function 类型的实例&#xff0c;而 Function 也有属性和方法&#xff0c;跟其他引用类型一样。因为函数是对象&#xff0c;所以函数名就是 指向函数对象的指针&#xff0c;而且不…

[linux]编译一个ko文件并运行

一、需求 有一段代码需要在运行时加载注入内核中&#xff0c;当用户层需要访问时可以提供内核态环境去运行。 二、c代码构建 // #include <errno.h> // #include <string.h> // #include <stdio.h> // #include <fcntl.h> // #include <stdlib.h…