为什么要使用动态Servlet注册?何时使用?

动态注册与经典映射相比有什么合理的优势?

Servlet 3+的动态servlet注册是一种新的注册servlet的方式。在Servlet 3中,您可以避免创建web.xml文件,纯粹使用Java配置应用程序。它给你带来了一些优点,例如编译时检查是否一切正常,并且更重要的是,由于您在Java代码中进行操作,因此可以执行一些其他的检查或条件-例如,仅当环境属性已设置或类在类路径上可用时才注册特定的servlet。

这不是@RequestMapping的替代品。在Spring Boot中,您通常会使用它来注册一些第三方servlet - 例如,在JHipster中注册Dropwizard Metrics.

这是Spring Boot注册映射的标准,还是JHipster所有者的想法?

在Spring Boot中,至少有两种方法可以注册附加的servlet。请参见此处的答案:如何在Spring Boot中注册次要servlet?。

您自己的控制器可以像往常一样使用@RequestMapping进行映射。

someServlet.setAsyncSupported(true)是否只是另一种设置response.setHeader("Access-Control-Allow-Origin", "*")的方式?

不是这样的。通常,要设置此标头,您使用CORSFilter(了解更多:为RESTful Web Service启用跨源请求)。 asyncSupported标志用于使servlet能够异步处理请求。