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

2023-11-08

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等你们

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 数据分析08——Pandas中对数据进行数据清洗

    0 前言 使用pandas修改数据是否会改变源数据 Pandas 对 DataFrame 的操作通常是针对原始数据本身而不是其副本的 例如 当我们使用 loc 或 iloc 方法选择 DataFrame 中的某行或某列并进行修改时 实际上是
  • python实现手势识别

    python实现手势识别 入门 使用open cv实现简单的手势识别 刚刚接触python不久 看到了很多有意思的项目 尤其时关于计算机视觉的 网上搜到了一些关于手势处理的实验 我在这儿简单的实现一下 PS 和那些大佬比起来真的是差远了 毕
  • Flink Sql使用mysql-cdc捕获多个表失败的问题

    问题描述 要捕获同一个库里的多个表的binlog 程序不报错 但是修改某个表后没有结果没有任何改变 fllinkSql的with语句 WITH connector mysql cdc hostname s port s username s
  • Linux安装anaconda3是否初始化的区别

    Linux安装anaconda3提示是否希望安装程序通过运行conda init来初始化Anaconda3 Do you wish the installer to initialize Anaconda3 by running conda
  • 数据结构1.1.1单链表的实现

    1 初始化链表节点内容 typedef struct char isbn 20 char name 10 double price Book typedef struct list Book date struct list next Li
  • GIT——! [rejected] master -> master (non-fast-forward)

    问题 rejected master gt master non fast forward error failed to push some refs to ssh 192 168 137 64 29418 51Selling git h
  • Maven的安装与使用

    一 简介 1 什么是Maven Maven翻译为 专家 内行 的意思 是著名Apache公司下基于Java开发的开源项目 Maven项目对象模型 POM 是一个项目管理工具软件 可以通过简短的中央信息描述来管理项目的搭建 报告和文档等步骤
  • JS+AES解密(CBC模式、输出HEX)

    if tokenMsgs const response await getMqttMsgService let mqttMsg response data msg state mqttconfigs mqttMsg const aesKey
  • 【工具类】发送邮件表格html生成类

    发送邮件的时候 有时候要自己拼html画一个表格 嫌麻烦就写了个工具类 核心类MailTableBuilder import java util MailTableCell author zgd date 2022 8 25 17 43 p
  • 【JAVA】垃圾回收详解

    文章目录 垃圾回收 调用垃圾回收器的方法 finalize 方法 判断对象是否可回收 引用计数算法 根搜索算法 引用的分类 垃圾回收算法 标记 清除算法 标记 整理算法 复制算法 分代收集算法 分配内存与回收策略 Minor GC 和 Fu
  • 使用UDP实现下载上传

    include
  • python基础知识点汇总

    本文包括python基本知识 简单数据结构 数据结构类型 可变 列表 字典 集合 不可变 数值类型 字符串 元组 分支循环和控制流程 类和函数 文件处理和异常等等 python控制语句 if语句 当条件成立时运行语句块 经常与else el
  • 纯js原生实现图片批量下载

    前端纯js实现图片批量下载到本地 图片转base64 getImageBase64 image const canvas document createElement canvas canvas width image width canv
  • 4行Python代码打败美图秀秀

    我们平时使用一些图像处理软件时 经常会看到其对图像的亮度 对比度 色度或者锐度进行调整 你是不是觉得这种技术的底 层实现很高大上 其实最基础的实现原理 用 Python 实现只需要几行代码 学会后你也可以进行简单的图像增强处理了 图像增强哪
  • wsl 内突然不能上网了

    现象 1 一开始是间歇性无法联网 无法连接外网 表现为 apt get update 时请求失败 国内源 2 尝试 ping www baidu com等外网域名 超时 nslookup能够正常解析域名 IP 在 host 主机上也能够正常
  • 进程和线程:进程的开销比线程大在了哪里?

    进程和线程 进程 Process 顾名思义就是正在执行的应用程序 是软件的执行副本 而线程是轻量级的进程 进程是分配资源的基础单位 线程很长一段时间被称作轻量级进程 Light Weighted Process 是程序执行的基本单位 在计算
  • pyltp安装教程windows11

    我是用anaconda创建一个环境 这个比较容易管理 第一步 anaconda创建环境 网上很多教程 第二步 安装pyltp 第一种方法 pip install pyltp 用这个多半失败 第二种方法 用wheel安装 下载wheel 参考
  • 使用 CUBLAS 库给矩阵运算提速

    前言 编写 CUDA 程序真心不是个简单的事儿 调试也不方便 很费时 那么有没有一些现成的 CUDA 库来调用呢 答案是有的 如 CUBLAS 就是 CUDA 专门用来解决线性代数运算的库 本文将大致介绍如何使用 CUBLAS 库 同时演示
  • python项目构建_通过构建4个项目来学习Python网络

    python项目构建 The Python programming language is very capable when it comes to networking We ve released a crash course on
  • [JavaWeb]完美解决IDEA(2022)新建没有Servlet选项(无法访问Servlet 404问题)

    IntelIJ IDEA在2022版本中更新和2021版本界面差距还是比较大的 你们是否有遇到过以下问题呢 右键包没有新建Servlet的选项 WebServlet 404 web xml配置映射时