![](https://img-blog.csdnimg.cn/20190830162544378.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
SpringMVC学习系列
文章平均质量分 63
SpringMVC学习系列
木叶之荣
这个作者很懒,什么都没留下…
展开
-
SpringMVC之分析HandlerMethodReturnValueHandler(二)
我们在之前的文章中对HandlerMethodReturnValueHandler进行了简单的分析(SpringMVC之分析HandlerMethodReturnValueHandler(一)), 在 这篇文章中我们继续分析一下HandlerMethodReturnValueHandler这个类。有时候我们的请求映射处理方 法的返回值是View对象,当返回值是View对象时,会被ViewMet原创 2017-11-20 23:58:08 · 1582 阅读 · 3 评论 -
SpringMVC之分析HandlerMethodReturnValueHandler(一)
我们在用SpringMVC做web开发的时候,有时候处理完一个请求之后会返回一个页面,有时候会返回一个字符串,有时候会返回一个json对象。通过分析源码我们知道在调用请求处理器映射方法的时候走的是同一段代码,如下:org.springframework.web.method.support.InvocableHandlerMethod#doInvoke protected Object原创 2017-11-07 21:46:47 · 2410 阅读 · 0 评论 -
使用Servlet3.0新特性进行web开发小demo
在上一篇文章中我们使用了SpringMVC结合Servlet3.0的新特性进行web开发。在这一篇文章中我们用最原始的Servlet的方式来进行一个简单的web开发的工作。在我们之前的web开发中我们会在web.xml中进行Servlet、Filter、初始化参数等信息的配置。在Servlet3.0中为我们提供了一个接口:javax.servlet.ServletContainerInitiali原创 2017-10-30 22:36:27 · 3039 阅读 · 0 评论 -
SpringMVC之全注解方式进行web开发
在我们之前进行web开发的时候,通常都会有一个web.xml存在,我们会在web.xml里面配置Servlet、Filter等一些web开发相关的东西。但是由于Servlet3.0的规范和Spring3.1功能的增强,现在我们在进行web开发的时候可以不用再使用web.xml了,转而全部使用java注解就可以了。下面是一个例子:首先我们先创建一个StrartWebApplicationInit原创 2017-10-29 22:40:32 · 3549 阅读 · 0 评论 -
SpringMVC之分析AnnotationDrivenBeanDefinitionParser(三)
我们在之前的文章中对这篇文章中AnnotationDrivenBeanDefinitionParser的parse方法进行了一些分析,我们在这篇文章中接着分析AnnotationDrivenBeanDefinitionParser的parse方法的内容。ManagedList messageConverters = getMessageConverters(element, source, p原创 2017-11-03 22:18:29 · 704 阅读 · 0 评论 -
SpringMVC之分析AnnotationDrivenBeanDefinitionParser(二)
在上一篇文章中我们简单的分析了一下AnnotationDrivenBeanDefinitionParser,在这一篇的文章中我们继续分析AnnotationDrivenBeanDefinitionParser的内容。AnnotationDrivenBeanDefinitionParser这个类最最重要的一个方法就是parse方法。在这篇文章中我们简单的分析一下parse方法的内容。先看parse中原创 2017-10-31 22:11:55 · 762 阅读 · 0 评论 -
SpringMVC之分析AnnotationDrivenBeanDefinitionParser(一)
首先我们会想一下,我们在进行SpringMVC配置的时候是怎样配置的(不是web.xml)?我们会在SpringMVC的配置文件中添加这样的一些东西:xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation=" http://www.springframework.org/schema/m原创 2017-10-28 17:16:00 · 2779 阅读 · 2 评论 -
SpringMVC之分析RequestMappingHandlerAdapter(二)
接上篇文章,我们在这一篇文章中继续对RequestMappingHandlerAdapter这个类进行分析。在上篇文章中我们说到afterPropertiesSet这个方法中添加的一些MethodHandlerResolver,我们继续分析这个方法中的其他代码: if (this.initBinderArgumentResolvers == null) { List resolvers原创 2017-10-28 16:33:47 · 2112 阅读 · 0 评论 -
SpringMVC之分析RequestMappingHandlerAdapter(一)
RequestMappingHandlerAdapter请求映射处理适配器,在SpringMVC中它是一个非常重要的类,对请求处理方法的调用主要是通过这个类来完成的(这段代码mv = ha.handle(processedRequest, response, mappedHandler.getHandler());)。下面我们就简单的分析一下这个类。首先我们先看一下它的UML类图结构:原创 2017-10-24 23:27:10 · 16775 阅读 · 0 评论 -
SpringMVC之分析HandlerMethodArgumentResolver请求对应处理器方法参数的解析过程(二)
在上一篇文章中我们分析了SpringMVC对简单对象和@RequestParam注解的解析过程,这一章中我们继续分析其他形式的参数解析过程。ServletRequestMethodArgumentResolver下面来看一下我们的第一个请求:http://localhost:8086/allRequestFormat/requestAndResponseRequest?userName=z原创 2017-10-17 21:38:03 · 3723 阅读 · 0 评论 -
SpringMVC之分析HandlerMethodArgumentResolver请求对应处理器方法参数的解析过程(一)
在我们做Web开发的时候,会提交各种数据格式的请求,而我们的后台也会有相应的参数处理方式。SpringMVC就为我们提供了一系列的参数解析器,不管你是要获取Cookie中的值,Header中的值,JSON格式的数据,URI中的值。下面我们分析几个SpringMVC为我们提供的参数解析器。在SpringMVC中为我们定义了一个参数解析的顶级父类:HandlerMethodArgumentReso原创 2017-10-15 13:12:10 · 7897 阅读 · 3 评论 -
SpringMVC之自动注入Request对象
前几天看了领导写的一段代码,在Controller中注入了HttpServletRequest,形式如下所示:@RestControllerpublic class AutowiredRequestController { @Autowired private HttpServletRequest request;}当时看到了这一段代码,首先想到的是AutowiredRe原创 2017-09-10 00:07:33 · 22639 阅读 · 12 评论 -
SpringMVC之请求处理源码分析从service到doDispatch之doDispatch分析(二)
说明:本文所用的SpringMVC版本为4.3.4.RELEASE,应用服务器为TomCat8.0.33。在上一篇文章中我们分析了请求service方法到doDispatch的一部分,今天我们先简单的分析doDispatch这个方法,以后还会有很多围绕着这个方法进行分析的内容。首先我们先看一下这个方法的源码的内容: protected void doDispatch(HttpServl原创 2017-08-12 21:57:42 · 2614 阅读 · 0 评论 -
SpringMVC之请求处理源码分析从service到doDispatch(一)
前面几篇文章我们简单的分析了一下SpringMVC初始化的过程,接下来的这几篇文章我们从源码的角度分析一下SpringMVC对请求的处理过程。这一篇文章我们来分析请求从service到DispatcherServlet的doDispatch的过程。我们做web开发的同学大都对Servlet的生命周期比较了解,对Servlet规范也有一些了解。我们知道请求在被Servlet处理之前会先被过滤器处理,原创 2017-07-16 11:07:43 · 3273 阅读 · 0 评论 -
自定义简陋版SpringMVC
这几天在家写了一个简陋版的SpringMVC,先把代码贴出来,有兴趣的同学可以看一下。首先定义了一个简陋的服务器,其实也就是用了ServerSocket写了一个服务端(更详细的点看这里:创建一个简单的web服务器):public class HttpServer { public static void main(String[] args) { await()原创 2017-08-12 19:08:43 · 853 阅读 · 2 评论 -
SpringMVC之浅析组件初始化过程
在上篇的文章中简单的说了一下SpringMVC请求大致处理的过程(点这里查看),说了一下SpringMVC为我们提供好的一些相关的组件。在这篇文章中我们接着看一下SpringMVC初始化这些组件的过程。SpringMVC默认组件在spring-webmvc.jar的中有一个org/springframework/web/servlet/DispatcherServlet.propertie原创 2017-06-02 23:29:47 · 2072 阅读 · 0 评论 -
SpringMVC之浅析上下文初始化(二)
在上一篇文章中(点这里查看)我们说了ContextLoaderListener初始化Web上下文的过程,这篇文章中我们说一下DispatcherServlet初始化上下文的过程。原创 2017-07-01 23:42:25 · 1879 阅读 · 0 评论 -
SpringMVC之浅析上下文初始化(一)
说明:本文所用的SpringMVC版本为4.3.4.RELEASE,应用服务器为TomCat8.0.33。下面我们先回顾一下我们在用SpringMVC进行开发时在web.xml中进行的一些配置: contextConfigLocation classpath:applicationContext.xml原创 2017-06-11 21:08:40 · 3650 阅读 · 0 评论 -
SpringMVC解析JSON请求数据小析
这几年都在搞前后端分离、RESTful风格,我们项目中也在这样用。前几天有人遇到了解析JSON格式的请求数据的问题,然后说了一下解析的方式,今天就写篇文章简单的分析一下后台对于JSON格式请求数据是怎么解析的。先把例子的代码贴出来:前端 function testJSON() { $.ajax({ type: "POST",原创 2017-04-02 16:29:21 · 10795 阅读 · 0 评论 -
org.apache.bval.jsr303.ConfigurationImpl.getDefaultParameterNameProvider
org.apache.bval.jsr303.ConfigurationImpl.getDefaultParameterNameProvider hibernate-validator bval-jsr303.原创 2016-09-13 23:25:27 · 3553 阅读 · 0 评论 -
SpringMVC使用@Valid注解进行数据验证
SpringMVC使用@Valid注解进行数据验证原创 2016-09-03 23:52:06 · 93692 阅读 · 13 评论 -
解决@ResponseBody注解返回中文乱码
解决@ResponseBody注解返回中文乱码 messageConverters supportedMediaTypes原创 2016-09-03 16:50:34 · 36900 阅读 · 6 评论 -
SpringMVC请求大致处理流程
我们都在使用SpringMVC,那么SpringMVC处理一个请求的大致流程是怎样的呢?请看下面图所示:文字描述的话大致是这样的一个流程:用户首先发送请求到前端控制器(DispatcherServlet),在doDispatch这个方法中会为请求找到对应的HandlerMapping(处理器映射),然后将这个HandlerMapping映射成HandlerExecutionChai原创 2017-05-21 23:50:09 · 7248 阅读 · 1 评论 -
SpringMvc系列之SpringMvc常用请求映射器实例
本片文章用来介绍常用的SpringMvc常用的请求映射器。Web.xml配置如下:<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ja原创 2016-05-29 21:21:02 · 2111 阅读 · 0 评论 -
SpringMVC之RequestMappingHandlerMapping(二)
我们在上篇文章中大致说了一些和RequestMappingHandlerMapping相关的类,我们在这篇文章中重点分析下RequestMappingHandlerMapping这个类。从上篇的文章中我们看到,RequestMappingHandlerMapping这个类实现了和Bean的生命周期相关的一些接口(关于Bean的生命周期可以参考之前写的小文章:Spring Bean的生命周期小析(一...原创 2019-08-30 01:36:03 · 1488 阅读 · 0 评论 -
SpringMVC之RequestMappingHandlerMapping(三)
我们在这篇文章中接着上一篇文章的内容接着说,我们在上一篇文章中说到在doWithMethods这个方法中会调用MethodCallback的doWith方法进行方法处理,那么我们在RequestMappingHandlerMapping中MethodCallback的实现是什么呢? ReflectionUtils.doWithMethods(currentHandlerType, /...原创 2019-09-04 01:31:25 · 1442 阅读 · 0 评论