`
xmong
  • 浏览: 262846 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

spring mvc

阅读更多
Spring MVC


目录
1 SPRINGMVC概述 1
1.1 什么是MVC 1
1.2 SPRING架构 1
1.3 SPRINGMVC的概述 1
2 SPRINGMVC配置 2
2.1 配置DISPATCHERSERVLET 2
2.2 配置SPRING上下文 3
2.3 配置请求映射控制器 3
2.3.1 BeanNameUrlHandlerMapping默认请求映射控制器 3
2.3.2 SimpleUrlHandlerMapping配置 4
2.3.3 ControllerClassNameHandlerMapping配置 4
2.3.4 CommonsPathMapHandlerMapping配置 4
2.3.5 配置多个映射处理器 4
2.4 使用控制器处理请求 4
2.5 配置视图解析 4



1 SpringMvc概述
1.1 什么是MVC
M是Model,表示模型,主要完成系统的逻辑处理。
V是View,表示视图,主要完成与用户的交互。
C是Controller,表示控制器,主要是建立模式与视图之间的关联。
1.2 Spring架构
Spring架构如下图:



1.3 SpringMVC的概述
我们可以通过SpringMvc对一个请求处理流程来概述SpringMvc。如下图所示:
DispatcherServlet---请求分发器,HanderMapping---URL映射控制器,
Controller---控制器,ModelAndView---信息模型,
ViewResolver---视图解析器,View---视图。



(1) 当客户端发起一个请求的时候,web容器会接受这个请求并将请求交给spring的分发器(DispatcherServlet)处理。DispatcherServlet是一个请求servlet控制器,它负责将请求发送给SpringMvc其他组件处理。
(2) 当DispatcherServlet接受了请求后,他会查询一个或多个URL映射处理器(HandlerMapping),根据映射关系做出请求分派处理决策。
(3) DispacherServlet根据查取的URL映射关系,将请求分派给相应的控制器(Controller)处理请求。一般控制器对请求只做很少的处理工作,他会将业务逻辑的处理交给服务层去处理并返回相应的结果数据。Controller类似于struts的Action功能。
(4) Controller处理完请求后,他会将结果数据和视图名称打包到信息模式(ModelAndView)中返回给DispatcherServlet。
(5) 一旦ModelAndView被提交给DispatcherServlet后,DispatcherServlet就会要求一个视图解析器(ViewResolver)来协助查找实际的视图路径(如JSP)。
(6) DispatcherServlet查找出视图渲染结果后,就会将模型数据(包含结果数据)提交给视图渲染一个页面呈现给用户。

2 SpringMvc配置
2.1 配置DispatcherServlet
DispatcherServlet是SpringMvc的核心,这个servlet的功能作为SpringMvc的前端控制器。要想使得DispatcherServlet能处理请求,必须在web应用系统的web.xml文件中进行相应的配置。
<servlet>
    <servlet-name>dispatch </servlet-name>
    <servlet-class>
      org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<filter-mapping>
<filter-name>dispatch </filter-name>
<url-pattern>/*.jsp</url-pattern>
</filter-mapping>

2.2 配置Spring上下文
可以在web应用系统的web.xml文件中配置ContextLoaderListener来装载spring配置文件。下面配置装载目录为/WEB-INF/config/*,这里的“*”表示目录/WEB-INF/config/下的所有文件都会被装载,也可以配置为具体文件路径,ContextLoaderListener根据路径来加载文件,也可配置多个文件路径,每个文件路径用逗号分隔。在spring配置文件中可以配置spring的控制组件和服务组件。
<listener>
    <listener-class>
      org.springframework.web.context.ContextLoaderListener
    </listener-class>
  </listener>
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/config/* </param-value>
  </context-param>

2.3 配置请求映射控制器
HandlerMapping是SpringMvc的请求映射控制器,负责请求处理流程中的(2)将控制器映射到请求URL。SpringMvc中所有的请求映射控制器都实限了接口org.springframework.web.servlet.HandlerMapping。SpringMvc中有四个请求映射控制器,可以通过在spring配置文件中来配置相应的请求映射控制器。
(1)BeanNameUrlHandlerMapping根据控制器(Controller)的名字将控制器映射到URL。
(2)SimpleUrlHandlerMapping根据映射控制器(SimpleUrlHanderMapping)中定义的属性集合将控制器映射到URL。
(3)ControllerClassNameHaddlerMapping根据控制器(Controller)的类名作为URL的基础将控制器映射到URL。
(4)CommonsPathMapHandlerMapping根据控制器代码中的元数据将控制器映射到URL。

2.3.1 BeanNameUrlHandlerMapping默认请求映射控制器
SpringMvc中默认情况下配置的是BeanNameUrlHandlerMapping请求映射控制器,即当我们在spring中没有配置任何请求映射控制器时,DispatchServlet会使用默认的BeanNameUrlHandlerMapping请求映射控制器,根据控制器(Controller)的名字将控制器映射到URL。

2.3.2 SimpleUrlHandlerMapping配置

2.3.3 ControllerClassNameHandlerMapping配置

2.3.4 CommonsPathMapHandlerMapping配置

2.3.5 配置多个映射处理器

2.4 使用控制器处理请求

2.5 配置视图解析



-----------------------------------------------------------

参考:
《spring in action》
《spring 揭秘》
spring mvc 文档

未完待续



  • 大小: 42.6 KB
  • 大小: 18.3 KB
分享到:
评论

相关推荐

    精通Spring MVC 4

    Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。Spring MVC4是当前zuixin的版本,在众多特性上有了进一步的提升。, 在精通Spring...

    Spring MVC jar包

    Spring MVC 是一个基于Java的轻量级Web应用框架,它为开发者提供了模型-视图-控制器(MVC)架构,使开发人员能够更好地组织和分离应用程序的业务逻辑、数据处理和用户界面。Spring MVC是Spring框架的一个核心组件,...

    Mastering Spring MVC 4(2015.09)源码

    Spring MVC 是一个强大的Java Web开发框架,它是Spring框架的一部分,专为构建高度可扩展和模块化的Web应用程序而设计。在2015年的版本中,Spring MVC 4已经相当成熟,提供了许多特性来简化开发流程并提高开发效率。...

    Spring MVC + Mybatis+Spring实现的个人博客系统

    这是一个基于Spring MVC、Mybatis和Spring框架实现的个人博客系统,涵盖了Web开发中的后端架构设计、数据库管理和前端展示等多个方面。以下将详细介绍这个系统的关键知识点: **1. Spring MVC** Spring MVC是Spring...

    Spring MVC所需jar包

    Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一个重要模块,主要用于构建 Web 应用程序的后端控制层。这个框架提供了模型-视图-控制器(MVC)设计模式的实现,简化了Java Web应用的开发...

    spring mvc框架依赖全面jar

    Spring MVC 是一个基于 Java 的轻量级Web应用框架,它为构建模型-视图-控制器(MVC)架构的应用程序提供了强大的支持。在本压缩包中包含了一系列与Spring MVC相关的jar文件,这些文件是构建和运行Spring MVC项目所...

    spring mvc jar包

    Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一部分,专门用于构建可扩展和模块化的 Web 应用程序。在提供的压缩包文件中,包含了 Spring MVC 开发所需的一些核心库,这些库是 Spring MVC...

    基本的spring mvc + spring security实现的登录(无数据库)

    在本项目中,我们主要探讨的是如何利用Spring MVC和Spring Security框架构建一个基本的无数据库登录系统。Spring MVC是Spring框架的一部分,用于处理Web应用程序的请求-响应模型,而Spring Security则是一个强大的...

    spring mvc mybatis 整合源码,带数据库脚本,带详细注释

    Spring MVC 和 MyBatis 是两个在Java Web 开发中广泛使用的框架。Spring MVC 作为Spring框架的一部分,负责处理HTTP请求并转发到相应的业务逻辑,而MyBatis则是一个轻量级的持久层框架,用于简化数据库操作。整合这...

    Spring MVC 4.2.3

    Spring MVC是Spring框架的一个核心模块,专为构建Web应用程序而设计。它提供了模型-视图-控制器(MVC)架构,使开发者能够有效地分离业务逻辑、数据处理和用户界面。在"Spring MVC 4.2.3"版本中,我们看到了一系列的...

    Spring MVC 基础实例源码01

    Spring MVC 是一个基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要用于构建Web应用程序的后端控制器。这个"Spring MVC 基础实例源码01"的资源很可能是为了帮助初学者理解Spring MVC的核心概念和...

    Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)SSM源码.zip

    Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)SSM源码Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)SSM源码Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)SSM源码Java EE企业级应用...

    Spring MVC 4.2.4.RELEASE 中文文档

    **Spring MVC 4.2.4.RELEASE 中文文档** Spring MVC是Spring框架的一个核心组件,专注于构建Web应用程序。它提供了模型-视图-控制器(MVC)架构,帮助开发者组织和分离应用的业务逻辑、数据处理以及用户界面。...

    Spring MVC 教程快速入门 深入分析

    Spring MVC是一种基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,使用了IoC容器,支持RESTful风格的应用程序开发。Spring MVC通过分离模型(Model)、视图(View)和控制器(Controller)来简化Web开发...

    Spring mvc整合mybatis例子

    在IT行业中,Spring MVC 和 MyBatis 是两个非常重要的框架,它们分别负责Web应用程序的控制器层和数据访问层。Spring MVC 提供了模型-视图-控制器架构模式的实现,而MyBatis则是一个轻量级的SQL映射框架,用于简化...

    Spring MVC使用Demo

    Spring MVC是Spring框架的一个核心模块,专用于构建Web应用程序。这个"Spring MVC使用Demo"提供了实践操作,帮助开发者深入理解Spring MVC的开发环境配置、注解的使用以及工作原理。 首先,Spring MVC的设计模式...

Global site tag (gtag.js) - Google Analytics