IntelIJ IDEA在2022版本中更新和2021版本界面差距还是比较大的,你们是否有遇到过以下问题呢?
- 右键包没有新建Servlet的选项
- @WebServlet("/")404
- web.xml配置映射时<servlet-class>无法识别Servlet路径
- HTTP状态404 - 未找到(请求的资源[]不可用)
废话不多说,直接上图!
根据个人习惯,选择Maven或Gradle
选择规范中的第2个Web Profile,也可以选择第1个JavaEE Full Platform
可以看到,新建好的项目是有新建Servlet选项的。但是如果重启IDEA就会发现右键新建Servlet选项又莫名其妙的消失不见了(如果新建Servlet选项还在可以直接跳过此步骤)
打开项目结构,选择Fecet,将下面的两个源根勾选并保存。再次右键新建就会发现Servlet的选项又回来了!
通过此方式新建的Servlet运行在Tomcat上是不会出现任何问题的,那么为什么有些同学会出现404的错误呢?
首先打开Tomcat官网
(一定要对照官网给的的最低版本)
因为servlet-api Maven的最高版本为4.0.1,所以下面以Servlet 4.0为例
配置好@WebServlet("/")访问路径
直接在URL输入自己配置的访问路径,即可正确访问,但是有的同学又会出现如图所示的问题(下面随便输入的一个URL)
404问题是指访问路径不正确,首先检查自己的@WebServlet配置路径有没有错,再检查一下URL地址输入有没有错(很少会有人把访问路径输错,所以大概率是项目结构的问题,如果按照前面的步骤新建Servlet可以避免此类问题)验证是否为项目结构问题可以采用web.xml配置映射路径(具体配置方式不详细介绍)
采用web.xml配置映射路径时又会发现<servlet-class>无法访问到servlet的包结构,这时可以确定为项目结构问题。
解决项目结构问题可以按照上文新建Servlet标准步骤,项目结构问题解决之后可以发现web.xml配置的访问路径可以正常访问包结构了
URL访问@WebServlet("/")配置的路径名也不会出错,问题完美解决!