0

我正在尝试在 Spring 2.5 中进行 RESTful URL 映射。这实质上意味着:/fetch/(something) 应该都与控制器 fetch 匹配

并且控制器会根据参数(某事)做某事

我将此添加到我的弹簧配置中:

<bean id="fetchController" class="(package).fetchController" scope="singleton"/>

<bean id="fetchService" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
        <props>
            <prop key="/fetch/*">fetchController</prop>
        </props>
    </property>
</bean>

并将以下内容添加到我的web.xml

<servlet-mapping>
    <servlet-name>springGlobal</servlet-name>
    <url-pattern>/fetch/*</url-pattern>
</servlet-mapping>

<servlet>
    <servlet-name>springGlobal</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

但这似乎并不正确。日志显示:org.springframework.web.servlet.PageNotFound - 在 DispatcherServlet 中找不到带有 URI [/fetch/charts] 的 HTTP 请求映射,名称为“springGlobal”

4

1 回答 1

1

控制器处理程序映射相对于 servlet 映射进行解析。因此,您所拥有的将映射到

/fetch/fetch/*

你应该使用

<property name="mappings">
    <props>
        <prop key="/*">fetchController</prop>
    </props>
</property>
于 2013-09-18T17:33:26.187 回答