Spring MVC 404 两种情况分析
今天总结的时候发现的问题:
第一种
你在applicationContext.xml文件里配置的包扫描把 controller层的包给扫描了这是错误的,applicationContext.xml文件不应该扫描控制层,需要把他排除掉 在applicationContext.xml写如下代码!
<context:component-scan base-package="com">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
第二种
在没有配置视图解析器的情况下
通过 控制层通过 字符串 返回 页面时,回报 404源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。
原因在于,controller层解析时返回的时它当前的路径而不是根路径,所以找不到服务器报 404。
两种解决方案
1.要么在springmvc-config.xml文件配置视图解析器
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/"/>
<property name="suffix" value=".jsp"/>
</bean>
2.在返回的字符串型的jsp页面的名字前+
../
就ok