2017-10-15 117 views
0

org.springframework.web.servlet.PageNotFound noHandlerFound控制器類映射

我沒能找到下面的代碼中的錯誤,因爲我剛剛學習Spring MVC的。 無法在控制器類中映射請求,並嘗試檢查配置文件但無法找到錯誤。請幫助我完成該計劃。

的web.xml

<!DOCTYPE web-app PUBLIC 
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
"http://java.sun.com/dtd/web-app_2_3.dtd" > 

<web-app> 
<display-name>Archetype Created Web Application</display-name> 


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

<servlet-mapping> 
    <servlet-name>telusko</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

telusko-servlet.xml中

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:ctx="http://www.springframework.org/schema/context" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
    http://www.springframework.org/schema/mvc 
    http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd 

    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-2.5.xsd "> 
    <ctx:annotation-config></ctx:annotation-config> 
    <ctx:component-scan base-package="com.telusko"></ctx:component-scan> 
    </beans> 

的pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0"  
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>com.pluralsight</groupId> 
<artifactId>teludkospringmvc</artifactId> 
<packaging>war</packaging> 
<version>0.0.1-SNAPSHOT</version> 
<name>teludkospringmvc Maven Webapp</name> 
<url>http://maven.apache.org</url> 
<dependencies> 

    <dependency> 
    <groupId>junit</groupId> 
    <artifactId>junit</artifactId> 
    <version>3.8.1</version> 
    <scope>test</scope> 
    </dependency> 

    <dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-context</artifactId> 
    <version>4.1.8.RELEASE</version> 
    </dependency> 

    <dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-webmvc</artifactId> 
    <version>4.1.8.RELEASE</version> 
</dependency> 

<dependency> 
    <groupId>mysql</groupId> 
    <artifactId>mysql-connector-java</artifactId> 
    <version>5.1.36</version> 
</dependency> 

<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>jstl</artifactId> 
    <version>1.2</version> 
</dependency> 

</dependencies> 
<build> 
<finalName>teludkospringmvc</finalName> 
</build> 
</project> 

Controller類

package com.telusko; 
import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
@Controller 
public class AddController { 

@RequestMapping("/add") 
public void add(){ 
System.out.print("hi"); 
} 

} 

ErrorResult

WARNING: No mapping found for HTTP request with URI [/teludkospringmvc/add] 
in DispatcherServlet with name 'telusko' 
+0

你嘗試只是視圖解析器本地主機:8080 /補充的嗎? –

+0

不,只要我點擊index.jsp中的提交按鈕,其中action =「add」,它應該與控制器映射。謝謝你的建議將check.please檢查配置文件,如果有什麼不對。 –

+0

如果你的代碼是在github上,我可以看看你 –

回答

0

我認爲你缺少你telusko-servlet.xml文件這一行,使Spring MVC的註解:

<mvc:annotation-driven/> 

希望工程。

0

更新:在添加<mvc:annotation-driven/>後按照mlg的建議。

你還在懷念內部reourse他們找不到你display.jsp

telusko-servlet.xml中

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

AddController.java

@Controller 
public class AddController { 

    @RequestMapping("/add") 
    public String add(){ 
     return "display"; 
    } 

} 
+0

我認爲這與資源解析器無關。錯誤是當spring無法綁定控制器時。正如@mlg所指出的那樣,它缺少了驅動的mvc配置註釋。 –

+0

他跟着mlg的代碼添加這行,但他仍然缺少資源解析器,我已經在github中運行他的代碼。 –

+0

好的,在這種情況下,我認爲這個問題是關閉的,因爲錯誤配置的視圖解析器會給他不同的錯誤信息。 –