首页 » Java » JAVA Spring web mvc 学习 之 3:DispatcherServlet

JAVA Spring web mvc 学习 之 3:DispatcherServlet

原文 http://blog.csdn.net/yangyinet/article/details/77969993

2017-09-13 22:20:10阅读(229)

在前面的初步接触中,记得 配置 web.xml,必须配置servlet,配置的时候,是配置的一个org.Springframework.web.servlet.DispatcherServlet

在配置spring配置文件时,提到有些可以默认不用配置,又增加了些class,大概说一下。

首先,看源码:包package org.springframework.web.servlet。以下这个方法在WebApplicationContext初始化时自动执行,扫描bean,根据名字匹配。

protected void initStrategies(ApplicationContext context) {
    this.initMultipartResolver(context);
    this.initLocaleResolver(context);
    this.initThemeResolver(context);
    this.initHandlerMappings(context);
    this.initHandlerAdapters(context);
    this.initHandlerExceptionResolvers(context);
    this.initRequestToViewNameTranslator(context);
    this.initViewResolvers(context);
    this.initFlashMapManager(context);
}

所有默认:

// 只允许一个,Bean中查找名为localResolver、类型为LocaleResolver的,没有则默认

org.springframework.web.servlet.LocaleResolver=org.springframework.web.servlet.il8n.AcceptHeaderLocalResolver

// 只允许一个,Bean中查找名为themeResolver、类型为ThemeResolver的,没有则默认

org.springframework.web.servlet.ThemeResolver=org.springframework.web.servlet.theme.FixThemeResolver

//允许多个。受detectAllHandlerMappings属性影响,true可多个。查找与前面雷同,但不检索名字,不允许多个时,找名为handlerMapping的。没找到,默认下面第一个。

org.springframework.web.servlet.HandlerMapping=org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping,org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping

//与上个雷同,没找到时,使用DispatcherServlet.properties配置文件??中制定的3个实现类分别创建。

org.springframework.web.servlet.HandlerAdapter=org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter,org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter,org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter

// 与上述雷同。没找到对应,用户可自定义,添加到DispatcherServlet.properties配置文件??中。

org.springframework.web.servlet.HandlerExceptionResolver=org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerExceptionResolver,org.springframework.web.servlet.mvc.annotation.ResponseStatusExeptionResolver,org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver

// 只允许一个

org.springframework.web.servlet.RequestToViewNameTranslator=org.springframework.web.servlet.view.DefaultRequesToViewNameTranslator

// 允许多个,与多个匹配的雷同

org.springframework.web.servlet.ViewResolver=org.springframework.web.servlet.view.InternalResourceViewResolver

// 只允许一个

org.springframework.web.servlet.FlashMapManaer=org.springframework.web.servlet.support.SessionFlashMapManager

还有一个MuliipartResolver文件上传解析器,没有定义则不加载。




最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹