09.02 问题解决(初步)
2017-09-03 22:30
148 查看
1.前端控制器究竟为什么能调用处理器适配器、处理器映射器、以及视图解析器?
前端控制器DispatcherServlet究竟是个什么东西,首先截一段源码中的解释
大致的翻译就是:它是Http请求Handler/Controller的主要调度器,当有一个Web请求时,可以调度已有的Handler,并且提供便利的映射和异常处理机制(谢谢以前疼我爱我的英语老师,让我现在也对英语充满兴趣)
第一步:在web.xml中配置servlet
若不配置contextConfigLocation,则默认配置文件为/WEB-INF/servlet名称-servlet.xml(即/WEB-INF/smvc-servlet.xml)
反之,则使用默认的配置文件
由于在smvc-servlet.xml中配置了视图解析器等,所有前端控制器可以调用它们。(依旧是迷迷糊糊,回头会继续钻研)
2.什么是处理器适配器、处理器映射器?(May_mm表示很迷惑,明天希望更深入一步,不求多,进步一点点就好)
注解映射器:
org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping.class(Spring3.1前使用)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.class(Spring3.1后使用)
注解适配器:
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.class(Spring3.1前使用)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.class(Spring3.1后使用)
配置如下:
据了解实际开发中,使用注解驱动的方式较多(掌握)
3.跟踪一下View接口的源码,看看它究竟是个什么东东?(使用跟踪二字仿佛自己是个大手子,哈哈,写完自己都笑了)
①:
View.class.getName()获得的是:org.springframework.web.servlet.View
②:String getContentType();表示获取该视图的contentType
③:
表示将模型数据填充到request域中
4.处理器映射器返回的是一个链,究竟是什么?(这个时候是不是又得跟踪源码了,写着写着我又笑了)(???)
根据源码显示,HandlerExecutionChain中含有一个处理器,和多个拦截器(上一节文章中讲错了,写成了多个handler。。。),以及很多对拦截器interceptor和处理器handler的方法(我还不是很懂,先留个记号???)
明天解决:
SpringMVC参数的自动映射规则(就这么多吧)
白天监考有点累呀,本来想回来就洗洗睡,但是想着昨天在上一篇文章中承诺今天去试着解决这些问题,瞬间感觉又有精神了(果然自己还是要多给自己挖坑,哈哈,开心的埋自己),虽然没有很透彻的理解,但是至少是有一点进步的,这就足以,每天进步一点点,加油mm!!!
2017/9/3 22:58
前端控制器DispatcherServlet究竟是个什么东西,首先截一段源码中的解释
大致的翻译就是:它是Http请求Handler/Controller的主要调度器,当有一个Web请求时,可以调度已有的Handler,并且提供便利的映射和异常处理机制(谢谢以前疼我爱我的英语老师,让我现在也对英语充满兴趣)
第一步:在web.xml中配置servlet
若不配置contextConfigLocation,则默认配置文件为/WEB-INF/servlet名称-servlet.xml(即/WEB-INF/smvc-servlet.xml)
反之,则使用默认的配置文件
由于在smvc-servlet.xml中配置了视图解析器等,所有前端控制器可以调用它们。(依旧是迷迷糊糊,回头会继续钻研)
2.什么是处理器适配器、处理器映射器?(May_mm表示很迷惑,明天希望更深入一步,不求多,进步一点点就好)
注解映射器:
org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping.class(Spring3.1前使用)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.class(Spring3.1后使用)
注解适配器:
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.class(Spring3.1前使用)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.class(Spring3.1后使用)
配置如下:
据了解实际开发中,使用注解驱动的方式较多(掌握)
3.跟踪一下View接口的源码,看看它究竟是个什么东东?(使用跟踪二字仿佛自己是个大手子,哈哈,写完自己都笑了)
①:
View.class.getName()获得的是:org.springframework.web.servlet.View
②:String getContentType();表示获取该视图的contentType
③:
表示将模型数据填充到request域中
4.处理器映射器返回的是一个链,究竟是什么?(这个时候是不是又得跟踪源码了,写着写着我又笑了)(???)
根据源码显示,HandlerExecutionChain中含有一个处理器,和多个拦截器(上一节文章中讲错了,写成了多个handler。。。),以及很多对拦截器interceptor和处理器handler的方法(我还不是很懂,先留个记号???)
明天解决:
SpringMVC参数的自动映射规则(就这么多吧)
白天监考有点累呀,本来想回来就洗洗睡,但是想着昨天在上一篇文章中承诺今天去试着解决这些问题,瞬间感觉又有精神了(果然自己还是要多给自己挖坑,哈哈,开心的埋自己),虽然没有很透彻的理解,但是至少是有一点进步的,这就足以,每天进步一点点,加油mm!!!
2017/9/3 22:58
相关文章推荐
- 伸展树应用初步——解决区间问题
- 新浪微博API使用初步介绍——解决回调地址的问题
- 技术管理中遇到的一些问题及初步解决想法
- shareSDK的初步使用(shareSDK中微信、qq等兼容问题,以及cocoapods支持架构冲突问题的解决)
- tornado解决高并发的初步认识牵扯出的一些问题
- Linux 初步安装出现的问题以及解决流程
- 初步解决网同客户端升级后局域网不能上网的问题
- nginx的初步学习和一些问题的汇总及解决
- 贪婪算法找钱问题中由浮点数产生的问题及初步解决方法
- shareSDK的初步使用(shareSDK中微信、qq等兼容问题,以及cocoapods支持架构冲突问题的解决)
- 用python编写ASP脚本时遇到的问题,初步的解决方法,目前正在寻找更好的解决办法。
- 第1周 C语言及程序设计初步 例程-3 利用switch语句解决问题
- 初步解决Tomcat 的administration tool 和 连接池 的问题!
- android NDk初步学习以及某些小问题的解决方法备忘 二
- 获取DataGridView绑定BindingSource的数据表,并根据树控件点击进行筛选数据表,下拉控件自定义排序问题初步解决方法,解决了该行属于另一个表的错误提示.
- 新浪微博API使用初步介绍——解决回调地址的问题
- JSP应用解决中文乱码问题(初步解决)
- C语言及程序设计初步例程-26 利用switch语句解决问题
- hi3518c + live555 实时传输 客户端显示的时候延时问题初步解决
- 初步解决《powershell 的版本所引起的加载 FSharp 编译器问题》