2013-03-12 152 views
0

我在Spring MVC中的URL映射有問題。我的目標是用這種形式映射一個url:「applicationName/app /」。春季URL映射不起作用

這裏是我的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"; 
    } 
} 

我嘗試 「/應用程序/ 1」 和 「/程序/ 1 /」,但我的網址映射不起作用。

回答

3

與調度員配置的方式是你的映射會

{contextPath}/app/app/1 
1

在web.xml你正在使用你的控制器/app/*並再次你給app/1 ..所以2 app在即將到來的url mapping。所以嘗試點擊appName/app/app/1它應該工作。否則從web.xml中刪除app