欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于Spring一个配置问题的解决noHandlerFound 博客分类: Spring Java WebSpringnoHandlerFound 

程序员文章站 2024-02-10 11:39:04
...

在做Spring框架学习时,遇到一个练习题,始终爆出错误

org.springframework.web.servlet.DispatcherServlet noHandlerFound

我的Spring是3.1.0的,这里没有采用注解方式

 

我的web.xml配置如下

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	<servlet>
	<servlet-name>spring</servlet-name>
		<!-- 配置DispatcherServlet -->
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>1</load-on-startup><!-- Servlet自启动顺序号 -->
	</servlet>
	<servlet-mapping>
		<servlet-name>spring</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			/WEB-INF/spring-servlet3.xml
		</param-value>
	</context-param>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

 

 

我的spring-servlet3.xml配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
	<!-- Spring文件上传 -->
	<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		<property name="defaultEncoding" value="gb2312" /><!-- 强求编码格式gb2312 -->
		<property name="maxUploadSize" value="500000" /> <!-- 最大上传文件为500000字节 -->
		<property name="uploadTempDir" value="upload/tempfile" /> <!-- 上传文件的临时路径 -->
	</bean>
	
	<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
		<property name="mappings">
			<props>
				<prop key="/upload.do">uploadController</prop>
			</props>
		</property>
	</bean>
	
	<bean id="uploadController" name="/upload.do" class="suse.ly.upload.UploadController">
		<property name="commandClass" value="suse.ly.upload.UploadBean" />
		<property name="formView" value="upload" />
		<property name="successView" value="success" />
	</bean>
	
	<!-- 配置视图解析器 -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix">
		<!-- 前缀 -->
		<value>/</value>
		</property>
		<property name="suffix">
		<!-- 后缀 -->
		<value>.jsp</value>
		</property>
	</bean>
</beans> 

 

然后我就找我的Controller哪里配置不正确,网上又搜了,最后还是不得行。

 

无赖看了一下错误下面的提示发现与先前的配置的.do路径不对,在先前的基础上多加了Spring0.3也即网站根路径

我突然觉嘚好像这里的文件名不对,抱着试一试的心态,将先前的spring-servlet.xml删掉,将spring-servlet3.xml改为spring-servlet.xml然后重启工程

OK,搞定了,就这样解决问题了

 

通过这次问题说明在Spring中spring-servlet.xml是Spring找的默认配置文件,如果没有配置对,将会出现异常.