SpringMVC 源码总结篇
SpringMVC源码总结(四)由StringHttpMessageConverter引出的客户端服务器端之间的乱码过程分析
当访问 http://localhost:8080/string?name=aaa时,浏览器看到的是乱码: 分析过程: 有了上一篇文章的知识,便可以知道原因。首先由RequestMappingHandlerAdapter来调度执行,由于是@ResponseBody,所以从所有的已注册的HandlerMethodReturnValueHandler中找到了@ResponseBody的支持者Re
日期 2023-06-12 10:48:40SpringMVC源码总结(五)Tomcat的URIEncoding、useBodyEncodingForURI和CharacterEncodingFilter
继续上一章节的乱码问题。上一篇文章仅仅说了设置Tomcat的URIEncoding可以解决乱码问题,这篇文章便会讲述这一背后的内容。首先说明下,光看是没用的,要多实验实验。 目前我的tomcat版本为:7.0.55,spring所有文章的版本始终为4.0.5 本文章会从tomcat的源码角度来解析Tomcat的两个参数设置URIEncoding和useBodyEncodingForURI。
日期 2023-06-12 10:48:40SpringMVC源码总结(六)mvc:annotation-driven中的HandlerMethodReturnValueHandler
经过了两篇的乱码说明,要重新回到mvc:annotation-driven标签中,继续说说HandlerMethodReturnValueHandler的使用,下一篇文章主要说说HttpMessageConverter。 HandlerMethodReturnValueHandler是RequestMappingHandlerAdapter用来处理当含有@RequestMapping的方法调度
日期 2023-06-12 10:48:40SpringMVC源码总结(八)类型转换PropertyEditor的背后
* Invoke the {@link RequestMapping} handler method preparing a {@link ModelAndView} HttpServletResponse response, HandlerMethod handlerMethod) throws Exception { ServletWebR
日期 2023-06-12 10:48:40SpringMVC源码总结(九)HandlerMethodArgumentResolver介绍
本文章主要介绍HandlerMethodArgumentResolver在SpringMVC中的使用,介绍几个HandlerMethodArgumentResolver具体的使用情况,然后说明HandlerMethodArgumentResolver的注册来源以及如何自定义注册。 首先具体看下请求映射到的handler的对应的映射函数的参数形式有哪些: HandlerMethodArgum
日期 2023-06-12 10:48:40SpringMVC源码总结(十)自定义HandlerMethodArgumentResolver
即使用@RequestBody来接受这样的参数。下面还要说说这样做的两个问题,你或许可以试猜一下: 使用form表单来进行提交,运行: 问题一: 首先会遇到415 Unsupported Media Type,如下: 我们的form表单默认是以application/x-www-form-urlencoded方式提交的,而@RequestBody又采用的是RequestRespons
日期 2023-06-12 10:48:40SpringMVC源码总结(十一)mvc:interceptors拦截器介绍
正常情况下,对于preHandle就是在在处理函数之前先执行,然后再执行处理函数,接着执行postHandle,最后再执行afterCompletion。afterCompletion无论是否出错是肯定要执行的,而postHandle则不是,不一定会执行。之后看源代码就知道他们的执行情况。 AsyncHandlerInterceptor接口则增添了afterConcurrentHandling
日期 2023-06-12 10:48:40SpringMVC源码总结(十二)ViewResolver介绍
mv = ha.handle(processedRequest, response, mappedHandler.getHandler()); processDispatchResult(processedRequest, response, mappedHandler, mv, dispatchException);
日期 2023-06-12 10:48:40SpringMVC源码总结(一)HandlerMapping和HandlerAdapter入门
刚接触SpringMVC,对它的xml文件配置一直比较模模糊糊,最近花了一点时间稍微看了下源代码,再加上调试,开始逐渐理解它,网上的类似的内容有很多,写本文主要是自己加深一下理解。本文适合用过SpringMVC的开发者,言归正传,首先搭建一个最简单的工程体验一下。 该工程是基于maven的,pom配置不再说明,所使用的spring版本4.0.5。 首先是web.xml文件配置
日期 2023-06-12 10:48:40