springmvc
四月丶丶
越努力越幸运
展开
-
Tomcat加载资源流程
资源配置spring和springmvc整合的时候资源加载入口配置在web.xml中,代码如下<web-app> <display-name>Archetype Created Web Application</display-name> <!--springioc容器管理bean及aop声明式事务配置文件--> <context-param> <param-name>contextCo原创 2020-07-19 11:50:48 · 274 阅读 · 0 评论 -
spring和springmvc父子容器
父子容器概念在spring和springmvc进行整合的时候,一般情况下我们会使用不同的配置文件来配置spring和springmvc,配置入口在web.xml文件,配置如下<web-app> <display-name>Archetype Created Web Application</display-name> <!--springioc容器管理bean及aop声明式事务配置文件--> <context-param原创 2020-07-19 11:09:50 · 170 阅读 · 0 评论 -
Spring-SpringMVC-JPA整合
整合策略SSM = Spring + SpringMVC + JPA= (Spring + JPA)+ SpringMVC先整合 Spring + JPA然后再整合 SpringMVCJPA整合Spring整合目标创建工程导入坐标(Java框架于我们而言就是一堆jar)配置 Spring 的配置文件(配置指定框架执行的细节)编写实体类 Resume,使用 JPA 注解配置映射关系编写一个符合 Spring Data JPA 的 Dao 层接口(ResumeDao接口)操作原创 2020-07-10 16:55:55 · 243 阅读 · 0 评论 -
Spring-SpringMVC-Mybatis整合
整合策略SSM = Spring + SpringMVC + Mybatis = (Spring + Mybatis)+ SpringMVC先整合 Spring + Mybatis然后再整合 SpringMVCMybatis整合Spring整合目标数据库连接池以及事务管理都交给Spring容器来完成SqlSessionFactory对象应该放到Spring容器中作为单例对象管理Mapper动态代理对象交给Spring管理,我们从Spring容器中直接获得Mapper的代理对象原创 2020-07-10 16:29:41 · 85 阅读 · 0 评论 -
springmvc源码解析(5)--processDispatchResult
视图渲染入口方法注释简单翻译过来就是 处理handler执行结果,不管结果是ModelAndView还是异常,最终都被处理为ModelAndView如果有异常就处理异常视图渲染,核心方法执行拦截器最终的afterCompletion方法render方法主要有以下两个功能根据view名称封装view视图对象渲染数据遍历视图解析器封装视图,初始化九大组件时知道默认视图解析器是InternalResourceViewResolverInternalResourceV原创 2020-07-08 12:06:39 · 471 阅读 · 0 评论 -
springmvc源码解析(4)--handle处理请求并返回结果视图
方法入口处理请求之前先获取handler并作为参数传入,此处不需要拦截器,所有没有传入HandlerExecutionChain调用 AbstractHandlerMethodAdapter中的handle方法判断当前是否需要支持在同一个session中只能线性地处理请求如果当前不需要对session进行同步处理,则直接对HandlerMethod进行适配synchronizeOnSession默认false,所以走第二个分支下面是执行的核心方法首先封装了一个webR原创 2020-07-07 23:11:32 · 192 阅读 · 0 评论 -
springmvc源码解析(3)--getHandler和getHandlerAdapter
getHandler这一步是循环遍历handlerMappings,从里面匹配一个返回。handlerMappings在前面的文章中分析过是在初始化九大组件的时候就初始化好的。上一步的mapping.getHandler是由AbstractHandlerMapping实现的,主要有以下一个功能查找handler处理器的,具体留给子类去重写实现的, 比如根据URL去查找匹配等等构建出一个处理器链 ,和handler绑定,并且内部获取所有的拦截器,然后添加到处理器链里面去如果设置了跨域原创 2020-07-07 14:21:28 · 801 阅读 · 0 评论 -
springmvc源码解析(2)--请求处理流程概览
打断点分析分析任何源码时,如果一开始不清楚类的继承结构,具体执行流程,都可以通过打断点的方式获得调用栈,然后就知道具体如何执行。在上面打断点后,具体调用栈如下test:51, DemoController (com.lagou.edu.controller)invoke0:-1, NativeMethodAccessorImpl (sun.reflect)invoke:62, NativeMethodAccessorImpl (sun.reflect)invoke:43, Delegati原创 2020-07-07 13:12:22 · 101 阅读 · 0 评论 -
springmvc源码解析(1)- 九大组件初始化
DispatcherServlet类继承结构分析springmvc核心类是DispatcherServlet,所以分析springmvc可以从DispatcherServlet作为入口打断点查看调用栈如果不知道一个程序的调用流程,可以通过打断点清晰的查看调用流程DispatcherServlet 有一个很明显的方法 initStrategies,在此处打断点可以获取到如下调用栈onRefresh:495, DispatcherServlet (org.springframework.we原创 2020-07-06 23:43:51 · 203 阅读 · 0 评论 -
springmvc使用概览
springmvc简介1 体系架构表现层表现层即web 层,包括展示层和控制层:控制层负责接收请求,展示层负责结果的展示。依赖业务层业务层service层,负责业务逻辑处理,依赖持久层持久层dao层,负责数据持久化2 设计思想Model 模型模型包含业务模型和数据模型,数据模型用于封装数据,业务模型用于处理业务。View 视图通常指的就是我们的 jsp 或者 html。作用一般就是展示数据的。通常视图是依据 模型数据创建的。Controller 控制器是应用程序中处理原创 2020-07-06 21:39:28 · 94 阅读 · 0 评论