入门servlet前先准备好了Tomcat环境以及用Idea打了一个Servlet war包想看看效果,结果发现页面跳转一直报404错误,检查了跳转url,项目结构等情况后,问题依旧没有解决。最后偶然在网上看到了相关信息后终于找到问题原因。

原因

一直没有关注Java EE相关更新新闻,查询后才明白Servlet5.0已经将包命名空间从javax变成了jakarta,这就导致如果Tomcat里Servlex版本如果是最新版,而本地编译环境是早期版本,那么Tomcat解war包后程序无法正确通过import找到相关jar包。

解决方法

  1. 首先检查Servlet版本是否相同。

    1. 本地编译依赖环境可以直接打开pom.xml查看为4.0。

    2. Tomcat则需要先解压以下文件 ${baseDir}\apache-tomcat-10.0.16\lib\servlet-api.jar,然后查看META-INF文件夹下的MANIFEST.MF,可以看出版本为5.0。

    3. 修改pom.xml的Servlet依赖,改成5.0即可。

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

最新文章

  1. FragmentPagerAdapter加载fragment并使用setUserVisibleHint()处理预加载时遇到的坑,给textview赋值时出现的空指针异常
  2. Leetcode Gray Code
  3. hibernate 异常:Unexpected Exception caught setting
  4. C#多线程学习
  5. Sharepoint学习笔记—习题系列--70-576习题解析 -(Q21-Q24)
  6. ${pageContext.request.contextPath}无效
  7. Python2.2-原理之类型和运算
  8. jQuery的deferred对象详解(转载)
  9. tr设置背景图片
  10. (转载)js----对象直接量
  11. 疯狂Android第一章:Android环境配置以及基本概念
  12. java设计模式--基础思想总结--父类引用操作对象
  13. MySQL中, 如何查询某一天, 某一月, 某一年的数据.
  14. python优雅编程之旅
  15. 操作系统下cache的几个概念
  16. idea 注释中的错误不再提示
  17. 被fancybox坑的心路历程
  18. GetMapping 和 PostMapping最大的差别(转)
  19. [NSURL URLWithString:] returns nil
  20. css实现360导航首页超链接变色

热门文章

  1. idea 创建Maven项目,Enable auto Import报“本地服务器没有从权威服务器上收到响应”
  2. ARP解析MAC地址的全过程(ARP的工作机制)
  3. shell中的2&gt;/dev/null
  4. springboot集成oss阿里云存储
  5. 金融云原生漫谈(三)|银行云原生基础设施构建:裸金属VS虚拟机
  6. 深度学习之BP算法
  7. Vulnhub - THE PLANETS: EARTH
  8. Javascript面向对象——创建对象、构造函数的原型
  9. 【刷题-LeetCode】148 Sort List
  10. 基于 NFS 搭建便捷远程硬盘