Spring Web MVC 处理流程:

1.浏览器向Spring发出请求,请求交给前端控制器 DispatcherServlet处理

2.控制器通过HandlerMapping找到相应的Controller组件处理请求

3.执行Controller组件约定方法处理请求,在约定方法调用模型组件完成业务处理。约定方法可以返回一个ModelAndView对象封装了处理结果数据和视图名称信息
4.控制器接收ModelAndView之后,调用ViewResolver组件,定位View(JSP)并传递数据信息,生成响应界面结果

测试Spring Web MVC 处理流程程序:

步骤一:在pom.xml中配置spring mvc需要导入的jar包

步骤二:在web.xml中配置DispatcherServlet控制器入口,使得浏览器发送的HTTP请求直接交给DispatcherServlet控制器处理.

步骤三:创建HelloController类实现Controller接口,重写handleRequest方法,此方法返回视图名为hello的ModelAndView对象.

步骤四:在applicationContext.xml中配置ViewResolver的前缀prefix和后缀suffix参数,viewResolver通过解析ModelAndView对象获取viewName视图名(hello),然后根据公式:prefix+viewName+suffix定位页面地址.

步骤五:配置HandlerMapping组件(路由功能)将Http请求跟据该bean的映射表将不同的http请求映射到对应的Controller进行业务处理.

步骤六:在/WEB-INF/views/jsp目录下编写hello.jsp文件.浏览器测试.

=============================================割==============================================================

基于注解配置的MVC应用

步骤一:为了使得@Controller组件生效,需要在Spring的XML配置文件中开启扫描组件定义,并指定该@Controller组件所在的包.

步骤二:在类或方法中定义 @RequestMapping,标明这个类和方法与哪一个客户请求相对应,此方式不需要该类实现Controller接口,当然也不需要重写handleRequest方法.

步骤三:在开启@RequestMapping注解映射,需要在Spring的XML配置文件中定义RequestMappingHandlerMapping(类定义前)和RequestMappingHandlerAdapter(方法定义前)两个bean组件\

备注:从Spring3.2版本开始可以使用下面XML配置简化

步骤四:测试(完结散花...)

Spring Web MVC处理流程的更多相关文章

  1. 4.Spring Web MVC处理请求的流程

  2. 描述Spring Web MVC的工作流程

    Spring Web MVC的共工作流程如下: 1.浏览器发出Spring mvc请求,请求给前端控制器 DispatcherServlet处理. 2.控制器通过HandlerMapping维护的请求 ...

  3. Spring Web MVC(一)

    [toc] 概述 Spring的web框架围绕DispatcherServlet设计. DispatcherServlet的作用是将请求分发到不同的处理器. Spring的web框架包括可配置的处理器 ...

  4. 淘淘商城之spring web mvc架构

    一.什么是springmvc springmvc是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合: springmvc是一个基于mvc的web框架   二.mv ...

  5. 菜鸟学习Spring Web MVC之一

    ---恢复内容开始--- 当当当!!沉寂两日,学习Spring Web MVC去了.吐槽:近日跟同行探讨了下,前端攻城师,左肩担着设计师绘图,右肩担着JAVA代码?!我虽设计过UI,但这只算是PS技巧 ...

  6. 12.Spring——Web MVC框架

    1.Spring Web MVC 框架 2.Spring MVC Hello World 例子 1.Spring Web MVC 框架 Spring web         MVC 框架提供了模型-视 ...

  7. Spring Web MVC 笔记

    Spring Web MVC 流程 Dispatcher Servlet 这是一个前端分派 Servlet(前端控制器模式),外部所有的请求都会先到达这里,然后由其将请求分派给其他组件进行实际的处理. ...

  8. Spring官方文档翻译——15.1 介绍Spring Web MVC框架

    Part V. The Web 文档的这一部分介绍了Spring框架对展现层的支持(尤其是基于web的展现层) Spring拥有自己的web框架--Spring Web MVC.在前两章中会有介绍. ...

  9. spring web mvc第一天

    spring  web mvc 感觉就是高大上啊!啥都是配置文件就能够了.所以第一步就是弄清楚配置文件使用和总体框架的流程! Spring web mvc最重要的当然是Controller,也就是首先 ...

随机推荐

  1. Intellij热部署插件JRebel使用方法(转载)

    Intellij热部署插件JRebel帮助开发者在项目处于运行状态下任意修改Java文件并动态反馈到运行的项目中.插件官方下载地址:https://plugins.jetbrains.com/plug ...

  2. Hackerrank Connected Cell in a Grid

    Problem Statement You are given a matrix with m rows and n columns of cells, each of which contains ...

  3. 基于webrtc的媒体库測试代码以及接口介绍

    经过一段时间的项目验证,第一版接口能够定版了.满足一般的项目需求是没有问题了,接口非常清晰,凝视也写的非常清晰,大家有须要的就拿去測试吧,android版本号还在验证中.假设有什么问题或者须要源码.能 ...

  4. NoSql基础知识

    一.为什么要有NoSql 关系型数据库在三个方面存在不足,或者说,比不上NoSQL: 1.大量数据的写入处理 这里说的关系型数据库不擅长大量数据写入,并不是说关系型数据库在进行大批量数据插入的时候,比 ...

  5. ASP.NET_SessionId vs .ASPXAUTH why do we need both of them?

    https://stackoverflow.com/questions/23758704/asp-net-sessionid-vs-aspxauth-why-do-we-need-both-of-th ...

  6. [POJ 1386] Play on Words

    [题目链接] http://poj.org/problem?id=1386 [算法] 将每个单词的首字母向尾字母连一条有向边,判断欧拉路径是否存在,即可 [代码] #include <algor ...

  7. 第一周 Leetcode 57. Insert Interval (HARD)

    Insert interval  题意简述:给定若干个数轴上的闭区间,保证互不重合且有序,要求插入一个新的区间,并返回新的区间集合,保证有序且互不重合. 只想到了一个线性的解法,所有区间端点,只要被其 ...

  8. RDA 字库制作

    制作韩语字库为例: 1.韩语UNICODE 范围 TV_IDF_uni_korean.txt [01fa,] [02c6,02c7] [02c9,02ca] [02cd,02cd] [02d8,02d ...

  9. 【转载】HashMap底层实现原理及面试问题

    ①HashMap的工作原理 HashMap基于hashing原理,我们通过put()和get()方法储存和获取对象.当我们将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算h ...

  10. 织梦dedecms标签大全总结

    织梦dedecms标签大全总结,同时还建议多参考dede默认模板,织梦默认模板上的标签还是很有参考价值的. dedecms系统参数全局标签,在后台系统设置里可以看到这个参数 网站名称:{dede:gl ...