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 篇原创文章 · 获赞 1 · 访问量 34
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览