我的主控制器为公共用户服务。它具有以下映射:
@Controller
@RequestMapping(value="/")
public class HomeController extends BaseController {
@RequestMapping("/") // handles www.somesite.com
public ModelAndView request(Model model) {
@RequestMapping("/{contentId}") // handles www.somesite.com/sports
public ModelAndView requestWithContentId(@PathVariable String contentId, Model model) {
@RequestMapping("/{contentId}/**") // handles www.somesite.com/sports/hockey/nhl , etc
public ModelAndView requestWithContentId2(@PathVariable String contentId, Model model) {
我还有一组管理控制器映射到匹配 /admin* 的路径。这是一个例子:
@Controller
@RequestMapping(value="/admin/article")
public class AdminArticleController extends BaseController
我发现我的主控制器映射具有更高的优先级。因此,对 /admin/article 的请求由主控制器处理,而不是由专用 AdminArticleController 处理。我怎样才能解决这个问题?
我还注意到对位于 /static/default.css 中的样式表的请求也通过主控制器。有没有办法避免这种情况?