No bean named 'departmentController' is defined

No bean named 'departmentController' is defined

http://img1.sycdn.imooc.com//climg/5ee2649409f46ed823861430.jpg

访问http://localhost:8080/department/list.do

出现No bean named 'departmentController' is defined

断点调试之后界面是这样显示。

网页报如下:

Exception

org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'departmentController' is defined
org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:638)
org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1159)
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:282)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)
org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:973)
com.imooc.sm.global.DispatcherServlet.service(DispatcherServlet.java:46)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
com.imooc.sm.global.EncodingFilter.doFilter(EncodingFilter.java:22)


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

4回答
好帮手慕阿慧 2020-06-12 19:38:09

同学你好,同学提供的DepartmentController代码测试没有问题。

1、同学可以查看一下项目请求路径是不是/,如下:

http://img1.sycdn.imooc.com//climg/5ee3689e095eff9f10870689.jpg

2、同学可以在DispatcherServlet类中添加代码,如下:

http://img1.sycdn.imooc.com//climg/5ee368b109a6772f07930133.jpg

访问deparment/list.do,查看控制台输出信息,如:

http://img1.sycdn.imooc.com//climg/5ee368d909bbc05717970099.jpg

查看一下输出信息是否正确。

3、departmentController没有配置好,请同学检查一下老师教授的配置是否正常配置哦。同学可以下载课程源代码,将源代码中的配置文件覆盖同学项目中的配置文件。

如果问题没有解决,建议同学贴一下错误信息和控制台的输出信息,配置文件。贴一下项目结构截图。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

好帮手慕阿慧 2020-06-12 16:46:48

同学你好,建议同学检查一下配置文件是否与老师的一致。例如:spring.xml中是否配置了全局扫描:

http://img1.sycdn.imooc.com//climg/5ee340ad09d3a91710480524.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 周鸿宁 #1
    开了: <!-- 全局扫描 --> <context:component-scan base-package="com.imooc.sm"/> <aop:aspectj-autoproxy/>
    2020-06-12 19:15:35
好帮手慕阿慧 2020-06-12 14:07:21

同学你好,建议同学在DispatcherServlet类中添加输出语句,如下:

http://img1.sycdn.imooc.com//climg/5ee31b5f09775f8f05620243.jpg

项目右击选择构建或重构项目。如下:

http://img1.sycdn.imooc.com//climg/5ee31b6d091a4f7304210401.jpg

启动Tomcat并访问,查看控制台是否有输出departmentController,如下:

http://img1.sycdn.imooc.com//climg/5ee31c0b0948558a06080142.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 周鸿宁 #1
    控制台没有,我想粘贴过来,但是这里却不能回复1500字符,建议你们的产品经理去学习一下如何设计,用户体验很不好,没有站在提问者的角度思考问题,提问的编辑框也很小,根本不放方便贴一大段的代码
    2020-06-12 16:32:43
好帮手慕阿慧 2020-06-12 11:12:07

同学你好,同学是否忘记写Controller注解或者是bean名称写错了呢?建议你检查一下,如下:

http://img1.sycdn.imooc.com//climg/5ee2f27309df09f803980097.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 周鸿宁 #1
    没有错 package com.imooc.sm.controller; import com.imooc.sm.entity.Department; import com.imooc.sm.service.DepartmentService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; @Controller("departmentController") public class DepartmentController { @Autowired private DepartmentService departmentService; // /department/list.do /department_list.jsp public void list(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List<Department> list=departmentService.getAll(); request.setAttribute("LIST",list); request.getRequestDispatcher("../department_list.jsp").forward(request,response); } }
    2020-06-12 13:24:18
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师