springmvc请求处理详解

Spring Web MVC 处理的大致过程:
一旦到来,DispatcherSevlet将负责将请求分发。DispatcherServlet可以认为是Spring提供的前端控制器,所有的请求都有经过它来统一分发。
在DispatcherServlet将请求分发给Spring Controller之前,需要借助于Spring提供的HandlerMapping定位到具体的Controller。HandlerMapping是这样一种对象,它能够完成客户请求到Controller之间的映射。在Struts中,这种映射是通过struts-config.xml文件完成的。其中,Spring为Controller接口提供了若干实现,例如Spring默认使用的BeanNameUrlHandlerMapping。还有,SimpleUrlHandlerMapping,CommonsPathMapHandlerMapping。
Spring Controller将处理来自DispatcherServlet的请求。Spring的Controller类似于struts的Action,能够接受HttpServletRequest和HttpServletResponse。Spring为Controller接口提供了若干实现类,位于org.springframework.web.servlet.mvc包中。由于Controller需要为并发用户处理上述请求,因此实现Controller接口时,必须保证并且可重用。Controller将处理客户请求,这和Struts Action 扮演的角色是一致的。
一旦Controller处理完客户请求,则返回ModelAndView对象给DispatcherServlet前端控制器。ModelAndView中包含了模型(Model)和视图(View)。从宏观角度考虑,DispatcherServlet是整个Web应用的控制器;从微观角度考虑,Controller是单个处理过程中的控制器,而ModelAndView是Http请求过程中返回的模型和视图。前端控制器返回的视图可以是视图的逻辑名,或者实现了View接口的对象。View对象能够渲染客户响应结果。其中,ModelAndView中的模型能够供渲染View时使用。借助于Map对象能够存储模型。
如果ModelAndView返回的视图只是逻辑名,则需要借助Spring提供的视图解析器(ViewResoler)在Web应用中查找View对象,从而将响应结果渲染给客户。
DispatcherServlet将View对象渲染出的结果返回个客户。
时间: 2024-08-28 05:47:51

springmvc请求处理详解的相关文章

springmvc 配置详解

今天用springmvc搭了一个框架,将步骤以及配置记录下来. jar包网盘地址为:http://yun.baidu.com/share/link?shareid=1109438387&uk=2836507213 项目网盘地址为: http://yun.baidu.com/share/link?shareid=3913316871&uk=2836507213 1.需要导入网盘所有的jar包 2.修改web.xml文件 (加入springmvc的配置) <?xml version=&q

【转载】SpringMVC配置文件详解

转自:https://my.oschina.net/happyBKs/blog/691502 web.xml文件是web应用的部署描述. 在上一节的springMVC示例中 ,idea下的Maven-webapp项目自动生成了web.xml文件,用的是webapp2.3的标准.文件头声明如下: <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http:/

【Spring】SpringMVC之详解AOP

1,AOP简介 Aspect Oriented Programming  面向切面编程.AOP还是以OOP为基础,只不过将共同逻辑封装为组件,然后通过配置的方式将组件动态切入到原有组件中.这样做的有点有:可以在不修改原有组件功能代码的基础上,对组件进行扩充,对公共需要和传统业务进行解耦. 2,语法 1.切面组件(加什么功能?) Aspect 在组件中寻找共通位置和时机,将追加功能切入到原有组件中.追加的功能组件一般被称为切面组件. 2.  切入点(给谁加?) Pointcut 切入点用于指定切入

springMVC配置详解(转)

现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了.不过要想灵活运用Spring MVC来应对大多数的Web开发,就必须要掌握它的配置及原理. 一.Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0) 1. jar包引入 Spring 2.5.6:spring.jar.spring-webmvc.jar.comm

Maven构建SpringMVC项目详解

Eclipse版本: Eclipse Java EE IDE for Web Developers. Version: Kepler Service Release 2 上述版本的Eclipse中已经包含了基本的maven插件,如果你使用的eclipse中没有,可以通过下面的地址在Eclipse Help->Install New Software 中安装: http://m2eclipse.sonatype.org/sites/m2e 安装WTP(Web Tools Project)插件 地址

利用Intellij+MAVEN搭建SpringJDBC+MySql+SpringMVC项目详解

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion&

springMVC --DispatcherServlet详解

DispatcherServlet作用 DispatcherServlet是前端控制器设计模式的实现,提供Spring Web MVC的集中访问点,而且负责职责的分派. DispatcherServlet主要用作职责调度工作,本身主要用于控制流程: 1.文件上传解析,如果请求类型是multipart将通过MultipartResolver进行文件上传解析: 2.通过HandlerMapping,将请求映射到处理器(返回一个HandlerExecutionChain,它包括一个处理器.多个Hand

Maven搭建SpringMVC项目详解

前言 上一次复习搭建了SpringMVC+Mybatis,这次搭建一下SpringMVC,采用的是SpringJDBC,没有采用任何其他的ORM框架,SpringMVC提供了一整套的WEB框架,所以如果想搭建纯的SpringMVC的话,而且不必映入别的任何框架,SpringMVC都给我们提供了,下面试Spring + SpringMVC的详细搭建过程. 项目包含:数据库mysql(其实那个数据库都无所谓),连接池采用的是c3p0. 1.创建数据表 数据表很简单,user_info 2.搭建Mav

SpringMVC 注解详解

spring mvc 中有很多的注解,每个注解都有自己的功能,下面我们就对spring mvc中的注解一一作出介绍.关于spring的注解还没有总结,请等待后续blog更新. @controller org.springframework.stereotype.Controller注解类型用于指示当前类是一个控制器. Spring使用扫描机制查找应用程序中所有基于注解的控制器类,分发器会扫描使用该注解类的方法,并检测方法是否使用了@RequestMapping注解,只用使用了@RequestMa