springmvc学习(一)

  springMVC是什么?

  springMVC是一个框架,是spring容器中的一部分,主要体现表示层,其中mvc是一种设计模式,这种设计模式是程序员多年经验的集成,为将来的编程带来便利

    M:model,模型数据(service dao pojo)

    V:view 视图

    C: controller 控制器

           

    用户发送请求---》controller接受到请求----》找handle mapping处理器映射器--->找到对应的处理器类型handle----》经过handle的处理---》返回modelandview给handle---》再给controller----》根据返回来的modelandview发送请求给viewresole视图解析器----》通过解析返回视图给controller----》视图渲染给前台

            

springMVC框架

  第一步:发送请求到前端控制器(DispatcherServlet)

  第二部:前端控制器请求handlerMapping 查找Handler(可以根据xml配置或注解进行查找)

  第三步:处理器映射器HandlerMapping向前段控制器返回Handler

  第四部:前端控制器调用处理器适配器去执行Handler

  第五步:处理器适配器去执行Handler

  第六步:Handler执行完,返回ModelAndView给处理器适配器(HandlerAdapter)

  第七部:HandlerAdapter向DispatcherServlet返回ModelAndView(是springMVC框架的一个底层对象,包括Model 和 View)

  第八步:DispatcherServlet请求视图解析器去解析,根据逻辑视图名解析成真正的视图(比如jsp)

  第九步:ViewResolver向DispatcherServlet返回视图View

  第十步:前端控制器进行视图渲染(将模型数据填充到request域)

  第十一步:前端控制器向用户返回响应结果

springmvc组件

  1.前端控制器 DispatcherServlet(不需要程序员开发)

    作用:接受请求响应结果,相当于转发器

  2.处理器映射器HandlerMapping(不需要程序员开发)

    作用:根据请求的url查找Handler

  3.处理器 Handler(需要程序员开发)

  3.处理器适配器HandlerAdapter

    作用:按照特定规则(HandlerAdapter要求的规则)去执行Handler

  4.视图解析器ViewResolver(不需要程序员开发)

    作用:视图解析,根据逻辑视图名解析成真正的视图

  5.视图 view(需要程序员开发)

    View是一个接口,实现类支持不同的view类型(jsp  pdf  freemarker)

时间: 2024-12-29 12:43:03

springmvc学习(一)的相关文章

SpringMVC学习笔记(二): 日常使用功能

前提: 1.web.xml 和spring-mvc核心配置如:SpringMVC学习笔记(一): 基础知识中注解实现. 2.类的@RequestMapping(value="/annotationController") 3.spring-mvc 推荐使用注解实现. 一.数据的接收 (一)URL参数数据的接收 1.使用 HttpServletRequest 获取参数 <span style="font-size:18px;"><span style

SpringMVC学习系列(12) 完结篇 之 基于Hibernate+Spring+Spring MVC+Bootstrap的管理系统实现

到这里已经写到第12篇了,前11篇基本上把Spring MVC主要的内容都讲了,现在就直接上一个项目吧,希望能对有需要的朋友有一些帮助. 一.首先看一下项目结构: InfrastructureProjects:是抽取出的基础项目,主要封装了一些通用的操作. SpringMVC3Demo:就是管理系统所在的项目. WeiXinAPI:是之前做微信管理平台测试时封装一些操作,如果不需要把该项目移除即可. 注:项目的前端UI框架用的是国外的一个基于Bootstrap框架的开发的Demo,如不需要替换为

SpringMVC学习系列(10) 之 异常处理

在项目中如何处理出现的异常,在每个可能出现异常的地方都写代码捕捉异常?这显然是不合理的,当项目越来越大是也是不可维护的.那么如何保证我们处理异常的代码精简且便于维护呢?这就是本篇要讲的内容->异常处理. 在Spring MVC中我们可以通过以下2中途径来对异常进行集中处理: 一.继承HandlerExceptionResolver接口实现自己的处理方法,如: public class MyHandlerExceptionResolver implements HandlerExceptionRe

史上最全的SpringMVC学习笔记

SpringMVC学习笔记---- 一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 <!--configure the setting of springmvcDispatcherServlet and configure the mapping--> <servlet> <servlet-name>springmvc</servlet

springMvc学习笔记01

此系列文章记录学习springMvc的过程: 第一想法是到spring官网下载相关jar, 查看了一下,点了目录链接,然而并没有jar的下载链接,还以为自己看错了,又特地准备了翻译工具,结果还是没有发现jar和源码的下载链接,我郁闷了,why, 网友们说spring的jar和示例在github上,看了官网的文档介绍,觉得不太好,下面会贴出我学习时用到的链接,ps:至今我还认为可能是我太笨了没找到~~~ 1.下载jar包 http://repo.spring.io/libs-release-loc

SpringMVC学习系列(11) 之 表单标签

本篇我们来学习Spring MVC表单标签的使用,借助于Spring MVC提供的表单标签可以让我们在视图上展示WebModel中的数据更加轻松. 一.首先我们先做一个简单了例子来对Spring MVC表单表单标签的使用有一个大致的印象,然后再结合例子对各个标签介绍一下如何使用. 1.首先,在com.demo.web.models包中添加一个模型TagsModel内容如下: package com.demo.web.models; import java.util.List; import ja

springmvc学习笔记--REST API的异常处理

前言: 最近使用springmvc写了不少rest api, 觉得真是一个好框架. 之前描述的几篇关于rest api的文章, 其实还是不够完善. 比如当遇到参数缺失, 类型不匹配的情况时, 直接抛出异常, 返回的内容是500+的错误页面, 而不是json内容, 这让移动端的调用方很难处理. 本文主要讲述对于rest api, springmvc对异常的解决处理方案. 系列整理: springmvc学习笔记系列的文章目录: • idea创建springmvc项目 • 面向移动端的REST API

SpringMVC学习系列(9) 之 实现注解式权限验证

对大部分系统来说都需要权限管理来决定不同用户可以看到哪些内容,那么如何在Spring MVC中实现权限验证呢?当然我们可以继续使用servlet中的过滤器Filter来实现.但借助于Spring MVC中的action拦截器我们可以实现注解式的权限验证. 一.首先介绍一下action拦截器: HandlerInterceptor是Spring MVC为我们提供的拦截器接口,来让我们实现自己的处理逻辑,HandlerInterceptor 的内容如下: public interface Handl

SpringMVC学习系列(7) 之 格式化显示

在系列(6)中我们介绍了如何验证提交的数据的正确性,当数据验证通过后就会被我们保存起来.保存的数据会用于以后的展示,这才是保存的价值.那么在展示的时候如何按照要求显示?(比如:小数保留一定的位数,日期按指定的格式等).这就是本篇要说的内容->格式化显示. 从Spring3.X开始,Spring提供了Converter SPI类型转换和Formatter SPI字段解析/格式化服务,其中Converter SPI实现对象与对象之间的相互转换,Formatter SPI实现String与对象之间的转

SpringMVC学习系列(1) 之 初识SpringMVC

1.前言: 与SpringMVC的结识源于个人之前想做一个微信公众账号的管理平台玩玩,既然要做就需要考虑平台的选择问题.由于我的朋友只有一台运行了Linux系统的虚拟主机,且上面还运行有他自己的一些论坛.找不到windows虚拟主机,且肯定不能换朋友主机的系统.刚开始时打算用mono把之前做的.Net MVC项目搭的框架运行一下看看能不能用,发现根本跑不起来(项目用了Spring.NET当时mono和Spring.NET还不兼容,Sping.NET论坛说是由于mono的反射实现机制的问题.好消息