Spring MVC annotation

来源:互联网 发布:怎么修改淘宝密码 编辑:程序博客网 时间:2024/06/08 08:23

Spring MVC 配置多个基于annotation的Controller时候
多个DispatcherServlet配置转发的的servlet-urlmap时候
DispatcherServlet 1, servletName = a, dispatcherServlet servlet-urlmap /a/*, 那么请求/a/user/get,
对应的Controller 的RequestMapping不需要配置/a/前缀,已经被DispatcherServlet统一转发了

DispatcherServlet 2, servletName = b, dispatcherServlet servlet-urlmap /b/*, 那么请求/b/user/get,
对应的Controller 的RequestMapping不需要配置/a/前缀,已经被DispatcherServlet统一转发了,只配置/user/get即可

使用 AbstractAnnotationConfigDispatcherServletInitializer 进行无web.xml配置时候,一个类就对应于一个DispatcherServlet
多个配置情况下要重写getServletName,RootConfig 和Filter Listener只需要在一个地方配置即可

程序在启动过程中寻找实现了WebInitializer接口的类,并调用onStartup方法去注册各个WebApplication的组件,Controller和url的映射和之前web.xml的一致,对于注解方式的配置还是遵从下面的原则

DispatcherServlet 1, servletName = a, dispatcherServlet servlet-urlmap /a/*, 那么请求/a/user/get,
对应的Controller 的RequestMapping不需要配置/a/前缀,已经被DispatcherServlet统一转发了

DispatcherServlet 2, servletName = b, dispatcherServlet servlet-urlmap /b/*, 那么请求/b/user/get,
对应的Controller 的RequestMapping不需要配置/a/前缀,已经被DispatcherServlet统一转发了,只配置/user/get即可