0

我在请求映射中有一个小问题,

我有controllerA请求映射作为

@Controller
@RequestMapping(value={"login/formA.html", "B/formB.html", "C/formC.html"})
public class ControllerA {
} 

我需要在不干扰现有控制器的情况下再创建一个控制器,

第二个控制器的请求映射,如下所示

@Controller
@RequestMapping(value={"X/test1", "Y/test2", "Z/test3"})
public class ControllerB {
}

如何配置spring-servlet.xml以配置上述场景并使其工作。

我有web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
    xmlns="https://java.sun.com/xml/ns/j2ee" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="https://java.sun.com/xml/ns/j2ee https://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <servlet>
        <servlet-name>spring</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
        <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>/public/login/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>/public/signout/*</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>/public/X/*</url-pattern>
    </servlet-mapping>

</web-app>     

我的spring-servlet.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"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <mvc:annotation-driven/>

    <context:component-scan
        base-package="com.abc.xyz.controller"/>

    <context:component-scan
        base-package="com.abc.xyz.controller.example1"/>    

    <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />

    <bean class='org.springframework.web.servlet.view.ContentNegotiatingViewResolver' p:order='1'>
            <property name='mediaTypes'>
                  <map>
                        <entry key='json' value='application/json' />
                        <entry key='html' value='text/html' />
                  </map>
            </property>

            <property name='viewResolvers'>
                  <list>
                        <bean class='org.springframework.web.servlet.view.BeanNameViewResolver' />
                        <bean class='org.springframework.web.servlet.view.UrlBasedViewResolver'>
                              <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
                              <property name="prefix" value="/WEB-INF/jsp/"/>
                              <property name="suffix" value=".jsp"/>
                        </bean>
                  </list>
            </property>


      </bean>

请给我建议来解决这个问题,几天后就解决了。

提前致谢。

4

1 回答 1

0

在 web.xml 中再添加一个 servlet 映射,如下所示

<servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>/public/*/*</url-pattern>
</servlet-mapping>
于 2013-03-01T10:27:10.863 回答