@RequestMapping不适用于.jsp

时间:2013-07-25 04:36:30

标签: spring

这是web.xml中的url-pattern

<servlet-mapping>  
<servlet-name>dispatcher</servlet-name>  
<url-pattern>/</url-pattern>  
</servlet-mapping>  

这是我的控制器

@Controller  
public class HelloController   
{  
        @RequestMapping("/*.km")  
    public String handleKm()  
    {  
        System.out.println("km ext called");  
        return "aaa";  
    }  

    @RequestMapping("/*.jsp")  
    public String handleJsp()  
    {  
        System.out.println("jsp pages called");  
        return "bbb";  
    }  
}  

在使用/requestMapping/a.km访问url时,它可以工作,调用handleKm()方法。但是使用/requestMapping/a.jsp,它应该调用handleJsp()。但它不起作用。结果:HTTP状态404 - /requestMapping/a.jsp。 为什么??

如果我将url-pattern从“/”变为“/ *”,虽然这两种方法都被调用,但是没有到达适当的页面。 可能是“org.springframework.web.servlet.view.InternalResourceViewResolver”无效。

1 个答案:

答案 0 :(得分:0)

结帐this related SO post (possibly a duplicate)。我认为.jsp扩展名混淆了调度程序servlet。尝试使用非.jsp的扩展名,看看是否有效。