- 博客(10)
- 资源 (55)
- 收藏
- 关注
原创 SpringMVC 源码分析之 DispatcherServlet
前面松哥和大家聊了 DispatcherServlet 的父类 FrameworkServlet,大家从中了解到在 DispatcherServlet 中,方法执行的入口应该是 doService。如果小伙伴们还没看前面的分析,可以先看下,这有助于理解本文,传送门SpringMVC 源码分析之 FrameworkServlet。即使你没看过 DispatcherServlet 的源码,估计也听说过:DispatcherServlet 是 SpringMVC 的大脑,它负责整个 SpringMVC 的调度工
2021-03-24 14:38:23 1547
原创 SpringMVC 源码分析之 FrameworkServlet
前面和小伙伴们聊了 SpringMVC 的初始化流程,相信大家对于 SpringMVC 的初始化过程都有一个基本认知了,今天我们就来看看当一个请求到达后,它的执行流程是什么样的?当然这个流程比较长,松哥这里可能会分两篇文章来和大家分享。很多小伙伴都知道 SpringMVC 的核心是 DispatcherServlet,而 DispatcherServlet 的父类就是 FrameworkServlet,因此我们先来看看 FrameworkServlet,这有助于我们理解 DispatcherServlet
2021-03-23 08:45:30 1935
原创 Spring Boot 中如何统一 API 接口响应格式?
今天又要给大家介绍一个 Spring Boot 中的组件–HandlerMethodReturnValueHandler。在前面的文章中(如何优雅的实现 Spring Boot 接口参数加密解密?),松哥已经和大家介绍过如何对请求/响应数据进行预处理/二次处理,当时我们使用了 ResponseBodyAdvice 和 RequestBodyAdvice。其中 ResponseBodyAdvice 可以实现对响应数据的二次处理,可以在这里对响应数据进行加密/包装等等操作。不过这不是唯一的方案,今天松哥要和大
2021-03-22 14:20:03 2110
原创 深入分析 SpringMVC 参数解析器
前面和大家聊了自定义 SpringMVC 参数解析器,同时我们也分析了几个比较简单的参数解析器,相信大家对于 SpringMVC 中的参数解析器应该已经有了一定的了解,如果还没看过的小伙伴可以先看看:SpringBoot 中如何自定义参数解析器?。不过我相信很多小伙伴真正疑惑的是像下面这种接口,参数是怎么解析的:@GetMapping("/hello2")public void hello2(String name) { System.out.println("name = " + name)
2021-03-18 12:19:04 1577
原创 SpringBoot 中如何自定义参数解析器?
在一个 Web 请求中,参数我们无非就是放在地址栏或者请求体中,个别请求可能放在请求头中。放在地址栏中,我们可以通过如下方式获取参数:String javaboy = request.getParameter("name ");放在请求体中,如果是 key/value 形式,我们可以通过如下方式获取参数:String javaboy = request.getParameter("name ");如果是 JSON 形式,我们则通过如果如下方式获取到输入流,然后解析成 JSON 字符串,再通过
2021-03-16 14:32:08 2276
原创 SpringMVC 初始化流程分析
文章目录1.HttpServletBean2.FrameworkServlet3.DispatcherServlet4.小结框架源码是我们 Coding 晋级中的必修课,SSM 应该算是小伙伴们日常接触最多的框架了,这其中 SpringMVC 初始化流程相对来说要简单一些,因此今天松哥就先来和大家分析一下 SpringMVC 初始化流程。即使你没看过 SpringMVC 的源码,估计也听说过:DispatcherServlet 是 SpringMVC 的大脑,它负责整个 SpringMVC 的调度工作,
2021-03-15 10:29:44 1688 1
原创 如何优雅的实现 Spring Boot 接口参数加密解密?
因为有小伙伴刚好问到这个问题,松哥就抽空撸一篇文章和大家聊聊这个话题。加密解密本身并不是难事,问题是在何时去处理?定义一个过滤器,将请求和响应分别拦截下来进行处理也是一个办法,这种方式虽然粗暴,但是灵活,因为可以拿到一手的请求参数和响应数据。不过 SpringMVC 中给我们提供了 ResponseBodyAdvice 和 RequestBodyAdvice,利用这两个工具可以对请求和响应进行预处理,非常方便。所以今天这篇文章有两个目的:分享参数/响应加解密的思路。分享 ResponseBodyA
2021-03-09 14:14:34 5687 4
原创 Spring5 里边的新玩法!这种 URL 请求让我涨见识了!
Spring5 也已经出来好久了,里边有一些新玩法也需要我们去慢慢揭开面纱,这不,松哥最近在研究 SpringMVC 源码的时候,就看到这样一段代码:protected String initLookupPath(HttpServletRequest request) { if (usesPathPatterns()) { request.removeAttribute(UrlPathHelper.PATH_ATTRIBUTE); RequestPath requestPath = Servle
2021-03-08 11:44:23 1854
原创 SpringMVC 中的参数还能这么传递?涨姿势了!
今天来聊一个 JavaWeb 中简单的话题,但是感觉却比较稀罕,因为这个技能点,有的小伙伴们可能没听过!1.缘起说到 Web 请求参数传递,大家能想到哪些参数传递方式?参数可以放在地址栏中,不过地址栏参数的长度有限制,并且在有的场景下我们可能不希望参数暴漏在地址栏中。参数可以放在请求体中,这个没啥好说的。小伙伴们试想这样一个场景:在一个电商项目中,有一个提交订单的请求,这个请求是一个 POST 请求,请求参数都在请求体中。当用户提交成功后,为了防止用户刷新浏览器页面造成订单请求重复提交,我们一般会
2021-03-03 10:52:40 1877 3
原创 手把手教你开发 MyBatis 插件
小伙伴们元宵节快乐,记得吃元宵哦~在日常开发中,小伙伴们多多少少都有用过 MyBatis 插件,松哥猜测大家用的最多的就是 MyBatis 的分页插件!不知道小伙伴们有没有想过有一天自己也来开发一个 MyBatis 插件?其实自己动手撸一个 MyBatis 插件并不难,今天松哥就把手带大家撸一个 MyBatis 插件!1.MyBatis 插件接口即使你没开发过 MyBatis 插件,估计也能猜出来,MyBatis 插件是通过拦截器来起作用的,MyBatis 框架在设计的时候,就已经为插件的开发预留了
2021-03-01 10:42:39 2991 5
Android开发中线程池的使用Demo
2016-08-20
Dagger2中Scope使用Demo
2016-08-15
ButterKnife使用Demo
2016-08-12
Android模拟登录知乎
2016-08-09
DataBindingDemo3
2016-07-31
DataBindingDemo2
2016-07-31
DataBindingDemo
2016-07-31
Android在线视频播放器Demo
2016-05-04
Android自定义View值ProgressBar
2016-05-01
Android中Dialog使用详解
2016-02-16
ImageView的scaleType属性练习
2016-01-26
snackbar使用Demo
2015-12-13
android文件存储源码及笔记
2015-12-12
自定义ContentProvider
2015-12-06
GitForWindows2.6.3
2015-12-01
Spring入门.pdf
2020-02-17
SpringMVC 入门教程.pdf
2020-02-17
MyBatis入门教程
2020-02-17
Spring Boot2 教程.pdf.zip
2020-02-17
GitHub入门与实践
2017-10-16
websocket使用案例
2017-08-28
dubbo入门案例参考
2017-08-26
Ajax上传文件Demo
2017-08-25
SpringSession+Redis实现Session共享案例
2017-06-10
SQLBrite使用Demo
2016-09-18
Retrofit使用Demo
2016-09-13
ViewPager之PageTransformer属性使用Demo
2016-08-28
Android5.0水波纹效果Demo
2016-08-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人