关于springboot+Servlet报错404的问题

news/2025/10/27 21:33:31/文章来源:https://www.cnblogs.com/K-wc2024/p/19170235

假如遇到使用springboot+Servlet的方式进行开发或者学习(一般是作业),其中有个经常遇到的问题是访问不到,会报404的错误,资源未加载;
网上有很多解决方法,例如加ServletComponentScan()包扫描路径,但是我帮一个学弟改依然无法解决;
经过重重对比和纠错,终于找到了问题 原来Springboot版本为3.7.0改为2.6.15之后就解决了,问ai原因如下

在 Spring Boot 2.6.15 中能正常访问,而在 Spring Boot 3.5.7 中无法访问,可能是由于 Spring Boot 3.x 版本的一些特性变化导致的。以下是一些可能的原因及解决方法:
包路径变更问题:Spring Boot 3.x 全面迁移到 Jakarta EE 9+,Servlet 相关的包路径从javax.servlet变为jakarta.servlet。而你提供的代码中导入的仍然是javax.servlet相关的包,这在 Spring Boot 3.5.7 中可能会导致类无法正确加载。解决方法是将所有javax.servlet相关的导入语句改为jakarta.servlet相关的导入语句。例如,将import javax.servlet.ServletException;改为import jakarta.servlet.ServletException;等。
Servlet 注册问题:在 Spring Boot 3.x 中,Servlet 的注册方式可能需要更严格的配置。虽然你使用了@WebServlet注解,但可能存在 Spring 无法识别该 Servlet 的情况。可以尝试在主配置类上添加@ServletComponentScan注解,以确保 Spring 能够扫描到你的 Servlet 类。例如:
java
运行

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;@SpringBootApplication
@ServletComponentScan(basePackages = "com.mes.servlet")
public class YourApplication {public static void main(String[] args) {SpringApplication.run(YourApplication.class, args);}
}

依赖配置问题:Spring Boot 3.x 对依赖的要求可能与 2.x 版本不同。确保你的项目中包含了正确的 Servlet 依赖。在 Spring Boot 3.x 中,应该使用jakarta.servlet-api依赖。例如:
xml

<dependency><groupId>jakarta.servlet</groupId><artifactId>jakarta.servlet-api</artifactId><version>5.0.0</version><scope>provided</scope>
</dependency>

这边大家如果遇到相关问题可以尝试一下

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

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

相关文章

10.27 CSP-S模拟40 改题记录

爆零场HZOJ 写在前面 没想到离CSP还有4天然后创造了一次保龄的经历。。。然后就是读假题专场。其实感觉没有太难但是。。。好吧,碍于时间不多,也不说废话了。A. 公约数神庙 我无言。我以为我败在了空间,结果其实是败…

Codechef Painting Tree 题解 [ 蓝 ] [ 树形 DP ] [ 概率期望 ] [ 分类讨论 ]

Painting Tree 若干个月前模拟赛切的题,当时写了 3h+,被细节恶心坏了,遂记之。 题意可以转化为求树上存在相交链的期望时间。 考虑如何计算这个期望。显然我们可以枚举选取链的个数,根据期望的定义式来算: \[E(X)…

Linux运行命令三种方式对比

三种方式临时测试 → nohup 稳定运行 → supervisor 系统级守护 → systemd测试用例/data/test.sh #!/bin/bash # /data/test.sh - Linux 简单输出时间的 demo 脚本while true doecho "$(date +%Y-%m-%d %H:%M:%S…

P14322 「ALFR Round 11」E 空崎ヒナ 题解 (markdown)

P14322 「ALFR Round 11」E 空崎ヒナ 题解 (markdown)## P14322 「ALFR Round 11」E 空崎ヒナ 题解**Sorasaki Hina 赛高!**也是做上 BA 的题了!也是写上 BA 的题的题解了!我们 BA 厨的日子真是蒸蒸日上啊!求审核大…

详细介绍:论文阅读 (1) :Control Flow Management in Modern GPUs

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

公众号排版2025年权威推荐:揭秘有一云AI编辑器为何高效?

01|痛点雷区清单:为什么总被“排版”拖慢?层级乱:复制到后台后行距、间距、引用样式全乱,返工 ≥ 2 轮。 版式碎:字体、分隔、留白没节奏,读者滑两屏就流失。 配图难:素材东拼西凑、风格不统一,还担心侵权。 …

P14322 「ALFR Round 11」E 空崎ヒナ 题解

Sorasaki Hina 赛高!P14322 「ALFR Round 11」E 空崎ヒナ 题解 Sorasaki Hina 赛高! 也是做上 BA 的题了!也是写上 BA 的题的题解了!我们 BA 厨的日子真是蒸蒸日上啊! 求审核大大通过 QvQ。求求了! 题目描述:给…

[题解]P7074 [CSP-J 2020] 方格取数

P7074 [CSP-J 2020] 方格取数 如果设 \(f_{i,j}\) 为 \((1,1)\) 到 \((i,j)\) 的最大权值和,上下相邻的两个元素的转移就是双向的了。有后效性,无法 DP。不过题目说“不能重复经过已经走过的方格”,也就是说每一列只…

昨天线下赛的复盘

这次最大的感受:Re做题的时候不要啥都没分析出来就去写代码,不要觉得自己写着写着就能看懂,不可能的,不如先分析好,即使是先猜一下呢,还有就是测试数据不要写0,会和本身就是空的数据混了 Re1 分最少的一题,附件…

10 27

P11833因为我们有 \(a_i < a_{i+1}\) 且 \(b_i < b_{i+1}\) 这里我是想怎么样才能统计两两之间的影响,发现十分复杂并且是 \(O(N^2)\) 的也无法优化 然后我就发现时间限制的深意是否可以说是按照时间顺序从小到…

同余最短路学习报告

笑点解析:高一了终于知道同余最短路是什么了。谁家好人同余最短路真的写最短路啊同余最短路,一种题目类型,隶属于图论板块,一般是问你有 n 个值,重复选取能拼出多少值,或者拼出模 k 余 p 要多少个值等等等等。 对…

打包exe出错了:

打包exe出错了: Traceback (most recent call last): File "huu.py", line 6, in n = int(input(enter:)) RuntimeError: input(): lost sys.stdin 源码: python print(判断一个数是否为素数) print()whi…

19 lambda表达式的简化过程

19 lambda表达式的简化过程Lambda表达式 为什么引入lambda表达式?避免内部类定义过多 去掉无意义代码,只留下核心逻辑函数式接口 定义:任何借口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口。 对于函数…

详细介绍:Redis多租户资源隔离方案:基于ACL的权限控制与管理

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

二分查找边界

二分查找边界二分查找边界Q:给定一个长度为𝑛的有序数组nums ,其中可能包含重复元素。请返回数组中最左一个元素target的索引。若数组中不包含该元素,则返回−1 。查找左边界 回忆二分查找插入点的方法,搜索完成…

求解 LCA 的三种方法及其比较

本文写于 2025 年 10 月 24 日。 昨天看到岁岁似今朝以“学不成名誓不还”的勇气学 LCA(树上最近公共祖先),并感叹“LCA 是我最严厉的母亲”,心血来潮,也学了一下。翻看着洛谷玲琅满目的题解,竟学会了三种方法,…

策略模式优化if-else

class Calculator:def __init__(self):self.strategy = Nonedef set_strategy(self, strategy):self.strategy = strategydef calculate_result(self, num1, num2):return self.strategy.execute(num1, num2)class Add…

捐赠

题目 题目描述 有 \(A\)、\(B\) 两类物品。 paper 打算每类各选 \(k\) 个(\(k\) 可自由决定,可取 \(0\))一起捐出。捐赠的总贡献为所选物品的价值总和。 初始时 paper 没有物品,但是 paper 可以通过一些操作改变物…

学习笔记:重链剖分

本文写于 2025 年 9 月 28 日。 前言 这几天一下课,班里的某位同学就走到我座位旁边,念叨着“来学树剖”。在他的 传销 诈骗 怂恿 鼓励之下,我也终于来到了这座大山面前,但发现似乎也并不难…… 何为重链剖分 考虑…

P3232 [HNOI2013] 游走

考虑贪心。 随机游走则显然每条边期望经过次数越大则其编号应越小。 每条边的期望经过次数难以计数,考虑每个店期望经过次数,设计状态 \(f_i\) 表示点 \(i\) 期望经过次数。 转移: \(f_i=\sum_{v\in e_i}f_v\cdot \…