SpringMVC的简介

springmvc是一个基于Java实现的 WEB MVC设计模式的请求驱动的轻量级的WEB框架。

  1. 使用了MVC设计模式
  2. 基于请求驱动:使用的是 请求-响应模式
  3. 对WEB层进行解耦,达到简化web开发的效果

特点:

  1. springmvc是spring框架的一部分,可以使用spring的功能
  2. 提供了一个前端控制器DispatcherServlet,开发者无需自己再开发一个控制器
  3. 可以支持数据绑定,并且能够正确的进行数据类型的转换
  4. 灵活性高,易于与其他框架整合

SpringMVC的工作流程

1.Brower浏览器 发出请求到 前端控制器

前端控制器 DispatcherServlet,称为中央控制器。

作用:负责处理请求响应,通过调用其他组件完成

2.前端控制器把请求 转发给  映射器

处理器映射器 HandlerMapping

功能:根据请求url去查找处理器或者是拦截器

3.映射器将查找结果返回给前端控制器

4.前端控制器调用适配器

处理器适配器 HandlerAdapter

功能:适配执行不同的处理器,数据格式转换、数据绑定等

5.处理器适配器 执行处理器

处理器 Handler        自己开发的controller

6.处理器 返回 ModelAndView到处理器适配器

7.处理器适配器将ModelAndView返回到前端控制器

8.前端控制器将ModelAndView转给视图解析器 

视图解析器 ViewResolver         作用:把视图信息解析为真正的视图

9.视图解析器将视图信息返回到前端控制器 

10.前端控制器进行数据渲染,把model数据渲染到View视图上

11.前端控制器将信息响应给浏览器

具体流程图如下:


springMVC入门程序

1.新建web项目,导入jar包

2.配置前端控制器 web.xml

  <!-- 前端控制器 --><servlet><servlet-name>DispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 初始化加载的配置文件 --><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param><!-- 容器启动就会按照顺序进行加载 --><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>DispatcherServlet</servlet-name><url-pattern>*.do</url-pattern><!-- *.do :以 .do结尾的请求都进行处理/ :处理所有的请求,包括静态资源也会被拦截--></servlet-mapping>

3.配置springmvc.xml

 <!-- 处理器映射器 作用:请求url查询处理器BeanNameUrlHandlerMapping:根据bean的名字与url进行匹配localhost:8080/springmvc01/first.do--><bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean><!-- 处理器适配器 作用:适配不同类型的处理器并且执行SimpleControllerHandlerAdapter:适配执行,实现了Controller接口的处理器--><bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean><!-- 处理器bean --><bean id="fc" class="com.cbb.controller.FirstController" name="/first.do"></bean><!-- 视图解析器: 作用:解析成真正的视图InternalResourceViewResolver: Jsp视图解析器--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsps/"></property><property name="suffix" value=".jsp"></property></bean>

4.开发一个处理器

public class FirstController implements Controller {@Overridepublic ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {// 新建一个ModerAndView对象,往里面填充model和view视图信息尽心返回ModelAndView mv = new ModelAndView();mv.addObject("msg","这是第一个");mv.setViewName("user");return mv;}}

5.新建一个jsp来显示信息

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>${msg}</body>
</html>

springmvc注解开发

1.前端控制器  web.xml如上

2.配置springmvc.xml

 <context:component-scan base-package="com/cbb.controller"></context:component-scan><!-- 注解开发 --><!-- 支持注解的处理器、映射器支持的注解为@RequestMapping--><bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"></bean><!-- 支持注解的 处理器适配器 --><bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsps/"></property><property name="suffix" value=".jsp"></property></bean>

3.自己开发的处理器

@Controller
public class FirstController {@RequestMapping(value="/one.do")public ModelAndView one() {ModelAndView mv = new ModelAndView();mv.addObject("msg","这是springmvc注解开发!");mv.setViewName("user");return mv;}
}

4.新建一个jsp来接收信息

SSM之SpringMVC框架相关推荐

  1. SSM(Spring+SpringMVC+Mybatis)框架环境搭建(整合步骤)(一)

    SSM(Spring+SpringMVC+Mybatis)框架环境搭建(整合步骤)(一) 1. 前言 最近在写毕设过程中,重新梳理了一遍SSM框架,特此记录一下. 附上源码:https://gitee ...

  2. SpringMvc框架及SSM框架整合

    SpringMvc框架及SSM框架整合 一.SpringMvc相关知识 1.Spring和SpringMvc的关系 ​ 1.1.Spring是IOC和AOP的容器框架,SpringMVC是基于Spri ...

  3. Java语言开发在线音乐推荐网 音乐推荐系统 网易云音乐爬虫 基于用户、物品的协同过滤推荐算法 SSM(Spring+SpringMVC+Mybatis)框架 大数据、人工智能、机器学习项目开发

    Java语言开发在线音乐推荐网 音乐推荐系统 网易云音乐爬虫 基于用户.物品的协同过滤推荐算法 SSM(Spring+SpringMVC+Mybatis)框架 大数据.人工智能.机器学习项目开发Mus ...

  4. Java语言开发在线美食推荐网 美食推荐系统 基于用户、物品的协同过滤推荐算法实现 SSM(Spring+SpringMVC+Mybatis框架 人工智能、大数据、机器学习项目开发

    Java语言开发在线美食推荐网 美食推荐系统 基于用户.物品的协同过滤推荐算法实现 SSM(Spring+SpringMVC+Mybatis框架 人工智能.大数据.机器学习项目开发FoodRecomm ...

  5. SpringMVC框架--学习笔记(下)

    接上篇:SpirngMVC框架--学习笔记(上):https://blog.csdn.net/a745233700/article/details/81038382 17.全局异常处理: 系统中异常包 ...

  6. SpringMVC框架--学习笔记(上)

    1.SpringMVC入门程序: (1)导入jar包:spring核心jar包.spring-webmvc整合Jar包 (2)配置前端控制器:web.xml文件中 <?xml version=& ...

  7. SpringMVC框架第三天

    SpringMVC第三天 ##SpringMVC大纲 第1章:搭建整合环境 ####1.1 搭建整合环境 整合说明:SSM整合可以使用多种方式,咱们会选择XML + 注解的方式 整合的思路 先搭建整合 ...

  8. ❤️六万字《SpringMVC框架介绍—从入门到高级》(建议收藏)❤️

    <SpringMVC框架介绍>(建议收藏) ❤️希望博友给个三连+关注!!! SSM: mybatis + Spring + SpringMVC MVC三层架构 SpringMVC + V ...

  9. Java语言开发在线购物推荐网 购物商城推荐系统 基于用户、物品的协同过滤推荐算法 SSM(Spring+SpringMVC+Mybatis)开发框架 大数据、人工智能、机器学习项目开发

    Java语言开发在线购物推荐网 购物商城推荐系统 基于用户.物品的协同过滤推荐算法 SSM(Spring+SpringMVC+Mybatis)开发框架 大数据.人工智能.机器学习项目开发ShopRec ...

最新文章

  1. FPGA之道(9)BLOCK RAM以及DSP硬核
  2. java sql函数_Java调用Sql存储过程实例讲解
  3. 信息系统项目管理师-案例分析专题(一)案例简介、答题方法、要点笔记
  4. C/C++ Development Library
  5. mysql 不能添加外键 1215_MySQL错误1215:无法添加外键约束
  6. 算法的力量万变不离其宗 -- 李开复
  7. java数据结构图_java总结数据结构和算法
  8. Bailian4123 马走日【DFS】
  9. 算法-获取质数(素数)数组
  10. pe系统如何读取手机_在酷安你甚至可以学到如何用手机充当启动盘进PE(多图警告)...
  11. 深入理解jvm虚拟机一
  12. 在线XML转JSON工具
  13. Mono.Cecil
  14. MVC view页面需要多个model,复杂网页的处理
  15. 解决网盘下载速度慢的问题
  16. LAZARUS APT利用恶意word文档攻击MAC用户
  17. jsp中获取不到servlet中的ArrayList
  18. PHP+MYSQL实现个人博客网站,PHP动态网页设计
  19. 串口调试助手中设置快捷键
  20. F28335舵机控制器(4)——第三版PCB配套程序

热门文章

  1. Android NotificationManager详解
  2. python零基础自学教材-python萌新:从零基础入门到放弃
  3. python入门经典100题-零基础学习Python开发练习100题实例(1)
  4. 学python有前途吗-现在学Python还有前途吗?能做什么?
  5. 【当贝市场】智能电视语音识别功能泄露隐私?
  6. Position属性四个值:static、fixed、absolute和relative的区别和用法
  7. c语言中eles后面分号的作用,C语言 if else 语句详细讲解
  8. 万能倍投计算器工具_一周总结上证A股市盈率14.83倍,这是机会还是风险呢?
  9. 无限极分类php简单,创建无限极分类树型结构的简单方法
  10. 【动态规划】记录每步选择:牛客网:连续子数组的最大和(二)