SpringMVC-day01

主要内容清单

1、介绍MVC模型
2、介绍SpringMVC框架
3、使用SpringMVC框架的流程

详细内容

1、MVC模型

***MVC是web开发工作者的一种指导开发思想,通俗的理解就是进行web开发的流程。***什么是流程?就是先做什么,再做什么,最后做什么,做完这些之后得到了某种结果,这中间的一系列集合就被看成是一个流程。比如我们玩游戏充值点卡,先得看到游戏充值的界面,然后再输入对应的账号,密码,充值金额等,点击充值按钮。这些所有的操作集合就是一个流程。

  1. ** M ** :指的是model,翻译过来是模型的意思。好像很抽象的样子,什么是模型,就是我们写的那些实体类,那些实体类统统可以被看作是模型。这些实体类都有setxxx()和getxxx()方法。
  2. ** V** :指的是view,翻译过来是视图的意思。所谓的视图就是我们眼睛能看到的东西,也就是我们创建的jsp页面或者其它页面。
  3. ** C** :指的是control,翻译过来是控制的意思。所谓的控制就是具体的业务逻辑代码。比如上面说的游戏点卡充值业务,你在充值页面(视图)上填写数据,当你点击充值按钮之后应该要发生一系列的业务逻辑,比如你提交的数据是否正确,如果正确应该怎样反馈结果给你,如果不正确又应该怎样反馈结果给你,这些个逻辑就是我们的控制,也就是我们写的那些业务逻辑的java代码。
    在这里插入图片描述

强调: 既然MVC是一种开发流程,那我们 进行web开发的时候就可以按照这个逻辑来进行开发工作。还是以游戏点卡充值为例,我们可以先编写充值页面的代码,这就需要创建jsp页面;然后我们创建对应的数据模型来封装用户名、密码、充值金额等数据;最后编写获取jsp页面提交的数据的代码,拿到页面提交的数据之后的操作逻辑(增、删、改、查)就根据具体的需求来写了。

2、SpringMVC框架

MVC是一种开发模型,指导开发思想;SpringMVC是一个框架的名字叫SpringMVC。
什么是框架?可以简单理解为别人做好的产品供其它人使用方便的东西。
比如我们的教学楼,作为学生你根本就不关心盖房建楼,砌墙盖瓦是什么过程,你只关心你的教室在哪里,你的座位在哪里。建筑工人把楼建好,方便大家安全的坐在教室认真学习,这栋教学楼就可以被看成是一个框架。
SpringMVC是一个非常优秀且受欢迎的前端控制框架。

3、使用SpringMVC框架的流程

如果把教学楼看成是一种框架的话,那么建楼时所需的沙子,水泥,砖头等材料就是该框架的依赖品。SpringMVC也是一样,它作为一种框架,也需要有其自身的依赖物品,这些物品常常被表示为一个或多个jar包。所以我们要想使用框架,得先有对应的jar包。
在这里插入图片描述

4、知识拓展

  1. Maven:可以看成是放jar包或其它资源的仓库。
  2. guide:指南;overview:概述;new:新建;
  3. project:工程/项目;dynamic:动态的;

5、知识复习

使用sts创建动态web工程的详细步骤以及每步的意思

第一步:

在这里插入图片描述
第二步:在这里插入图片描述
第三步:
在这里插入图片描述
第四步:
在这里插入图片描述
第五步:
在这里插入图片描述

SpringMVC 中,我们可以通过 ResponseBody 注解返回音频流,具体步骤如下: 1. 在 Controller 中定义一个返回类型为 ResponseEntity<byte[]> 的方法,该方法需要使用 @ResponseBody 注解标注。 2. 在方法中获取音频文件的字节数组,并将其放入 ResponseEntity 对象中返回。 3. 在 ResponseEntity 对象中设置 Content-Type、Content-Disposition 等响应头,以便浏览器正确解析音频流并进行播放。 示例代码如下: ```java @RequestMapping("/audio") @ResponseBody public ResponseEntity<byte[]> getAudio() throws IOException { // 读取音频文件字节数组 InputStream in = getClass().getResourceAsStream("/static/audio/sample.mp3"); byte[] audioBytes = IOUtils.toByteArray(in); // 设置响应头 HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.parseMediaType("audio/mpeg")); headers.setContentDispositionFormData("attachment", "sample.mp3"); // 返回音频流 return new ResponseEntity<>(audioBytes, headers, HttpStatus.OK); } ``` 上述代码中,我们将音频文件 sample.mp3 放在了项目的 /static/audio 目录下。在方法中,我们使用 IOUtils.toByteArray() 方法将音频文件转换为字节数组,并将其放入 ResponseEntity 对象中返回。在设置响应头时,我们使用 MediaType.parseMediaType() 方法设置 Content-Type,使用 setContentDispositionFormData() 方法设置 Content-Disposition。最后,我们通过 new ResponseEntity<>(audioBytes, headers, HttpStatus.OK) 创建 ResponseEntity 对象并返回。
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值