File tree Expand file tree Collapse file tree 3 files changed +421
-3
lines changed Expand file tree Collapse file tree 3 files changed +421
-3
lines changed Original file line number Diff line number Diff line change @@ -321,4 +321,32 @@ protected void initStrategies(ApplicationContext context) {
321
321
}
322
322
```
323
323
324
- 显然,这里就是spring-mvc的核心了。
324
+ 显然,这里就是spring-mvc的核心了。
325
+
326
+ ### 文件上传支持
327
+
328
+ initMultipartResolver核心源码:
329
+
330
+ ``` java
331
+ private void initMultipartResolver(ApplicationContext context) {
332
+ try {
333
+ this . multipartResolver = context. getBean(MULTIPART_RESOLVER_BEAN_NAME , MultipartResolver . class);
334
+ } catch (NoSuchBeanDefinitionException ex) {
335
+ // Default is no multipart resolver.
336
+ this . multipartResolver = null ;
337
+ }
338
+ }
339
+ ```
340
+
341
+ MultipartResolver用于开启Spring MVC文件上传功能,其类图:
342
+
343
+ ![ MultipartResolver类图] ( images/MultipartResolver.jpg )
344
+
345
+ 也就是说,如果我们要使用文件上传功能,须在容器中注册一个MultipartResolver bean。当然,默认是没有的。
346
+
347
+ ### 地区解析器
348
+
349
+ LocaleResolver接口定义了Spring MVC如何获取客户端(浏览器)的地区,initLocaleResolver方法在容器中寻找此bean,如果没有,注册AcceptHeaderLocaleResolver,即根据request的请求头** Accept-Language** 获取地区。
350
+
351
+ spring-mvc采用了属性文件的方式配置默认策略(即bean),此文件位于spring-mvc的jar包的org.springframework.web.servlet下。
352
+
You can’t perform that action at this time.
0 commit comments