SpringMVC源码
文章平均质量分 84
龙小虬
很懒。
展开
-
记录一次url映射的深刻教训
博主在纯手写SpringMVC逻辑的时候,也就是这篇文章:纯手写SpringMVC逻辑代码,遇到一个找了很久的问题,在配置手写的DispatcherServlet过程中,写addMapping的拦截请求的时候使用的是dynamic.addMapping("/*"),最后返回视图的时候一直报404,debug之后发现,视图也被拦截了。之后才发现“/”和“/*”是不同的。< url-pattern>/</url-pattern>会匹配到/login这样的路径型url,不会匹配到模式原创 2021-03-18 17:51:14 · 90 阅读 · 0 评论 -
SpringMVC源码分析------HandlerAdapter适配器
适配器模式将一个类的接口转换成客户希望的另一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。HandlerAdapter分析我们了解到了适配器模式的定义,那现在来看看HandlerAdapter吧。在我们DispatcherServlet中doDispatch()方法中HandlerAdapter被使用过,那为什么要使用这个适配器呢?在我们前面纯手写SpringMVC逻辑处理过程的时候,我们并没有使用适配器,可还是达到了目的。我们了解了适配器模式之后,就可以发现,原创 2021-03-18 16:32:56 · 187 阅读 · 0 评论 -
纯手写SpringMVC逻辑代码
项目目录pom.xml<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version></dependency><dependency> <groupId>org.apache.commons</g原创 2021-03-17 15:58:45 · 159 阅读 · 2 评论 -
SpringMVC源码分析------关键源码分析
前提要点本篇文章使用的项目为SpringMVC源码分析------基础知识(二)的代码1.重要的DispatcherServletDispatcherServlet是SpringMVC的核心类,俗称前端控制器。客户端所有请求都会转发到它执行,最终能够执行我们的url请求(根据url找到请求方法,利用反射执行)2.关键源码分析我们了解了DispatcherServlet是前端控制器,那么我们前端的请求一定会通过他的处理。我们来看看DispatcherServlet这个类。查看类图(ctrl+al原创 2021-03-12 10:54:41 · 133 阅读 · 0 评论 -
SpringMVC源码分析------基础知识(二)
1.@RestController和@Controller区别点开@RestController可以发现里面包含了@Controller、@ResponseBody两个注解,也就是说@RestController有着这两个注解的功能,一个是返回JSON数据,一个是bean注入的的注解。拦截器与过滤器相同点:都是基于AOP技术,对方法实现增强,都可以拦截请求的方法不同点:1)过滤器属于servlet自己研发的,拦截器技术属于SpringMVC自己研发的2)过滤器属于拦截WEB请求的,而拦截器不原创 2021-03-11 16:53:17 · 119 阅读 · 0 评论 -
SpringMVC源码分析------基础知识(一)
1.SpringMVCSpringMVC是基于Servlet实现封装的。Servlet是sun公司提供的一门用于开发动态web资源的技术,通常我们也把实现了servlet接口的java程序,称之为Servlet。2.创建webapp项目File—>new project一定要添加此Maven Property否则打开项目的时候可能会一直引入,引入的时间过长。在我们的main目录下并没有发现java包,我们需要自己进行创建。但是创建之后需要进行配置(如果不进行配置则该包不是资源目录,无法擦创原创 2021-03-09 19:55:38 · 97 阅读 · 0 评论