首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Spring MVC 簡單範例報錯「No mapping found」完整排查指南

     編輯:程式設計疑難解答

錯誤現象

啟動專案訪問 /springmvc4/test1/helloworld 時,控制台輸出:

WARNING: No mapping found for HTTP request with URI [/springmvc4/test1/helloworld] in DispatcherServlet with name 'springmvc'

常見原因與檢查清單

  1. Controller 掃描路徑錯誤:確認 spring-servlet.xml 中 <context:component-scan base-package="com.web.controller" /> 包含 Controller 所在套件。
  2. RequestMapping 路徑不匹配:Controller 類需標註 @RequestMapping("/test1"),方法標註 @RequestMapping("/helloworld"),或直接在方法上寫完整路徑。
  3. DispatcherServlet 映射路徑:web.xml 中 <url-pattern>/</url-pattern> 應為 / 而非 /*,否則靜態資源與 JSP 解析會衝突。
  4. ViewResolver 前綴/後綴:確認 prefix="/WEB-INF/views/"、suffix=".jsp" 與實際 JSP 放置位置一致。

修正後的關鍵配置

<!-- spring-servlet.xml -->
<context:component-scan base-package="com.web.controller" />
<mvc:annotation-driven />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/views/" />
    <property name="suffix" value=".jsp" />
</bean>
// HelloWorldController.java
@Controller
@RequestMapping("/test1")
public class HelloWorldController {
    @RequestMapping("/helloworld")
    public String hello() {
        System.out.println("進入 Controller");
        return "welcome"; // 對應 /WEB-INF/views/welcome.jsp
    }
}

除錯技巧

  • 啟動後訪問 /springmvc4/test1/helloworld 觀察控制台是否印出「進入 Controller」。
  • 若仍 404,檢查 Tomcat 部署路徑是否包含專案名 springmvc4。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved