`

关于Spring一个配置问题的解决noHandlerFound

阅读更多

在做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找的默认配置文件,如果没有配置对,将会出现异常.

0
0
分享到:
评论
1 楼 ueu2715 2014-03-14  
好像是 项目名-servlet.xml吧,在servlet里面也可以配置

相关推荐

Global site tag (gtag.js) - Google Analytics