2013-06-22 74 views
0

我在彈簧應用程序中遇到問題。我正在嘗試創建非常簡單的應用程序。簡單的彈簧應用程序無法啓動(映射問題)

的web.xml

<web-app version="3.0" 
     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/j2ee/web-app_3_0.xsd"> 

    <servlet> 
     <servlet-name>mvc-dispatcher</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>mvc-dispatcher</servlet-name> 
     <url-pattern>/*</url-pattern> 
    </servlet-mapping> 

    <context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value> 
    </context-param> 

    <listener> 
     <listener-class> 
      org.springframework.web.context.ContextLoaderListener 
     </listener-class> 
    </listener> 
</web-app> 

MVC-調度-servlet.xml中

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

    <context:component-scan base-package="com.controller" /> 
    <context:annotation-config/> 
    <mvc:annotation-driven/> 

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

MainController

package com.controller; 

import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 

@Controller 
public class MainController { 

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

的index.jsp

<%@page contentType="text/html; charset=utf-8" %> 

<!DOCTYPE html> 
<html> 
<head> 
    <title>Some page</title> 
    <jsp:include page="parts/head.jsp"/> 
</head> 

<body> 
<jsp:include page="parts/header.jsp"/> 

<section role="main"> 
    Hello. This will be main page. 
</section> 

<jsp:include page="parts/footer.jsp" /> 
</body> 
</html> 

所以...一切看起來不錯......但是有一個問題。我開始這個應用程序和日誌:

INFO: Mapped "{[/],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String com.controller.MainController.index() 
WARNING: No mapping found for HTTP request with URI [/WEB-INF/pages/index.jsp] in DispatcherServlet with name 'mvc-dispatcher' 
jun 23, 2013 12:37:49 AM org.springframework.web.servlet.DispatcherServlet noHandlerFound 

所以。 Tomcat找到控制器,執行它,找到視圖(頁面),...找不到映射(頁面)。我的錯誤在哪裏?謝謝您的回答

+0

什麼是你用來訪問你的應用程序的完整網址? – vincentks

+0

localost:8080 /問題已經解決。感謝您的回答。 – DemongD

回答

0

更改此:

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

這樣:

<servlet-mapping> 
    <servlet-name>dispatcher</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 
+0

非常感謝。它有助於!!! – DemongD