SpringMVC——HTTP Status 404

org.springframework.web.servlet.DispatcherServlet.noHandlerFound No mapping found for HTTP request with URI [/] in DispatcherServlet with name 'DispatcherServlet’

SpringMVC运行过程中遇到这个报错怎么办?

在这里插入图片描述

首先检查servlet-mapping中的配置是否正确:

<servlet-mapping>
  <servlet-name>DispatcherServlet</servlet-name>
  <url-pattern>/*</url-pattern>
</servlet-mapping>

servlet的url-pattern设置为/*时,它会覆盖其他所有的servlet,包括servlet容器提供的所有servlet,如缺少servlet和JSP servlet。 无论你发出什么请求,都会在该servlet拦截处理。通常我们不会这么做。如果你只是想使用/*,那么你可以在Filter中使用,它处理完后会将url交给servlet处理。

servlet的url-pattern设置为/时, 它仅替换servlet容器的默认内置servlet,用于处理所有与其他注册的servlet不匹配的请求。直白点说就是,所有静态资源(js,css,image,html等)的访问都将交给该servlet处理,而jsp页面则交给servlet容器内置的JSP servlet处理。

引用链接:https://www.jianshu.com/p/186ba66362a9

因此将servlet的url-pattern设置为/即可:

<servlet-mapping>
  <servlet-name>DispatcherServlet</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>

成功!

而enter这个超链接点进去又发生了错误怎么办?

/hello的映射未找到

报错:org.springframework.web.servlet.DispatcherServlet.noHandlerFound No mapping found for HTTP request with URI [/hello] in DispatcherServlet with name 'DispatcherServlet’

发生这个问题可能是你没有在xml中配置bean。

<bean id="hello2020" class="cn.demo.controller.HelloController"/>

加上这行代码就可以正常运行啦:

超链接点击成功!
还有一个办法,就是添加另一个注解context:component-scan自动扫描并载入bean:

<context:component-scan base-package="cn.demo"/>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值