Spring url映射不起作用

时间:2013-03-12 13:31:16

标签: java spring url servlets

我的Spring MVC中的url映射存在问题。我的目标是使用以下格式映射网址:“applicationName / app /”。

这是我的web.xml:

<?xml version="1.0" ?>
<web-app 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/javaee/web-app_3_0.xsd"
         version="3.0">
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

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

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

我的控制器:

@Controller
public class Controller {

    @RequestMapping(value = "app/1")
    @ResponseBody
    public String test1 (){
        return "test1";
    }
}

我尝试了“/ app / 1”和“/ app / 1 /”,但我的网址映射不起作用。

2 个答案:

答案 0 :(得分:3)

配置您的调度程序时,您的映射将是

{contextPath}/app/app/1

答案 1 :(得分:1)

在您的web.xml中,您正在使用/app/*并再次在您的控制器中提供了app/1 ..所以2 app即将出现在您的网址映射中。所以尝试点击{ {1}}它应该有效。否则从web.xml中删除appName/app/app/1