管理springmvc组件

概述

在使用springmvc时要配置哪些东西

  1. 前端控制器

  2. 控制器映射器和适配器

    1. 映射器  Map<Set<String>,Object>

      1. Set<String> 存放资源地

        1. @RequestMapper(value={“helle2”,”hello2”})
      2. Object    存放方法对象和方法所有的对象的对象
        1. 执行方法 method.invoke(obj,args)   Method
    2. 适配器  
      1. @Controller
      2. 实现Controller接口
      3. 实现HttpRequestHandler的接口
  3. 视图解析器

    InternalResourceViewResolver

  4. 文件上传的

  5. 拦截器



前端控制器的自动管理

找到  WebMvcAutoConfiguration

找到  DispatcherServletAutoConfiguration

创建

注册



控制器的自动管理[就是自定义的controller]

自动扫描

|--默认扫描启动类所有的包及其子包;

如果不在启动类所有的包及其子包下面

要使用 @CompomentScan(basePackage={“com.sxt.controller”,”com.bjsxt.controller”})



视图解析器的自动管理

找到  WebMvcAutoConfiguration

@Bean
@ConditionalOnMissingBean
public InternalResourceViewResolver defaultViewResolver() {InternalResourceViewResolver resolver = new InternalResourceViewResolver();resolver.setPrefix(this.mvcProperties.getView().getPrefix());resolver.setSuffix(this.mvcProperties.getView().getSuffix());return resolver;
}@Bean
@ConditionalOnBean(View.class)
@ConditionalOnMissingBean
public BeanNameViewResolver beanNameViewResolver() {BeanNameViewResolver resolver = new BeanNameViewResolver();resolver.setOrder(Ordered.LOWEST_PRECEDENCE - 10);return resolver;
}@Bean
@ConditionalOnBean(ViewResolver.class)
@ConditionalOnMissingBean(name = "viewResolver", value = ContentNegotiatingViewResolver.class)
public ContentNegotiatingViewResolver viewResolver(BeanFactory beanFactory) {ContentNegotiatingViewResolver resolver = new ContentNegotiatingViewResolver();resolver.setContentNegotiationManager(beanFactory.getBean(ContentNegotiationManager.class));// ContentNegotiatingViewResolver uses all the other view resolvers to locate// a view so it should have a high precedenceresolver.setOrder(Ordered.HIGHEST_PRECEDENCE);return resolver;
}

进入ContentNegotiatingViewResolver

总结

ContentNegotiatingViewResolver 是一个视图解析器的收集器

只要IOC容器里面有实现有ViewResolver接口的对象都会被收集起来    如ThymeleafViewResolver



文件上传和下载的视图解析器

找到MultipartAutoConfiguration

找到MultipartProperties



静态资源的访问

classpath:resources/MATE-INF/resources

classpath:resources/resources

classpath:resources/static

classpath:resources/public



消息转化

找到  WebMvcAutoConfiguration

格式化转化



欢迎页面的配置

以前web.xml

<welcome-file-list>

</webcome-file-list>


Springboot默认配置是static/index.html

进入WebMvcAutoConfiguration

管理springmvc组件——前端控制器、控制器映射器和适配器、视图解析器、文件上传的、拦截器||消息转化相关推荐

  1. SpringMVC处理Json、文件上传、拦截器

    SpringMVC处理Json.文件上传.拦截器 : 处理JSON 链接 http://repo1.maven.org/maven2/com/fasterxml/jackson/core/ 步骤 编写 ...

  2. 04springMVC结构,mvc模式,spring-mvc流程,spring-mvc的第一个例子,三种handlerMapping,几种控制器,springmvc基于注解的开发,文件上传,拦截器,s

     1. Spring-mvc介绍 1.1市面上流行的框架 Struts2(比较多) Springmvc(比较多而且属于上升的趋势) Struts1(即将被淘汰) 其他 1.2  spring-mv ...

  3. 【SSM框架系列】SpringMVC的文件上传、拦截器及异常处理

    SpringMVC的文件上传 服务器端实现文件上传的技术有很多种,Servlet3.0,FileUtils,框架等等,都可以实现文件上传,不管使用哪一种上传技术,都必须满足三要素: 表单项type=& ...

  4. SpringMVC的文件上传和拦截器

    目录 一.文件上传 1.概述 2.案例1 3.案例2 二.拦截器 1.HandlerInterceptor接口 2.案例:拦截器实现用户权限验证 一.文件上传 1.概述 SpringMVC会将上传文件 ...

  5. springmvc 文件上传和拦截器

    文件上传: 单文件: @Controller public class FirstController {@RequestMapping("/first")public Strin ...

  6. SpringBoot→请求参数、返回参数、文件上传、拦截器、异常处理、定时任务、异步任务

    web请求static静态资源 localhost:8080/cat.png localhost:8080/test.html localhost:8080/abc/test.html localho ...

  7. SpringMVC入门(二)—— 参数的传递、Controller方法返回值、json数据交互、异常处理、图片上传、拦截器

    SpringMVC入门(二)-- 参数的传递.Controller方法返回值.json数据交互.异常处理.图片上传.拦截器 参考文章: (1)SpringMVC入门(二)-- 参数的传递.Contro ...

  8. Java文件上传大杀器-绕waf(针对commons-fileupload组件)

    Java文件上传大杀器-绕waf(针对commons-fileupload组件) Ps:高版本才有1.3以上 来个中二的标题,哈哈哈,灵感来源于昨晚赛博群有个师傅@我是killer发了篇新文章,在那篇 ...

  9. 【SpringMVC笔记】拦截器 + 文件上传下载

    拦截器 + 文件上传下载 拦截器(interceptor) 自定义拦截器 验证用户是否登录 (认证用户) 没有拦截器 配置拦截器 文件的上传 文件输出流进行文件上传 file.Transto 进行文件 ...

最新文章

  1. 一文读懂RocketMQ的存储机制
  2. cpu使用率 htop显示_Linux查看CPU和内存使用情况
  3. PPP、MP 和 SLIP 配置(上)
  4. 机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)
  5. BZOJ 3622 Luogu P4859 已经没有什么好害怕的了 (容斥原理、DP)
  6. cmd cd 无法切换目录_一分钟掌握cmd基础操作,告别鼠标
  7. spring5高级编程_Spring 5.X系列教程:满足你对Spring5的一切想象-持续更新
  8. html校园首页设计说明范文,网页设计作品设计说明-必看请相互转告
  9. 训练自己的数据_PyTorch版CenterNet训练自己的数据集
  10. JavaScript学习(六十五)—数组知识点总结
  11. ExcelApplication相关资料
  12. 轻松解决U盘拷贝文件时提示文件过大问题
  13. IOS逆向(9)DebugServer + LLDB
  14. 罗振宇2021“时间的朋友·长大以后”跨年演讲全文无删减整理,核心观点、大纲提炼
  15. MCU裸系统下快速平方根实现
  16. 【论文翻译】Playing Atari with Deep Reinforcement Learning
  17. 腾讯云和阿里云,百度云,华为云服务器哪个的性能比较稳定,没有出现经常崩溃现象呢?
  18. TIA博途中FC功能块的介绍与管脚定义
  19. js使用广度优先给树形结构添加level
  20. matlab 点顺时针排序,按顺时针顺序对点排序?

热门文章

  1. nodejs fs path
  2. 解题:HEOI 2016 求和
  3. Sitecore® 8.2 Professional Developer考试心得
  4. 设计模式:享元(FlyWeight)模式
  5. 立即终止Sleep的线程
  6. android+高通平台缩写汇聚
  7. 高通QXDM抓modem log
  8. 高通平台device tree生成platform device的过程(MSM8909)
  9. linux一切皆文件之tty字符设备(深入理解sshd创建pty的过程) (五)
  10. zabbix的主动模式和被动模式、添加监控主机、添加自定义模板、处理图形中的乱码、自动发现...