WebApplicationContext是什么

WebApplicationContext继承自ApplicationContext,它提供了一些web应用经常需要用到的特性。WebApplicationContext被绑定在ServletContext中。如果需要获取它,你可以通过RequestContextUtils工具类中的静态方法来拿到这个web应用的上下文WebApplicationContext。

RequestContextUtils

RequestContextUtils类是Spring提供的用于从HttpServletRequest上下文中获取特殊对象的工具类。该工具类虽然是属于Spring的一部分,但是如果在应用中我们有需要直接获取相关信息的需求,我们也可以直接使用。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12

// 获取WebApplicationContext
RequestContextUtils.getWebApplicationContext(request);

// 获取LocaleResolver或Locale
RequestContextUtils.getLocaleResolver(request);
RequestContextUtils.getLocale(request);

// 获取ThemeResolver或Theme(这个概念非常陌生)
RequestContextUtils.getThemeResolver(request);
RequestContextUtils.getTheme(request);

备注:这个request是ServletRequest类,所以我们日常用的Request DTO应该是没有办法获取到这些信息的,先记录一下,以后再慢慢研究。

参考资料

  1. Spring MVC DispatcherServlet详解

  2. SpringMVC之RequestContextUtils工具类