【串线篇】SpringMvc之强大的annotation-driven标签
只要请求不好使就召唤mvc:annotation-driven
<mvc:default-servlet-handler/>
<mvc:annotation-driven/>
现象:
1)、都没配?动态资源(@RequestMapping映射的资源能访问,静态资源(.html,.js,.img))
HandlerMapping:

动态资源能访问:
DefaultAnnotationHandlerMapping中的handlerMap中保存了每一个资源的映射信息;
静态资源不能访问:
就是handlerMap中没有保存静态资源映射的请求,
HandlerAdapter:九大组件之方法执行的适配器;与HandlerMapping平行

2)、只加一个<mvc:default-servlet-handler/>静态资源ok,动态资源完蛋
HandlerMapping中 变化;

/**org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler即交给tomcat
动态不能访问:DefaultAnnotationHandlerMapping没有了;用SimpleUrlHandlerMapping替换了,他的作咏就是将所有请求直接交给tomcat;如果这个tomcat写了Servlet还好,但这个tuomcat除了配置一个前端控制器以外,别的什么也没配;所以就不能处理动态请求
静态能访问的原因:SimpleUrlHandlerMapping把所有请求都映射给tomcat;
HandlerAdapter:

AnnotationMethodHandlerAdapter都没有了;
3)都加上才都能访问
<mvc:default-servlet-handler/>
<mvc:annotation-driven/>
HandlerMapping变化:

与前面现象相比,handlerMapping里面多了一个现在有三个,按照从上到下的顺序依次查询,BeanNameUrlHandlerMapping一直没用
多的那一个叫RequestMappingHandlerMapping:动态资源可以访问
多的这一个里面不再有handlerMap,而是handlerMethods

续

SimpleUrlHandlerMapping:将请求直接交给tomcat;有他,静态资源就没问题;
HandlerAdapter:

原来的
AnnotationMethodHandlerAdapter;被换成RequestMappingHandlerAdapter;
RequestMappingHandlerAdapter源码确定参数都用成解析器了

【串线篇】SpringMvc之强大的annotation-driven标签的更多相关文章
- SpringMVC和Freemarker整合,带自定义标签的使用方法
SpringMVC和Freemarker整合,带自定义标签的使用方法. [参考来源:http://www.360doc.com/content/14/1225/14/1007797_435663342 ...
- 【串线篇】概述SpringMvc和spring整合
SpringMVC和Spring整合的目的:分工明确: SpringMVC的配置文件就来配置和网站转发逻辑以及网站功能有关的(视图解析器,文件上传解析器,支持ajax,xxx):springmvc.x ...
- 【串线篇】SpringMVC九大组件
SpringMVC中的Servlet一共有三个层次,分别是HttpServletBean.FrameworkServlet和 DispatcherServlet. HttpServletBean直接继 ...
- 【串线篇】spring boot全面接管springMvc
一.Spring MVC auto-configuration Spring Boot 自动配置好了SpringMVC 以下是SpringBoot对SpringMVC的默认配置:(WebMvcAutoC ...
- 【串线篇】SpringMvc数据传出
/** * SpringMVC除过在方法上传入原生的request和session外还能怎么样把数据带给页面 * * 四大域: * pageContext:${pageScope.msg }< ...
- 【串线篇】SpringMvc框架乱码
提交的数据可能有乱码: * 请求乱码: * GET请求:改server.xml:在8080端口处URIEncoding="UTF-8" * POST请求: * ...
- 【串线篇】MVC与SpringMVC
1.二者区分 MVC: SpringMvc: DispatcherServlet(前端控制器名) 2.springmvc思想 Spring MVC 通过一套 MVC 注解,让 POJO成为处理请求的控 ...
- 【串线篇】SpringMVC运行流程
1.所有请求,前端控制器(DispatcherServlet)收到请求,调用doDispatch进行处理 2.根据HandlerMapping中保存的请求映射信息找到,处理当前请求的,处理器执行链(包 ...
- 【串线篇】SpringMvc源码分析
一.DispathcherServlet结构分析 1).所有请求过来DispatcherServlet收到请求, 2).调用doDispatch()方法进行处理 1).getHandler():根据当 ...
随机推荐
- Flutter-ListView
return Container( child: ListView( children: <Widget>[ Column( children: <Widget>[ Conta ...
- Morphia开发简介
1. 什么是Morphia Morphia是一个开放源代码的对象关系映射框架,它对MongoDB数据库 java版驱动进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵 ...
- angular 组件通信
单页面应用组件通信有以下几种,这篇文章主要讲 Angular 通信 父组件 => 子组件 子组件 => 父组件 组件A = > 组件B 父组件 => 子组件 子组件 => ...
- [转]Win10企业版无法访问共享文件夹
Win10系统电脑在更新后,当我们访问共享文件夹时可能会出现如下图所示窗口,导致我们无法访问.那么这个问题如何解决呢?具体如下:1. 首先我们按“Windows+R键”打开运行窗口.2. 在该窗口文本 ...
- 使用vue-i18n实现项目的国际化 以及iview的国际化
一:项目的国际化 vue-i18n官网 1. 在src中新建一个language文件夹(包含index.js.US.js.CN.js) (1)US.js 保存变量的英文,内容: export defa ...
- LR之分析
1.Errors(错误统计) 每秒错误数:数值越小越好,通过这个图可以知道,当负载增加的时候,定位何时系统在负载下开始不稳定甚至出错. 2.Transaction(事务) average transa ...
- 2018-2019-2 20175120 实验五《Java网络编程》实验报告
实验报告封面 课程:Java程序设计 班级:1751班 姓名:彭宇辰 学号:20175120 指导教师:娄嘉鹏 实验日期:2019年5月26日 实验时间:13:10 - 15:25 实验序号:20 实 ...
- (转)Docker入门——Dockerfile详解
转:https://www.cnblogs.com/sorex/p/6481407.html 基本示例 FROM MAINTAINER LABEL RUN ADD COPY CMD ENTRYPOIN ...
- 弗洛伊德Floyd求最小环
模板: #include<bits/stdc++.h> using namespace std; ; const int INF = 0xffffff0; ]; void Solve(in ...
- Markdown  --> <img ... />
search \!\[(\w+)\]\(([a-zA-Z0-9/.]+)\) replace <img src="$2" width="30%"/>