SpringMvc-原理分析
文章平均质量分 86
OkidoGreen
这个作者很懒,什么都没留下…
展开
-
SpringMVC源码总结(十一)mvc:interceptors拦截器介绍
本文章针对mvc:interceptors标签进行介绍,它的注册过程以及在访问时的拦截过程。 首先说下接口HandlerInterceptor,它有如下三个方法: Java代码 boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)转载 2016-10-14 17:29:45 · 3386 阅读 · 0 评论 -
SpringMVC源码总结(十)自定义HandlerMethodArgumentResolver
上一篇文章介绍了HandlerMethodArgumentResolver的来龙去脉,这篇就要说说自定义HandlerMethodArgumentResolver来解决我们的需求,本文提供了四种解决方案。 需求,有一个Teacher类和Student类,他们都有属性name和age: 前端form表单为: Java代码 "/test/two" method转载 2016-10-14 17:11:37 · 1545 阅读 · 0 评论 -
SpringMVC源码总结(九)HandlerMethodArgumentResolver介绍
本文章主要介绍HandlerMethodArgumentResolver在SpringMVC中的使用,介绍几个HandlerMethodArgumentResolver具体的使用情况,然后说明HandlerMethodArgumentResolver的注册来源以及如何自定义注册。 首先具体看下请求映射到的handler的对应的映射函数的参数形式有哪些: HandlerMethodA转载 2016-10-14 16:38:17 · 1247 阅读 · 0 评论 -
SpringMVC源码总结(八)类型转换PropertyEditor的背后
PropertyEditor是Spring最初采用的转换策略。将会转移到Converter上。本文章主要对@InitBinder注解背后代码层面的运行过程做介绍。所以最好先熟悉它的用法然后来看通代码流程。 先看实例,controller代码如下: Java代码 @Controller public class FormAction{转载 2016-10-14 16:37:31 · 1156 阅读 · 0 评论 -
SpringMVC源码总结(七)mvc:annotation-driven中的HttpMessageConverter
这一篇文章主要介绍下HttpMessageConverter整个注册过程包含自定义的HttpMessageConverter,然后对一些HttpMessageConverter进行具体介绍。 HttpMessageConverter接口介绍: Java代码 public interface HttpMessageConverter<T> { /** * Ind...转载 2016-10-14 16:36:09 · 1614 阅读 · 0 评论 -
SpringMVC源码总结(六)mvc:annotation-driven中的HandlerMethodReturnValueHandler
经过了两篇的乱码说明,要重新回到mvc:annotation-driven标签中,继续说说HandlerMethodReturnValueHandler的使用,下一篇文章主要说说HttpMessageConverter。 HandlerMethodReturnValueHandler是RequestMappingHandlerAdapter用来处理当含有@RequestMapping的方法转载 2016-10-14 16:35:47 · 1135 阅读 · 0 评论 -
SpringMVC源码总结(五)Tomcat的URIEncoding、useBodyEncodingForURI和CharacterEncodingFilter
继续上一章节的乱码问题。上一篇文章仅仅说了设置Tomcat的URIEncoding可以解决乱码问题,这篇文章便会讲述这一背后的内容。首先说明下,光看是没用的,要多实验实验。 目前我的tomcat版本为:7.0.55,spring所有文章的版本始终为4.0.5 本文章会从tomcat的源码角度来解析Tomcat的两个参数设置URIEncoding和useBodyEncodingFor转载 2016-10-14 16:34:36 · 1160 阅读 · 0 评论 -
SpringMVC源码总结(四)由StringHttpMessageConverter引出的客户端服务器端之间的乱码过程分析
继续上一篇文章遗留的乱码问题,引出从客户端数据到服务器端的乱码和服务器端数据到客户端的乱码。 先说明下配置: web.xml,还是最简单的配置 Java代码 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3转载 2016-10-14 16:33:30 · 1781 阅读 · 1 评论 -
SpringMVC源码总结(三)mvc:annotation-driven和mvc:message-converters简单介绍
上一篇文章讲述了最简单的mvc:annotation-driven,这次就要说说@ResponseBody注解,很明显这个注解就是将方法的返回值作为reponse的body部分。我们进一步分析下这个过程涉及到的内容,首先就是方法返回的类型,可以是字节数组、字符串、对象引用等,将这些返回类型以什么样的内容格式(即response的content-type类型,同时还要考虑到客户端是否接受这个类型)存转载 2016-10-14 16:32:29 · 13686 阅读 · 3 评论 -
SpringMVC ContentNegotiatingViewResolver -- 根据请求资源名选择视图
前一篇文章介绍了如何利用@ResponseBody和HTTP Request Header中的Accept属性实现返回结果中自动选择XML或者JSON。这里介绍另外一种办法,利用使用ContentNegotiatingViewResolver,这个视图解析器允许你用同样的内容数据来呈现不同的view。它支持如下面描述的三种方式:1)使用扩展名http://localhost:8转载 2016-10-11 11:54:12 · 1470 阅读 · 0 评论