2014-04-22 35 views
0

我正在嘗試使用BeanNameUrlHandlerMapping中的Spring 4.0.3。我運行Web應用程序,一切都很好。控制檯日誌中沒有錯誤。在Spring MVC中使用BeanNameUrlHandlerMapping時未找到映射

但我得到此警告消息:

2014年4月22日上午09點47分48秒org.springframework.web.servlet.PageNotFound noHandlerFound警告:未發現與URI [HTTP請求映射/springmvc_beanurlhandler/beanurhandlermapping.html在 DispatcherServlet的名爲「調度」

當我點擊了鏈接,我得到的404錯誤頁面。

這是我的代碼:

控制器

public class BeanNameUrlHandlerMappingController extends AbstractController { 

    @Override 
    protected ModelAndView handleRequestInternal(HttpServletRequest request, 
      HttpServletResponse response) throws Exception { 
     // TODO Auto-generated method stub 
     String message = "BeanNameUrlHandlerMapping invoked!"; 
     System.out.println(message); 

     ModelAndView modelAndView = new ModelAndView("success"); 
     modelAndView.addObject("message", message); 

     return modelAndView; 
    } 

} 

調度員的servlet

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"> 

    <context:component-scan base-package="com.fanjavaid.controller" /> 

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

    <bean id="defaultHandlerMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" /> 

    <!-- Some Url Mapping --> 
    <bean name="/beanurlhandlermapping.html" class="com.fanjavaid.controller.BeanNameUrlHandlerMappingController" /> 

</beans> 

的web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> 
    <display-name>springmvc_beanurlhandler</display-name> 
    <welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    <welcome-file>index.jsp</welcome-file> 
    <welcome-file>default.html</welcome-file> 
    <welcome-file>default.htm</welcome-file> 
    <welcome-file>default.jsp</welcome-file> 
    </welcome-file-list> 

    <servlet> 
    <servlet-name>dispatcher</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>dispatcher</servlet-name> 
    <url-pattern>*.html</url-pattern> 
    </servlet-mapping> 

</web-app> 

project structure

以上是我的項目結構。

請幫忙,謝謝。

+0

什麼是您正在使用調用這個網址是什麼? – Prasad

+0

我在index.jsp中使用了這個'Click to test BeanURLHandlerMapping' – fanjavaid

回答

1

在調度-servlet.xml中,你必須映射控制器:在

<bean name="/beanurlhandlermapping.html" class="com.fanjavaid.controller.BeanNameUrlHandlerMappingController" /> 

做出改變的index.jsp爲:

<a href="beanurlhandlermapping.html">Click to test BeanURLHandlerMapping</a> 
+0

我已經在index.jsp中使用了它'Click to test BeanURLHandlerMapping'仍然出現404錯誤。 – fanjavaid

+1

l在你的映射中缺少;) – Prasad

+0

哦,天啊! :現在它工作。非常感謝你。 :) – fanjavaid