- 浏览: 52708 次
- 性别:
文章分类
最新评论
SpringMVC 流程图
DispatcherServlet的web.xml配置
DispatcherServlet代码处理中心
DispatcherServlet的web.xml配置
<servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:spring/spring-mvc.xml </param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> <url-pattern>*.json</url-pattern> <url-pattern>*.xml</url-pattern> <url-pattern>*.m3u8</url-pattern> <url-pattern>download</url-pattern> </servlet-mapping>
DispatcherServlet代码处理中心
protected void doDispatch(HttpServletRequest request, HttpServletResponse response) throws Exception { HttpServletRequest processedRequest = request; HandlerExecutionChain mappedHandler = null; boolean multipartRequestParsed = false; WebAsyncManager asyncManager = WebAsyncUtils.getAsyncManager(request); try { ModelAndView mv = null; Exception dispatchException = null; try { processedRequest = checkMultipart(request); multipartRequestParsed = (processedRequest != request); // Determine handler for the current request. //获取处理映射器 mappedHandler = getHandler(processedRequest); if (mappedHandler == null || mappedHandler.getHandler() == null) { noHandlerFound(processedRequest, response); return; } // Determine handler adapter for the current request. //获取适配器 HandlerAdapter ha = getHandlerAdapter(mappedHandler.getHandler()); // Process last-modified header, if supported by the handler. String method = request.getMethod(); boolean isGet = "GET".equals(method); if (isGet || "HEAD".equals(method)) { long lastModified = ha.getLastModified(request, mappedHandler.getHandler()); if (logger.isDebugEnabled()) { logger.debug("Last-Modified value for [" + getRequestUri(request) + "] is: " + lastModified); } if (new ServletWebRequest(request, response).checkNotModified(lastModified) && isGet) { return; } } if (!mappedHandler.applyPreHandle(processedRequest, response)) { return; } // Actually invoke the handler. mv = ha.handle(processedRequest, response, mappedHandler.getHandler()); if (asyncManager.isConcurrentHandlingStarted()) { return; } applyDefaultViewName(request, mv); mappedHandler.applyPostHandle(processedRequest, response, mv); } catch (Exception ex) { dispatchException = ex; } processDispatchResult(processedRequest, response, mappedHandler, mv, dispatchException); } catch (Exception ex) { triggerAfterCompletion(processedRequest, response, mappedHandler, ex); } catch (Error err) { triggerAfterCompletionWithError(processedRequest, response, mappedHandler, err); } finally { if (asyncManager.isConcurrentHandlingStarted()) { // Instead of postHandle and afterCompletion if (mappedHandler != null) { mappedHandler.applyAfterConcurrentHandlingStarted(processedRequest, response); } } else { // Clean up any resources used by a multipart request. if (multipartRequestParsed) { cleanupMultipart(processedRequest); } } } }
发表评论
-
java 之sftp实现
2018-03-31 17:41 656上周进行了linux环境下sftp的配置和用户权限的创建:ht ... -
java webService之CXF的使用
2018-03-29 14:25 446使用场景:华为VOD系统与媒资系统的接口,资产数据(元数据XM ... -
java 中jstat的用法
2018-03-20 18:06 715JDK自带VM分析工具jps,jstat,jmap,jcons ... -
javaEE性能优化
2018-03-20 16:41 500性能的优化一般可以从多方面入手,前端资源,java程序,数据传 ... -
jvm gc日志检查
2018-03-20 15:08 367JVM的GC日志的主要参数包括如下几个: -XX:+Pr ... -
负载均衡的几种原理
2018-03-19 16:05 469什么是负载均衡? 就 ... -
基于TCP协议实现RPC
2018-03-19 11:28 712RPC的全称:Remote Process Call,即远程过 ... -
java 多线程
2018-03-16 13:29 350Java 多线程编程 Java 给 ... -
Java中BIO、NIO、AIO的原理及其区别
2018-03-12 17:34 657IO的处理方式通常分为 ... -
基于Spring 自定义标签实现
2017-11-30 09:26 549一、源码分析: Spring标签的定义分为默认标签和自定义 ... -
java二维码的生成和解析
2017-09-26 11:15 431一、本文目的: 为了研究对支付宝和微信支付的统一路口管理 ... -
spring-data-redis
2017-09-18 11:54 731Spring-data-redis使用 1、maven依赖 ... -
java,redis
2017-09-18 11:32 355Redis 简介 Redis 是完全开源免费的,遵守BSD协议 ... -
Java xml与实体Bean的转换
2017-09-05 15:24 6981、pom.xml依赖包: <dependenc ... -
Java JVM虚拟机知识要点
2017-08-30 10:25 5941、JVM虚拟机图解: ... -
java 上传小于占用空间为4k的jpg图片异常问题处理
2017-07-19 18:02 525javaWeb上传图片 jpg占用空间为4k时,Commons ... -
Springmvc 注入字符串与时间格式的转换
2017-03-24 11:10 1190以下列出两种spring支持的时间转换 -、方式一 1、 ... -
linux下修改war包
2017-03-06 15:32 1097Linux上修改war包上的文件 www.MyExceptio ... -
itellij idea 11.1.3 mybatis 自动构建代码
2016-11-16 09:50 442步骤一: 1、在工程中pom.xml加添 <buil ... -
intellij idea 下resin容器远程调试
2016-11-16 09:27 5382resin远程调试(我使用的是resin-4.0.41版本): ...
相关推荐
springmvc执行流程图,图片下载,一看就会,面试必备
流程图,讲述了springMVC执行流程
1. 请求处理之前:执行`preHandle`方法,如果返回`true`,则继续处理请求。 2. 请求处理之后,但渲染结果之前:执行`postHandle`方法,此时可以修改响应结果。 3. 请求处理结束后:执行`afterCompletion`方法,用于...
SpringMVC的执行流程及组件详解 SpringMVC是一个基于Java的Web应用程序框架,它提供了一种灵活的方式来构建Web应用程序。理解SpringMVC的执行流程及组件是开发高质量Web应用程序的关键。本文将对SpringMVC的执行...
根据给定文件的信息,本文将对SpringMVC框架的核心流程进行深入总结,并通过核心流程图的形式来解析SpringMVC的工作机制。SpringMVC是Spring框架的一部分,它为Web应用程序提供了模型-视图-控制器(Model-View-...
描述中提到的“springmvc执行流程图”则是一个可视化工具,帮助开发者理解SpringMVC框架的工作原理,从请求到达服务器到响应返回客户端的整个过程。 Spring框架是Java企业级应用开发的重要工具,它提供了依赖注入...
Springmvc的运行流程图文详解是指在Springmvc框架中,请求是如何被处理和执行的。下面将对Springmvc的运行流程进行详细的解释。 首先,在浏览器端发送请求到服务器端时,第一个步骤是检查当前的请求在...
通过SpringMVC的详细流程图和思维导图,我们可以直观地了解整个处理过程,有助于在实际开发中快速定位问题和优化代码。SpringMVC的设计使得开发者能够专注于业务逻辑,而不用过多关心底层的HTTP请求处理,极大地提高...
以下是SpringMVC框架的一些核心概念和流程的详细解释: 一、Spring MVC的核心类与接口: 1. DispatcherServlet:它是Spring MVC的前端控制器,负责接收HTTP请求并将其转发给适当的处理器。 2. HandlerMapping:此...
为了更形象地理解SpringMVC的工作流程,文档中提到的UML时序图是一个很好的辅助工具。时序图能够清晰地展示出各个组件之间交互的顺序,以及交互中传递的数据。通过时序图,开发者可以更直观地理解系统的行为。 需要...
总结来说,这个项目实例了SSM框架下图片上传和回显的完整流程,涉及前后端交互、文件操作、数据库操作和安全防护等多个方面,对于理解SSM框架的应用和Web开发中的文件上传有很好的实践意义。通过学习和实践这个案例...
随后,通过启动项目并使用浏览器测试,来查看代码执行流程。 在学习SpringMVC的实践中,完成商品列表的加载是一个重要的环节。这个过程包括创建商品列表页面、创建Item的JavaBean类(POJO)、编写ItemController类...
Spring MVC 是一个基于 Java 的轻量级 Web 开发...这份资料"2019-04-03_一步一步手绘springMVC运行时序图"应该是详细描绘了Spring MVC运行时的步骤和组件之间的交互,对于理解和学习Spring MVC的运行机制非常有帮助。
入门程序是理解SpringMVC工作原理的重要途径,主要目的是熟悉SpringMVC的基本流程及其各个组件的作用。 - **非注解的处理器映射器和处理器适配器**:这是SpringMVC早期版本中使用的方法,主要用于没有使用注解的...
它提供了一个图形化的流程设计工具,开发者可以通过拖放方式创建流程图,并将其转换为可执行的流程定义。Activiti还集成了监控、任务管理和API,使得流程的运行状态可以被轻松跟踪和控制。 整合Spring MVC、MyBatis...
SpringMVC拦截器配置及运行流程解析 SpringMVC拦截器是指在SpringMVC框架中,用于拦截和处理请求的组件。拦截器可以在请求处理之前、之后或抛出异常时执行某些操作,例如身份验证、日志记录、异常处理等。SpringMVC...
理解并掌握SpringMvc的控制流程、Mybatis的SQL映射以及它们之间的协同工作原理,对于提升Java Web开发能力具有重要意义。在实际项目中,这样的系统设计模式可以灵活应用于各种业务场景,为企业的信息化建设提供强大...
SpringMVC请求流程可以分为以下几个阶段: 1. 客户端发送请求:客户端发送HTTP请求到服务器。 2. DispatcherServlet处理请求:DispatcherServlet将请求委托给对应的处理器(Controller)进行处理。 3. 处理器处理...
### SpringMVC学习课堂笔记知识点总结 #### 一、SpringMVC基础知识 ##### 1.1 什么是SpringMVC? SpringMVC是Spring框架的一部分,主要用于构建Web应用程序。它遵循了MVC(Model-View-Controller)设计模式,提供...
Mybatis的Executor执行SQL并处理结果集,再由Mybatis-Spring的MapperScannerConfigurer扫描指定包下的Mapper接口,自动注入到Spring容器中。 4. **增删改查实现**: - **增加(Insert)**:在Service层中定义增加...