Servlet版本冲突导致页面404
2024-09-05 05:59:41
入门servlet前先准备好了Tomcat环境以及用Idea打了一个Servlet war包想看看效果,结果发现页面跳转一直报404错误,检查了跳转url,项目结构等情况后,问题依旧没有解决。最后偶然在网上看到了相关信息后终于找到问题原因。
原因
一直没有关注Java EE相关更新新闻,查询后才明白Servlet5.0已经将包命名空间从javax
变成了jakarta
,这就导致如果Tomcat里Servlex版本如果是最新版,而本地编译环境是早期版本,那么Tomcat解war包后程序无法正确通过import
找到相关jar包。
解决方法
首先检查Servlet版本是否相同。
本地编译依赖环境可以直接打开pom.xml查看为4.0。
Tomcat则需要先解压以下文件
${baseDir}\apache-tomcat-10.0.16\lib\servlet-api.jar
,然后查看META-INF
文件夹下的MANIFEST.MF
,可以看出版本为5.0。
修改pom.xml的Servlet依赖,改成5.0即可。
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>5.0.0</version>
<scope>provided</scope>
</dependency>
最新文章
- FragmentPagerAdapter加载fragment并使用setUserVisibleHint()处理预加载时遇到的坑,给textview赋值时出现的空指针异常
- Leetcode Gray Code
- hibernate 异常:Unexpected Exception caught setting
- C#多线程学习
- Sharepoint学习笔记—习题系列--70-576习题解析 -(Q21-Q24)
- ${pageContext.request.contextPath}无效
- Python2.2-原理之类型和运算
- jQuery的deferred对象详解(转载)
- tr设置背景图片
- (转载)js----对象直接量
- 疯狂Android第一章:Android环境配置以及基本概念
- java设计模式--基础思想总结--父类引用操作对象
- MySQL中, 如何查询某一天, 某一月, 某一年的数据.
- python优雅编程之旅
- 操作系统下cache的几个概念
- idea 注释中的错误不再提示
- 被fancybox坑的心路历程
- GetMapping 和 PostMapping最大的差别(转)
- [NSURL URLWithString:] returns nil
- css实现360导航首页超链接变色
热门文章
- idea 创建Maven项目,Enable auto Import报“本地服务器没有从权威服务器上收到响应”
- ARP解析MAC地址的全过程(ARP的工作机制)
- shell中的2>;/dev/null
- springboot集成oss阿里云存储
- 金融云原生漫谈(三)|银行云原生基础设施构建:裸金属VS虚拟机
- 深度学习之BP算法
- Vulnhub - THE PLANETS: EARTH
- Javascript面向对象——创建对象、构造函数的原型
- 【刷题-LeetCode】148 Sort List
- 基于 NFS 搭建便捷远程硬盘