项目web.xml中配置DispatcherServlet时,红色波浪线报错(Cannot resolve Servlet ‘DispatcherServlet‘)

简介: 项目web.xml中配置DispatcherServlet时,红色波浪线报错(Cannot resolve Servlet ‘DispatcherServlet‘)

编译软件:IntelliJ IDEA 2019.2.4 x64

操作系统:win10 x64 位 家庭版

Maven版本:apache-maven-3.6.3

spring mvc版本:5.3.1

项目案例场景

SpringMvc框架下的Restful的CRUD的demo 练习

需求分析

1:获取所有员工信息

  1. URL:/emps
  2. 请求方式:GET
  3. 显示效果如下所示:

2:添加操作去添加员工的页面

  1. URL:/toAddPage
  2. 请求方式:GET
  3. 显示效果

3:添加操作-添加员工

  1. URL:/emps
  2. 请求方式:POST
  3. 添加成功之后【重定向到查询所有员工的UR】

ps: 我这里实现的思路是先添加员工,然后调用并返回查询所有员工的方法的返回值响应给浏览器

Controller层相关实现代码如下:

@GetMapping("/emps")
   /**
    * 配置URL [/emps],服务器使用ModelAndView对象处理响应数据
    *  查询所有员工信息
    */
    public ModelAndView selectAllEmps(){
       ModelAndView mv=new ModelAndView();
       mv.setViewName("emps");
       //将list集合employees存放进请求域中
       Collection<Employee> employees = employeeService.showAllEmps();
       mv.addObject("employees",employees);
       return mv;
   }
 /**
     * 添加员工
     * @param employee
     * @return
     */
   @PostMapping("/emps")
   //使用pojo入参
   public ModelAndView addEmps(Employee employee){
       boolean b = employeeService.addEmp(employee);
       System.out.println(b==true?"添加成功":"添加失败");
       return selectAllEmps();
   }
  1. 需求显示效果

4:删除员工

  1. URL:emps/id
  2. 请求方式:DELETE、
  3. 点击删除按钮弹出提示框
  4. 删除成功之后同样重定向到查询所有员工的URL

ps: 我这里实现的思路是先删除员工,然后调用并返回查询所有员工的方法的返回值响应给浏览器【转发】,并非是重定向

  1. 显示效果:对应的员工信息从前端页面中直接删除

5:修改操作去修改员工的页面

  1. URL:/toUpdatePage/{id)
  2. 请求方式:GET
  3. 根据员工的id从数据库中查询员工信息
  4. 员工id不能修改,设置为只读
  5. 效果如下:


问题描述:在项目web.xml中配置DispatcherServlet时,红色波浪线报错(Cannot resolve Servlet ‘DispatcherServlet‘)

如下所示:


原因分析

出现这个报警是因为Spring MVC 框架无法找到名称为 “dispatcherServlet” 的 Bean。

Spring MVC 框架会在启动时查找名为 dispatcherServlet 的 Servlet Bean,并将其注册到 Servlet 容器中。如果该 Bean 无法正常创建或者未能被正确地扫描和加载,就会引发 "Cannot resolve Servlet 'dispatcherServlet'" 的异常。

查询相关资料,我发现有几个常见的原因可能导致这个问题:

  • web.xml 中的配置错误,在 Web 应用程序的 web.xml 文件中定义了 servlet 和 filter 的映射关系,如果其中与 Spring MVC 中相应的配置不匹配,就会导致前端控制器 DispatcherServlet 无法找到对应的 Bean。
  • ②web.xml中相关配置代码正确,可能是 Spring MVC框架不能正确加载或扫描该web.xml文件
  • 如果Spring MVC 框架的版本更新到了较新的版本,但是没有相应修改相关配置,也容易导致该错误的出现
  • 未导入相关jar包

综上所述,首先我的Spring Mvc框架的jar包是基于5.3.1的版本,其他依赖也是适配5.3.1的Spring Mvc版本且已经正确导入。故原因③ & ④排除

web.xml中关于DispatcherServlet的相关配置代码都是从上一个工程文件直接复制过来的,故web.xml配置正确,排除原因①,检查分析原因③,检查Spring Mvc是否可以正确扫描加载到web.xml文件。打开”Project Structure“,我发现我的Spring Mvc模块中的web工程引用了项目中另一个web工程的web.xml文件,难怪报错!!!


解决方案:检查Spring Mvc是否可以正确扫描加载到web.xml文件,若不能,重新设置选择web.xml路径

①找到下面的图标,点击打开“Project Structure“,或者按快捷键”Ctrl+Alt+Shift+S“打开。

②”Modules“ -> 选中你要检查的spring mvc模块 -> 选中’Web" -> 检查两个路径是否正确【web.xml所在的路径与web.xml相关联的web工程根路径是否正确】(ps,我是这里引用了项目中另一个web工程的web.xml文件而导致的飘红

重新修改引用web.xml的路径,使之Spring Mvc可以正确加载该web.xml即可

③依次点击 Maven中的 clear 与 compile,,便可解决问题

相关文章
|
3月前
|
算法 Java Go
【GoGin】(1)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
gin 框架中采用的路优酷是基于httprouter做的是一个高性能的 HTTP 请求路由器,适用于 Go 语言。它的设计目标是提供高效的路由匹配和低内存占用,特别适合需要高性能和简单路由的应用场景。
324 4
|
6月前
|
存储 Linux Apache
在CentOS上配置SVN至Web目录的自动同步
通过上述配置,每次当SVN仓库中提交新的更改时,`post-commit`钩子将被触发,SVN仓库的内容会自动同步到指定的Web目录,从而实现代码的连续部署。
211 16
|
6月前
|
前端开发 Java API
Spring Cloud Gateway Server Web MVC报错“Unsupported transfer encoding: chunked”解决
本文解析了Spring Cloud Gateway中出现“Unsupported transfer encoding: chunked”错误的原因,指出该问题源于Feign依赖的HTTP客户端与服务端的`chunked`传输编码不兼容,并提供了具体的解决方案。通过规范Feign客户端接口的返回类型,可有效避免该异常,提升系统兼容性与稳定性。
464 0
|
10月前
|
Java 应用服务中间件 API
Servlet开发流程 (里面有Idea项目添加Tomcat依赖详细教程)
本文详细介绍了Servlet的开发流程,包括在IntelliJ IDEA中添加Tomcat依赖的详细教程。通过上述步骤,开发者可以快速搭建并运行一个基本的Servlet应用,理解并掌握Servlet的开发流程对于Java Web开发至关重要。希望本文能够帮助开发者顺利进行Servlet开发,提高工作效率。
1278 78
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
241 4
|
XML Java 数据格式
Spring容器Bean之XML配置方式
通过对以上内容的掌握,开发人员可以灵活地使用Spring的XML配置方式来管理应用程序的Bean,提高代码的模块化和可维护性。
423 6
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
1091 8
|
JavaScript 前端开发 开发工具
web项目规范配置(husky、eslint、lint-staged、commit)
通过上述配置,可以确保在Web项目开发过程中自动进行代码质量检查和规范化提交。Husky、ESLint、lint-staged和Commitlint共同作用,使得每次提交代码之前都会自动检查代码风格和语法问题,防止不符合规范的代码进入代码库。这不仅提高了代码质量,还保证了团队协作中的一致性。希望这些配置指南能帮助你建立高效的开发流程。
745 5
|
XML 分布式计算 资源调度
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
538 5
|
监控 Java Maven
springboot学习二:springboot 初创建 web 项目、修改banner、热部署插件、切换运行环境、springboot参数配置,打包项目并测试成功
这篇文章介绍了如何快速创建Spring Boot项目,包括项目的初始化、结构、打包部署、修改启动Banner、热部署、环境切换和参数配置等基础操作。
1524 0