springmvc
BryantLmm
努力写好每一行代码
展开
-
SpringMVC源码分析(一)从配置文件说起
一、DispatchServlet初始化过程使用Maven新建一个Web工程,使用tomcat-maven插件来运行程序,也就是说web容器选用tomcat,配置web.xml供tomcat容器调用。<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.原创 2017-09-24 22:35:54 · 427 阅读 · 0 评论 -
消息转换器
前言在使用SpringMVC的过程中,我们如果想要返回json格式的数据(Response的Content-Type: application/json;charset=UTF-8),通常使用@ResponseBody注解,引入相应的json解析包就可以了,如果想要解析前端传来的json格式的数据(request header Content-Type为application/json),在Co...原创 2018-12-21 15:58:15 · 1033 阅读 · 0 评论 -
SpringMVC处理方法的具体逻辑
在讲解SpringMVC整体设计的时候,我们只分析了最顶层的核心接口,但是SpringMVC还有很多可以去探究的细节,还有很多我们可以扩展的接口,我们继续来深入学习SpringMVC。在整体设计分析中,我们知道一个Web请求进来时依靠HandlerMapping来找到正确的Controller以及Controller下对应的@RequestMapping注解修饰的方法的。而具体的方法处理的逻辑是...原创 2018-12-21 15:57:39 · 346 阅读 · 0 评论 -
SpringMVC配置文件的解析(二)
前言上一篇我们已经将配置文件中的bean节点的注册化和实例化讲解了。接下来我们来看下下面这种扩展节点是什么解析的。<context:component-scan base-pacakge="" />在Spring的配置节点中分为两种,一种就是bean,import这种的原生节点(个人臆造),另一种就是上面举例的这种扩展节点。还记得我们讲解解析bean节点的代码吗。将目光投向DefaultBeanD原创 2018-01-07 02:56:02 · 345 阅读 · 0 评论 -
SpringMVC配置文件解析(三)
前言前面的两篇文章分别介绍了配置文件注册bean的过程以及注解注册Bean的过程。那么现在就将目光转向SpringMVC配置文件的具体配置吧。一般来说,我们在编写SpringMVC配置文件的时候都会被建议加上入下的配置: <mvc:annotation-driven/>那有没有人想过为什么要加这个配置呢,这个标签到底起什么作用呢,我们今天就来探究一下。\的解析在上一篇我们已经讲解过了\的解析原创 2018-01-07 02:56:25 · 879 阅读 · 0 评论 -
SpringMVC配置文件详解(四)
前言前面的三篇文章分别讲解了配置文件注册bean的过程、注解注册bean的过程和DispatchServlet的初始化。那现在我们就可以把目光转向我们使用SpringMVC处理静态资源时的配置的原理了。先来看一下使用<mvc:resources location="/public/static/*" mapping="/static/*"/>来处理静态资源的原理到底是怎样的。\的解析在之前我们已经讲原创 2018-01-07 02:58:37 · 734 阅读 · 1 评论 -
SpringMVC配置文件解析(五)
前言我们接着讲解SpringMVC处理静态资源的方法,这一篇要讲解的是<mvc:default-servlet-handler/>配置处理静态资源的原理\的解析不多说废话了,直接来到DefaultServletHandlerBeanDefinitionParser的parse方法@Override public BeanDefinition parse(Element element, Pa原创 2018-01-07 16:10:35 · 509 阅读 · 0 评论 -
SpringMVC配置文件详解(六)
前言我们之前已经讲解过了 <mvc:annotation-driven/>这个标签了,但是他下面是可以有子标签的,今天我们就来讲一下他的子标签,我们在配置文件中使用了他的子标签来完成了对json数据的转化。我们先看下配置 <mvc:annotation-driven> <mvc:message-converters register-defaults="true">原创 2018-01-08 00:07:09 · 1161 阅读 · 0 评论 -
SpringMVC请求处理之对方法参数的处理
前言讲完了DispatchServlet(也可以说是SpringMVC框架)的初始化之后,我们再接着看DispatchServlet处理请求的原理,也可以说是SpringMVC处理请求的原理。今天就先来看看SpringMVC对方法参数的处理。我们先给出一个测试的类package com.wangcc.controller;import java.util.Date;import org.spring原创 2018-01-08 01:58:15 · 2966 阅读 · 1 评论 -
SpringMVC配置文件详解
前言想必大家在刚开始使用SpringMVC处理静态资源的时候都遇到过问题,当DispatchServlet找不到静态资源的时候就会报404错误。然后都会被建议使用下面三种方式来处理静态资源。1.使用Web容器的defaultServlet<servlet-mapping> <servlet-name>default</servlet-name> <url-patte原创 2018-01-07 02:55:38 · 8933 阅读 · 1 评论 -
SpringMVC源码分析(二)从框架设计说起
上一篇博客介绍了DispatchServlet的初始化过程,本来这篇是打算讲解DispatchServlet的service()执行过程的,但是发现,如果要讲解service()的过程,那必须把SpringMVC所涉及到的重要接口等都先说一下,把SpringMVC的整体架构都说一下,否则直接说service()的具体执行,太庞大了。所以这一篇博客就来说一下SpirngMVC的设计。框架的整体设计任何转载 2017-09-25 00:08:56 · 264 阅读 · 0 评论 -
@ResponseBody作用在返回类型为String的方法时的坑
在默认的Spring配置中,当在返回类型为String的Controller方法时,在其上加上@ResponseBody时会出现问题,那就是返回的不再是我们期待的Json格式的字符串了,而是会变成在正常的Json串前后加上双引号。这是为什么呢?这是因为在HTTPMessageConverter中对应写json格式相应的处理类在写json的时候默认是对String类型进行这样处理的。以Gson为例...原创 2018-12-21 15:58:44 · 11630 阅读 · 4 评论