[JavaWeb]完美解决IDEA(2022)新建没有Servlet选项(无法访问Servlet 404问题)

发布于:2023-01-04 ⋅ 阅读:(474) ⋅ 点赞:(0)

IntelIJ IDEA在2022版本中更新和2021版本界面差距还是比较大的,你们是否有遇到过以下问题呢?

  1. 右键包没有新建Servlet的选项
  2. @WebServlet("/")404
  3. web.xml配置映射时<servlet-class>无法识别Servlet路径
  4. HTTP状态404 - 未找到(请求的资源[]不可用)

废话不多说,直接上图!

56a3ad121aa24bd995b22b58d9042385.png

根据个人习惯,选择Maven或Gradle

c3dda233fff24632bea8219636c0cdbc.png

选择规范中的第2个Web Profile,也可以选择第1个JavaEE Full Platform

98d26c80283a419e885c18952e60189c.png

可以看到,新建好的项目是有新建Servlet选项的。但是如果重启IDEA就会发现右键新建Servlet选项又莫名其妙的消失不见了(如果新建Servlet选项还在可以直接跳过此步骤)

024a887263bc4c3ab13521049126e403.png

打开项目结构,选择Fecet,将下面的两个源根勾选并保存。再次右键新建就会发现Servlet的选项又回来了!


通过此方式新建的Servlet运行在Tomcat上是不会出现任何问题的,那么为什么有些同学会出现404的错误呢?

首先打开Tomcat官网 

7435c6238a4e43ce86e4fe9662d89d23.png

(一定要对照官网给的的最低版本)

因为servlet-api Maven的最高版本为4.0.1,所以下面以Servlet 4.0为例

f69f0eeaf4f24e8990d271584f85e39b.png

配置好@WebServlet("/")访问路径

6a7ea0d716974683950b20f997acff0e.png

直接在URL输入自己配置的访问路径,即可正确访问,但是有的同学又会出现如图所示的问题(下面随便输入的一个URL)

cd86d280e68647f89abed464b4265265.png

404问题是指访问路径不正确,首先检查自己的@WebServlet配置路径有没有错,再检查一下URL地址输入有没有错(很少会有人把访问路径输错,所以大概率是项目结构的问题,如果按照前面的步骤新建Servlet可以避免此类问题)验证是否为项目结构问题可以采用web.xml配置映射路径(具体配置方式不详细介绍)

f4ae9af9923e4e50bd4bf4fe3f77df22.png

 采用web.xml配置映射路径时又会发现<servlet-class>无法访问到servlet的包结构,这时可以确定为项目结构问题。

解决项目结构问题可以按照上文新建Servlet标准步骤,项目结构问题解决之后可以发现web.xml配置的访问路径可以正常访问包结构了

8c26c31a6b84452b92c7220c71d12170.png

URL访问@WebServlet("/")配置的路径名也不会出错,问题完美解决!

觉得文章有帮助的同学记得一键三连哦!我在SSM等你们


网站公告

今日签到

点亮在社区的每一天
去签到