2015-10-12 59 views
1

我使用Maven創建 一個Spring4 MVC應用程序以「Maven的原型 - web應用」爲的artifactId和 添加依賴「春芯」,「彈簧網絡」, 「春-MVC」 下面是 「web.xml中」 & 「的HelloWeb-servlet.xml中」春MVC4沒有映射發現HTTP請求的URI與使用Maven

的web.xml

<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"> 
<display-name>Spring MVC Application</display-name> 
<servlet> 
    <servlet-name>HelloWeb</servlet-name> 
    <servlet-class> 
    org.springframework.web.servlet.DispatcherServlet 
    </servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>HelloWeb</servlet-name> 
    <url-pattern>*.html</url-pattern> 
</servlet-mapping> 
</web-app> 

HelloWeb-

package com.zap.pm; 
import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.servlet.ModelAndView; 

@Controller 
public class HelloController{ 

@RequestMapping(value="/test") 
public String printHello() { 
    ModelAndView model=new ModelAndView(); 
    model.addAttribute("message", "Hello Spring MVC Framework!"); 
    return "hello"; 
    } 
} 

我已經把裏面的 「/ WEB-INF/JSP /」 但當hello.jsp中servlet.xml中

<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:context="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-4.0.xsd 
http://www.springframework.org/schema/context 
http://www.springframework.org/schema/context/spring-context-4.0.xsd 
http://www.springframework.org/schema/mvc 
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"> 

<context:component-scan base-package="com.zap.pm.*" /> 
<mvc:annotation-driven /> 
<bean id="viewResolver" 
    class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="prefix" value="/WEB-INF/jsp/" /> 
    <property name="suffix" value=".jsp" /> 
</bean> 

和我的控制器類是波紋管訪問請求「http://localhost:8080/webappspring/test.html」 它給出以下錯誤

Oct 12, 2015 7:10:13 PM  org.springframework.web.servlet.DispatcherServlet noHandlerFound 
WARNING: No mapping found for HTTP request with URI [/webappspring/test.html] in DispatcherServlet with name 'HelloWeb' 

我在這裏訪問了更加粘稠的問題,但沒有一個解決我的問題。

回答

2

請檢查您的應用程序的文件夾結構,我都面臨着同樣的問題,我的控制器在src/main/resources文件夾而不是src/main/java

+0

對我來說是它的工作,現在我關心的是爲什麼maven不創建該文件夾結構,我必須手動創建它。 –

+0

只需將您的J2SE環境更改爲Java - 7或更高版本即可 – Devloper

2

更改背景:組件掃描基包路徑是這樣,你不需要一個星號:

<context:component-scan base-package="com.zap.pm" /> 
+0

我已經嘗試了您提到的刪除星號,但仍然有相同的錯誤。 –

+0

只需將您的J2SE環境更改爲Java - 7或更高版本 – Devloper

相關問題