如何在Spring MVC中进行通配符bean映射?

时间:2013-09-18 17:29:22

标签: java spring tomcat spring-mvc

我正在尝试在Spring 2.5中进行RESTful URL映射。这基本上意味着: /取/(东西) 应该都与控制器提取相匹配

控制器将根据参数(某事)做某事

我将其添加到我的spring配置中:

<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 - 在名为'springGlobal'的DispatcherServlet中找不到带有URI [/ fetch / charts]的HTTP请求的映射

1 个答案:

答案 0 :(得分:1)

相对于servlet映射解析Controller处理程序映射。因此,您所拥有的内容将映射到

/fetch/fetch/*

你应该使用

<property name="mappings">
    <props>
        <prop key="/*">fetchController</prop>
    </props>
</property>