JAVA Spring web mvc 学习 之 3:DispatcherServlet

在前面的初步接触中,记得 配置 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文件上传解析器,没有定义则不加载。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值