没有在弹簧控制器内找到请求映射

时间:2012-10-04 13:51:02

标签: java spring

我只是想创建一个简单的弹簧网络应用程序。当我尝试导航到http://localhost:8080/spring-test/VIEW/VIEW I receive 404 error :

HTTP Status 404 - /spring-test/VIEW/VIEW

type Status report

message /spring-test/VIEW/VIEW

description The requested resource (/spring-test/VIEW/VIEW) is not available.

我的以下配置是否正确?

TestController.java:

package com;

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


@Controller
@RequestMapping("VIEW")
public class TestController {

    @RequestMapping("VIEW")
    public String showView(final ModelMap argMap) {
        return "test.jsp";
    }

}

applicationContext.xml:

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


 <bean id="myController" class="com.TestController">

</bean>

 <bean id="portletModeHandlerMapping" class="org.springframework.web.portlet.handler.PortletModeHandlerMapping">
        <property name="order" value="0" />
        <property name="portletModeMap">
            <map>
                <entry key="view" value-ref="myController" />
            </map>
        </property>
    </bean>


</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"
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID"
    version="2.5">

    <display-name>Spring3MVC</display-name>


    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/spring/*.xml</param-value>
    </context-param>

    <servlet>
        <servlet-name>spring</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/applicationContext.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>*.html</url-pattern>
    </servlet-mapping>
</web-app>

项目布局:

enter image description here

3 个答案:

答案 0 :(得分:1)

我可能错了,但如果网址以spring结尾,则您的serlvet映射似乎会重定向到您的html servlet。看看访问/spring-test/VIEW/VIEW.html是否会给您带来同样的错误。

答案 1 :(得分:1)

<mvc:annotation-driven /> is missing 

here

查看

答案 2 :(得分:1)

我需要将servlet映射更改为:

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

感谢spring MVC servlet mapping

相关问题