自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

井底之蛙

学而知不足,思而得远虑

  • 博客(32)
  • 资源 (5)
  • 问答 (4)
  • 收藏
  • 关注

原创 springMVC源码分析--@SessionAttribute用法及原理解析SessionAttributesHandler和SessionAttributeStore

@SessionAttribute作用于处理器类上,用于在多个请求之间传递参数,类似于Session的Attribute,但不完全一样,一般来说@SessionAttribute设置的参数只用于暂时的传递,而不是长期的保存,长期保存的数据还是要放到Session中。通过@SessionAttribute注解设置的参数有3类用法:(1)在视图中通过request.getAttribute或sessi

2016-12-30 20:53:50 10463 1

原创 springMVC源码分析--访问请求执行ServletInvocableHandlerMethod和InvocableHandlerMethod

在之前一篇博客中 springMVC源码分析--RequestMappingHandlerAdapter(五)我们已经简单的介绍到具体请求访问的执行某个Controller中的方法是在RequestMappingHandlerAdapter的invokeHandlerMethod方法中,其实具体执行的地方是invocableMethod.invokeAndHandle(webRequest, ma

2016-12-30 18:59:38 8082

原创 springMVC源码分析--@ModelAttribute使用及运行原理

这一篇博客我们简单的介绍一下ModelAttribute的使用和运行原理。1、首先@ModelAttribute是使用在方法或者上的,当使用在方法上时其作用于本身所在的Controller,在访问Controller中的所有请求时都会执行到@ModelAttribute所注解的方法。@Controllerpublic class ModelAttributeController { @Mo

2016-12-29 16:06:16 5194 1

原创 Mybatis源码分析--返回值ResultType和ResultMap

这一篇博客我们来介绍一下Mybatis执行sql语句返回的结果值的到实体对象的映射机制。首先ResultType和ResultMap的使用方式是不同的。ResultType的使用方式:resultType的值为实体类 select * from users where id=#{id} ResultMap的使用方式:首先要定义resultMap的对应关系

2016-12-28 15:49:13 5560 1

原创 springMVC源码分析--RequestMappingHandlerAdapter(五)

上一篇博客springMVC源码分析--HandlerAdapter(一)中我们主要介绍了一下HandlerAdapter接口相关的内容,实现类及其在DispatcherServlet中执行的顺序,接下来我们详细介绍一下其实现类AbstractHandlerMethodAdapter和RequestMappingHandlerAdapter,其中AbstractHandlerMethodAdapt

2016-12-27 14:25:06 10480

原创 springMVC源码分析--HttpRequestHandlerAdapter(四)

上一篇博客springMVC源码分析--HandlerAdapter(一)中我们主要介绍了一下HandlerAdapter接口相关的内容,实现类及其在DispatcherServlet中执行的顺序,接下来我们详细介绍一下其实现类HttpRequestHandlerAdapter,同前几篇博客一样HttpRequestHandlerAdapter的本质还是调用HttpRequestHandler的H

2016-12-26 09:52:09 5312

原创 springMVC源码分析--SimpleControllerHandlerAdapter(三)

上一篇博客springMVC源码分析--HandlerAdapter(一)中我们主要介绍了一下HandlerAdapter接口相关的内容,实现类及其在DispatcherServlet中执行的顺序,接下来我们详细介绍一下其实现类SimpleControllerHandlerAdapter,SimpleControllerHandlerAdapter是Controller实现类的适配器类,其本质是执

2016-12-26 09:51:35 6817 3

原创 springMVC源码分析--SimpleServletHandlerAdapter(二)

上一篇博客springMVC源码分析--HandlerAdapter(一)中我们主要介绍了一下HandlerAdapter接口相关的内容,实现类及其在DispatcherServlet中执行的顺序,接下来我们详细介绍一下其实现类SimpleServletHandlerAdapter。

2016-12-23 19:53:51 2529

原创 springMVC源码分析--HandlerAdapter(一)

HandlerAdapter的功能实际就是执行我们的具体的Controller、Servlet或者HttpRequestHandler中的方法。类结构如下:HandlerAdapter的接口中定义了三个方法:(1)boolean supports(Object handler); 判断是否支持传入的Handler(2)ModelAndView handle(HttpServletRequest r

2016-12-23 19:41:30 3588

原创 springMVC源码分析--HandlerMethod

在之前的博客中我们已经接触过HandlerMethod,接下来我们简单介绍一下HandlerMethod,简单来说HandlerMethod包含的信息包括类、方法和参数的一个信息类,通过其两个构造函数我们就可以了解其功能,对应着springMVC的Controller来说就是某个url对应的某个Controller执行的方法。/** * Create an instance from a be

2016-12-21 19:09:50 11675 2

原创 springMVC源码分析--AbstractHandlerMethodMapping注册url和HandlerMethod对应关系(十一)

在上一篇博客springMVC源码分析--AbstractHandlerMethodMapping获取url和HandlerMethod对应关系(十)中我们简单地介绍了获取url和HandlerMethod的过程,接下来我介绍一些url和HandlerMethod对应关系的注册过程。在AbstractHandlerMethodMapping中当bean被注入到容器后会执行一系列的初始化过程,代码如

2016-12-21 18:49:10 3965

原创 springMVC源码分析--AbstractHandlerMethodMapping获取url和HandlerMethod对应关系(十)

在之前的博客 springMVC源码分析--AbstractHandlerMapping(二)中我们介绍了AbstractHandlerMethodMapping的父类AbstractHandlerMapping,其定义了抽象方法getHandlerInternal(HttpServletRequest request),我看一下其在AbstractHandlerMethodMapping中的实现

2016-12-21 18:33:59 6112 2

原创 springMVC源码分析--ControllerClassNameHandlerMapping(九)

在上一篇博客springMVC源码分析--AbstractControllerUrlHandlerMapping(六)中我们介绍到AbstractControllerUrlHandlerMapping定义了抽象方法buildUrlsForHandler,接下来我们看看在其子类ControllerClassNameHandlerMapping中的实现。ControllerClassNameHandl

2016-12-20 14:45:08 1302

原创 springMVC源码分析--ControllerBeanNameHandlerMapping(八)

在上一篇博客springMVC源码分析--AbstractControllerUrlHandlerMapping(六)中我们介绍到AbstractControllerUrlHandlerMapping定义了抽象方法buildUrlsForHandler,接下来我们看看在其子类ControllerBeanNameHandlerMapping中的实现。ControllerBeanNameHandler

2016-12-20 14:33:56 1781

原创 springMVC源码分析--BeanNameUrlHandlerMapping(七)

在上一篇博客 springMVC源码分析--AbstractDetectingUrlHandlerMapping(五)中我们介绍了AbstractUrlHandlerMapping,其定义了一个抽象函数//抽象方法,子类中实现      protected abstract String[] determineUrlsForHandler(String beanName);  在AbstractU

2016-12-20 14:23:09 1622

原创 springMVC源码分析--AbstractControllerUrlHandlerMapping(六)

上一篇博客springMVC源码分析--AbstractDetectingUrlHandlerMapping(五)中我们介绍了AbstractDetectingUrlHandlerMapping,其定义了一个抽象方法determineUrlsForHandler在子类AbstractControllerUrlHandlerMapping中实现。子类中AbstractControllerUrlHan

2016-12-20 12:24:45 1660

原创 springMVC源码分析--AbstractDetectingUrlHandlerMapping(五)

上一篇博客springMVC源码分析--AbstractUrlHandlerMapping(三)中我们介绍了AbstractUrlHandlerMapping,主要介绍了一个handlerMap的url和Handler的关系存取的过程。在上一博客中我们介绍了handlerMap有一个注册url和Handler关系的注册函数,这个函数的调用是在实现类AbstractDetectingUrlHandl

2016-12-20 11:19:55 1732

原创 springMVC源码分析--SimpleUrlHandlerMapping(四)

上一篇博客springMVC源码分析--AbstractUrlHandlerMapping(三)中我们介绍了AbstractUrlHandlerMapping,主要介绍了一个handlerMap的url和Handler的关系存取的过程。在上一博客中我们介绍了handlerMap有一个注册url和Handler关系的注册函数,这个函数的调用是在实现类SimpleUrlHandlerMapping中实

2016-12-19 20:38:30 2256

原创 springMVC源码分析--AbstractUrlHandlerMapping(三)

上一篇博客springMVC源码分析--AbstractHandlerMapping(二)中我们介绍了AbstractHandlerMapping了,接下来我们介绍其子类AbstractUrlHandlerMapping。在上一篇博客中我们了解到AbstractHandlerMapping提供了一个抽象类getHandlerInternal(HttpServletRequest request),

2016-12-19 20:24:36 2697

原创 springMVC源码分析--AbstractHandlerMapping(二)

上一篇博客 springMVC源码分析--HandlerMapping(一)中我们简单的介绍了HandlerMapping,接下来我们介绍一下它的抽象实现类AbstractHandlerMappingHandlerMapping中定义了方法getHandler(HttpServletRequest request),AbstractHandlerMapping中的实现如下://获得一个Handle

2016-12-19 19:54:29 3399 4

原创 springMVC源码分析--HandlerMapping(一)

HandlerMapping的工作就是为每个请求找到合适的请求找到一个处理器handler,其实现机制简单来说就是维持了一个url到Controller关系的Map结构,其提供的实际功能也是根据request请求来获取具体执行的包含Controller信息的HandlerAdapter。HandlerMapping接口及实现类如下:HandlerMapping 接口:接口中主要定义了一个getHa

2016-12-19 19:29:38 3315

原创 springMVC源码分析--异常处理机制HandlerExceptionResolver执行原理(二)

上一篇博客springMVC源码分析--异常处理机制HandlerExceptionResolver简单示例(一)中我们简单地实现了一个异常处理实例,接下来我们要介绍一下HandlerExceptionResolver是如何捕获到Controller中抛出的异常并展示到前台页面的。DispatcherServlet是springMVC中最重要的一个类,之前我们已经有博客对其进行介绍过,可以看看其实...

2016-12-17 20:27:45 3475

原创 springMVC源码分析--异常处理机制HandlerExceptionResolver简单示例(一)

springMVC对Controller执行过程中出现的异常提供了统一的处理机制,其实这种处理机制也简单,只要抛出的异常在DispatcherServlet中都会进行捕获,这样就可以统一的对异常进行处理。        springMVC提供了一个HandlerExceptionResolver接口,其定义方法如下:public interface HandlerExceptionResolver

2016-12-17 20:04:43 3011

原创 SpringMVC源码分析--文件上传

SpringMVC提供了文件上传的功能,接下来我们就简单了解一下SpringMVC文件上传的开发及大致过程。首先需要在springMVC的配置文件中配置文件上传解析器 springMVC的文件上传需要commons-fileupload 包的支持,需要引入。 commons-fileupload commons-fileupload 1.3.2 文件上传的

2016-12-17 16:34:10 1742

原创 Mybatis源码学习之TypeHandler

ORM框架最重要功能是将面向对象方法中的对象和关系型数据库中的表关联了起来,在关联过程中就必然涉及到对象中的数据类型和数据库中的表字段类型的转换,Mybatis中的org.apache.ibatis.type包主要就是实现这个功能。TypeHandler的功能就是给参数设置指定的jdbc类型和返回对应的java类型的数据。接口、抽象类和实现类的结构体系:接口TypeHandler中定义如下方法:主

2016-12-15 19:37:14 7052

原创 Mybatis源码分析之参数映射及处理ParameterHandler

ParameterHandler是用来设置参数规则的,当StatementHandler调用prepare方法之后,接下来就是调用它来进行设置参数。ParameterHandler接口:public interface ParameterHandler { Object getParameterObject(); void setParameters(PreparedStatement

2016-12-15 19:14:38 3903 1

原创 springMVC源码分析--拦截器HandlerExecutionChain(三)

上一篇博客springMVC源码分析--HandlerInterceptor拦截器调用过程(二)中我们介绍了HandlerInterceptor的执行调用地方,最终HandlerInterceptor调用的地方是在HandlerExecutionChain中,接下来我们就介绍一下HandlerExecutionChain。HandlerExecutionChain有3个变量:Object hand

2016-12-09 19:13:05 11924

原创 springMVC源码分析--HandlerInterceptor拦截器调用过程(二)

在上一篇博客springMVC源码分析--HandlerInterceptor拦截器(一)中我们介绍了HandlerInterceptor拦截器相关的内容,了解到了HandlerInterceptor提供的三个接口方法:(1)preHandle: 在执行controller处理之前执行,返回值为boolean ,返回值为true时接着执行postHandle和afterCompletion,如果我

2016-12-09 17:23:21 9318

原创 springMVC源码分析--HandlerInterceptor拦截器(一)

对SpringMVC有所了解的人肯定接触过HandlerInterceptor拦截器,HandlerInterceptor接口给我们提供了3个方法:(1)preHandle: 在执行controller处理之前执行,返回值为boolean ,返回值为true时接着执行postHandle和afterCompletion,如果我们返回false则中断执行(2)postHandle:在执行contro

2016-12-08 20:58:17 9508

原创 springMVC源码分析--DispatcherServlet请求获取及处理

在之前的博客 springMVC源码分析--容器初始化(二)DispatcherServlet中我们介绍过DispatcherServlet,是在容器初始化过程中出现的,我们之前也说过DispatcherServlet其实就是一个HttpServlet,其实他是HttpServlet的子类,所以它和普通的HttpServlet有同样的配置: springmvc

2016-12-08 20:38:05 5155

原创 springMVC源码分析--动态样式ThemeResolver(二)

在上一篇博客springMVC源码分析--动态样式ThemeResolver(一)中我们介绍了多样式ThemeResolver的使用方法,接下来我们对源码进行简单的分析一下。ThemeResolver的体系结构如下:1、接口ThemeResolver中定义的接口是比较简单的,提供两个接口:(1)resolveThemeName获取样式名(2)setThemeName设置样式名public inte

2016-12-06 14:04:28 2358

原创 springMVC源码分析--动态样式ThemeResolver(一)

Spring MVC中通过ThemeSource接口来提供对动态更换样式的支持,并提供了ResourceBundleThemeSource这个具体实现类来提供通过properties配置文件对theme中的样式的配置 例如配置文件中 内容为 helloworld=theme/default/css/helloworld.css 而jsp文件中使用 " /> 来引用对helloworld这个样式文件

2016-12-05 19:15:39 3870

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除