我想向 Spring 应用程序添加休息服务。调度程序当前配置为仅提供 *.do 路径,这与休息路径并不真正兼容,所以我添加了一个额外的模式,像这样
<servlet-mapping>
<servlet-name>timetabling</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>timetabling</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
当我点击休息控制器时,我看到了
08-01-2013 15:26:13,075 [23198170@qtp-12556818-9] org.springframework.web.servlet.PageNotFound 1080 WARN No mapping found for HTTP request with URI [/timetabling/rest/] in DispatcherServlet with name 'timetabling'
如果我像这样更改映射
<servlet-mapping>
<servlet-name>timetabling</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
我明白了
08-01-2013 15:28:33,664 [13327669@qtp-4725080-0] org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping 220 DEBUG Returning handler method [public java.lang.String edu.ucl.isd.timetabling.web.controller.RestController.test(javax.servlet.http.HttpServletRequest)]
这让我怀疑我指定映射的方式有问题,但我看不到它是什么。不幸的是,我不能使用第二种形式,因为这会破坏应用程序的其他区域,我需要单独的映射,任何人都可以发现问题吗?
为了完整起见,这是我的休息服务的一个片段,但是看到这确实可以与根映射正常工作,我认为问题不在这里
@Controller
@RequestMapping("/rest")
public class RestController {
@RequestMapping(value="/", method = RequestMethod.GET)
public @ResponseBody String test() {
return "rest service is alive";
}
}