文章目录

  • 1. SpringMVC
    • 1.1 SpringMVC介绍
    • 1.2 SpringMVC 入门案例
      • 1.2.1 添加jar包
      • 1.2.2 编辑YML配置文件
      • 1.2.3 编辑Controller
      • 1.2.4 关于thymeleaf 语法说明:
      • 1.2.5 页面效果展现
  • 2 SpringMVC调用原理
  • 3 SpringMVC 用法
    • 3.1 简化ModelAndView操作
      • 3.1.1 编辑Controller方法
      • 3.1.2 页面效果测试
    • 3.2 页面参数接收
      • 3.2.1 编辑页面
      • 3.2.2 编辑UserController
      • 3.2.3 简化参数接收
    • 3.3 @RequestParam注解说明
      • 3.3.1 功能说明
      • 3.3.2 编辑UserController
    • 3.4 同名提交问题
      • 3.4.1 编辑HTML页面
      • 3.4.2 编辑UserController
    • 3.5 使用对象接收参数
      • 3.5.1 编辑User对象
      • 3.5.2 编辑UserController
    • 3.6 为对象引用赋值
      • 3.6.1 准备Dog对象
      • 3.6.2 编辑页面HTML
    • 3.7 转发和重定向
      • 3.7.1 转发
        • 3.7.1.1 什么是转发
        • 3.7.1.2 转发原理
        • 3.7.1.3 转发特点
      • 3.7.2 重定向
        • 3.7.2.1 什么是重定向
        • 3.7.2.2 重定向原理图
        • 3.7.2.3 重定向特点
    • 3.8 RestFul
      • 3.8.1restFul结构介绍
    • 3.9 @ResponseBody注解
      • 3.9.1 JSON结构
      • 3.9.2 @ResponseBody
    • 3.10 SpringBoot/SpringMVC/Mybatis整合
      • 3.10.1 编辑页面
      • 3.10.2 页面效果展现

1. SpringMVC

1.1 SpringMVC介绍

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架,如Struts1(现在一般不用),Struts 2(一般老项目使用)等等。

1.2 SpringMVC 入门案例

1.2.1 添加jar包

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!--thymeleaf导入模版工具类--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>

1.2.2 编辑YML配置文件

#配置模版工具类
spring:thymeleaf:#设置页面前缀prefix: classpath:/templates/#设置页面后缀suffix: .html#是否使用缓存cache: false

1.2.3 编辑Controller

@Controller
public class HelloController {@RequestMapping("/hello")public ModelAndView hello(){ModelAndView modelAndView = new ModelAndView("hello");modelAndView.addObject("name","SpringMVC测试");return modelAndView;}
}

1.2.4 关于thymeleaf 语法说明:

1.标签中取值:             <h1>[[${name}]]</h1>
2.标签内获取文本:      <h1 th:text="${name}"></h1>
3. 标签内获取value:  <input name="name" th:value="${name}"/>
引入头标签:    <html lang="en" xmlns:th="http://www.thymeleaf.org">
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><h1>Hello 入门案例</h1><h1>[[${name}]]</h1><h1 th:text="${name}"></h1><input name="name" th:value="${name}"/>
</body>
</html>

1.2.5 页面效果展现

2 SpringMVC调用原理

3 SpringMVC 用法

3.1 简化ModelAndView操作

3.1.1 编辑Controller方法

 @RequestMapping("/hello")public String hello(Model model){model.addAttribute("name", "简化mvc结构");return "hello";}

3.1.2 页面效果测试

3.2 页面参数接收

3.2.1 编辑页面

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><title>用户注册</title>
</head>
<body>
<form action="/user/addUser" method="POST"><table border="1px"  cellspacing="0" align="center" width="350px" style="margin-top: 50px"><tr align="center"><td colspan="2"><h1>表格数据提交</h1></td></tr><tr><td>ID:</td><td><input id="id" name="id" type="text"/></td></tr><tr><td>姓名:</td><td><input id="name" name="name" type="text"/></td></tr><tr><td colspan="2" align="center"><button type="submit">提交</button></td></tr></table>
</form>
</body>
</html>

3.2.2 编辑UserController

3.2.3 简化参数接收

3.3 @RequestParam注解说明

3.3.1 功能说明

 1. 为参数设定默认值2. 当提交参数名称与接收参数不一致时使用

3.3.2 编辑UserController

 /*** 如果提交参数为空时,可以设置默认值*     @RequestParam*         value/name 接收参数的名称*         required=true 为必填参数*       defaultValue="" 设定默认值*/@RequestMapping("/addUser")public String addUser(@RequestParam(name = "id",defaultValue = "100") Integer id,@RequestParam(name="name",defaultValue = "张三") String name){System.out.println("动态获取数据:id:"+id);System.out.println("动态获取数据:name:"+name);//新增成功之后.跳转到user页面中return "user";}

3.4 同名提交问题

3.4.1 编辑HTML页面

3.4.2 编辑UserController

3.5 使用对象接收参数

3.5.1 编辑User对象

3.5.2 编辑UserController

3.6 为对象引用赋值

3.6.1 准备Dog对象

/*** @author 刘昱江* 时间 2021/4/26*/
@Data
@Accessors(chain = true)
public class Dog {private String dogName;private String dogAge;
}

3.6.2 编辑页面HTML

3.7 转发和重定向

3.7.1 转发

3.7.1.1 什么是转发

什么是转发: 由服务器端进行的页面跳转

3.7.1.2 转发原理

3.7.1.3 转发特点

1.地址栏不发生变化,显示的是上一个页面的地址
2.请求次数:只有1次请求
3.请求域中数据不会丢失

3.7.2 重定向

3.7.2.1 什么是重定向

由浏览器端进行的页面跳转

3.7.2.2 重定向原理图


3.7.2.3 重定向特点

1.地址栏:显示新的地址
2.请求次数:2次
3.请求域中的数据会丢失,因为是2次请求

3.8 RestFul

3.8.1restFul结构介绍

3.9 @ResponseBody注解

3.9.1 JSON结构

1.JSON 有2种基本机构
object/array
3.复杂格式

3.9.2 @ResponseBody

3.10 SpringBoot/SpringMVC/Mybatis整合

3.10.1 编辑页面

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><title>用户列表数据</title>
</head>
<body><table border="1px" align="center" width="800px"><tr align="center"><td colspan="4"><h1>用户信息查询</h1></td></tr><tr align="center"><td>编号</td><td>名称</td><td>年龄</td><td>性别</td></tr><tr align="center" th:each="user : ${userList}"><td th:text="${user.id}"></td><td th:text="${user.name}"></td><td th:text="${user.age}"></td><td th:text="${user.sex}"></td></tr></table>
</body>
</html>

3.10.2 页面效果展现

框架系列课程-SpringMVC课程相关推荐

  1. 热门框架系列 (二) -- SpringMvc的父子容器,SpringBoot是否有父子容器?

    @TOC# 热门框架系列 记录在程序走的每一步___auth:huf 从新的篇章开始;篇章阅读需要先关注; 因为笔者想参与技术文章的评选.;需要一定的粉丝量; 粉丝量达到一定数量.所有文章阅读限制将会 ...

  2. 【SSM框架系列】SpringMVC的文件上传、拦截器及异常处理

    SpringMVC的文件上传 服务器端实现文件上传的技术有很多种,Servlet3.0,FileUtils,框架等等,都可以实现文件上传,不管使用哪一种上传技术,都必须满足三要素: 表单项type=& ...

  3. 【SSM框架系列】SpringMVC的请求和响应

    request和response request对象的作用 获取请求参数 作为域对象存取数据 获取请求头 请求转发 response功能 回写数据,JSON格式字符串 页面跳转(请求重定向) Spri ...

  4. 【SSM框架系列】Spring-MVC的组件解析

    SpringMVC完整执行流程 用户发送请求至前端控制器DispatcherServlet. DispatcherServlet收到请求调用HandlerMapping处理器映射器. 处理器映射器找到 ...

  5. 【SSM框架系列】SpringMVC基本介绍

    SpringMVC 是web层的框架 SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于SpringFrameWork 的后续产品,已经融合在 ...

  6. 大数据系列修炼-Scala课程96(2)

    大数据系列修炼-Scala课程96(2) 核心内容: 1.Akka第一个案例动手实战代码总结 1.Akka第一个案例动手实战代码总结 Akka案例之WordCount完整代码: import akka ...

  7. SpringMVC 框架系列之组件概述与配置详解

    在上一篇文章 SpringMVC 框架系列之初识与入门实例 的实例中,我们已经知道,SpringMVC 框架是一个 web 层的框架,本篇文章就详细解释一下 SpringMVC 框架具体文件的配置以及 ...

  8. 大数据系列修炼-Scala课程65

    大数据系列修炼-Scala课程65 核心内容:Scala中的隐式转换操作规则与如何更好的使用隐式转换操作代码实战 1.Scala中的隐式转换操作规则与如何更好的使用隐式转换操作代码实战 1>Sc ...

  9. 大数据系列修炼-Scala课程101

    大数据系列修炼-Scala课程101 核心内容: 1.使用SBT开发Akka第一个案例源码解析MapActor.ReduceActor.AggregateActor 1.使用SBT开发Akka第一个案 ...

最新文章

  1. Linux之文件管理(一)
  2. pop3服务器协议初始化失败,Exchange2003系统管理器中的默认POP3 虚拟服务器无法自动启动...
  3. Python基础(一)简介与安装
  4. Unity3d之AssetBundle打包与读取
  5. eclipse中对单独JS文件取消报错的处理
  6. top.location.href
  7. VC++开发数字图像处理系统2
  8. iOS 利用UIPresentationController自定义转场动画
  9. Java数据类型占用内存最多的_java基础数据类型的内存占用
  10. 深入浅出通信原理知识点5
  11. 计算机系徽 节徽设计,数学节节徽设计图
  12. 近期计算机病毒爆发,最新警示!最新电脑病毒全面爆发,沉寂已久的incaseformat蠕虫病毒肆虐横行!...
  13. 度分秒地理位置转wgs84坐标和2000坐标,2000坐标转wgs84坐标
  14. 【HMS core】【Analytics Kit】华为分析服务常见问题FAQ 2
  15. 基于Modelica的起落架摆震建模
  16. 自动整理html书签,Bookmarks Organizer - Chrome书签整理排序
  17. 瞎聊高速公路与主干道的立交匝道设计
  18. java unhandled,Unhandled Exception thrown: class java.lang.ClassCastException
  19. Kaggle比赛—预测 DNA、RNA 和蛋白质测量如何在单细胞中共同变化
  20. mysql我没压岁钱了,你压没压我?岁没岁我?该不该给我压岁钱表情包

热门文章

  1. 单元测试异常:InvalidTestClassError: Invalid test class : 1. Method testConnect () should be public
  2. 2021011029wxy-实验5
  3. 第六章-“那又如何”:情绪低落为何会使人屈服于诱惑
  4. MS SQL 数据库出现损坏(可疑)的修复方法
  5. 生成式AI助力出门问问赴港IPO,李志飞能否成为中国的OpenAI?
  6. 如何使用 Xshell 连接 Linux 服务器
  7. asixs 响应慢_大智慧经典指标原理及用法
  8. bottle 文件服务器,Python库glances和Bottle完成服务器交互式动态监控
  9. 智能报表系统,实用的中国式复杂报表软件
  10. 较有创意的广告创意入门读物——Leo鉴书50