SpringMVC中请求访问不到Controller类

时间:2017-02-18


继上个问题之后,又遇到了一个奇葩的问题,就是继承好了的SSM中的springMVC,发送的请求不经过Controller类直接报404错误,错误日志如下

[WARN ] 2017-02-18 15:27:50,202 method:org.springframework.web.servlet.DispatcherServlet.noHandlerFound(DispatcherServlet.java:1139)
No mapping found for HTTP request with URI [/JNCityScenicSpot/hello] in DispatcherServlet with name 'spring-mvc'


经过上百度,上CSDN搜,发生这种问题的原因一般有以下几个:(我的Spring的配置文件叫applicationContext.xml。提前给大家说一下)

1.web.xml的配置文件里的<url-pattern>/*</url-pattern>

<servlet-mapping>
  	<servlet-name>spring-mvc</servlet-name>
  	<url-pattern>/*</url-pattern>
  </servlet-mapping>
改为    <url-pattern>/</url-pattern>

<servlet-mapping>
  	<servlet-name>spring-mvc</servlet-name>
  	<url-pattern>/</url-pattern>
  </servlet-mapping>

2.Spring的配置文件  applicationContext.xml 里没有加入自动扫面注解包的配置

 配置如下


<context:component-scan base-package="com.kj.ctrl"/>


其中 com.kj.ctrl 是我放springMVC 的 Controller类(控制器类) 的包


3.Spring的配置文件 applicationContext.xml 里没有配置视图解析器


<bean id="viewResolver"	class="org.springframework.web.servlet.view.UrlBasedViewResolver">
	<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
	<property name="prefix" value="/WEB-INF/pages/" />
	<property name="suffix" value=".jsp" />
</bean>


4.在你配置的视图解析器里的路径下没有你要访问的文件!

例如我要访问的文件是hello.jsp。但是在/WEB-INF/pages这个路径下,没有hello.jsp。这时也会报这个错误。


5.在你写的Controller类(控制器类)的@RequestMapper(path="hello")  的请求不对。

假如你要请求的是helle,但是你写的是hello  springMVC找不到,所以……

总之,springMVC很奇葩,访问的路径或访问的页面不对(这里的不对包括不存在,名字写错)的话,他就会报404.


6.其他:

1.手误打错名字。这里可能会错现在任何地方,需要你细心找。一般是配置文件里起名字啊,引用参数啊之类!

2.没加有关jar包。我看有人说加了jackson的有关jar包就搞好的

3.没有加有关的命名空间

4.这个有点难发现。一般项目是复制的要小心了,文件的项目名和布署名不一致

右键项目==》Properties ==》Web Project Settings ==>修改成你的项目名即可。

参考:http://www.cnblogs.com/modouer/p/5880539.html


还有很多,具体的可以去这里看看  http://bbs.csdn.net/topics/390401966


我很悲催,是手误了!!!找了好几天!!!

希望大家平时心细些,不要犯我这种低级错误!!!


小生初来乍到,只是把自己的错误拿出来给大家借鉴一下,若有不对的地方,请大家指正!







  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值