秋招突击——第三弹——Java的SSN框架快速入门——SpringMVC

2024-06-15 17:44

本文主要是介绍秋招突击——第三弹——Java的SSN框架快速入门——SpringMVC,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 说明
    • SpringMVC简介
      • 入门案例
      • 入门案例的工作流程
        • 配置环境的问题
        • 步骤总结
        • 注释学习
        • 开发模式
        • Severlet容器类配置
        • 入门案例工作流程分析
        • Bean加载控制
      • Postman工具请求
    • 请求和响应
      • 请求映射路径
        • 请求参数
        • 普通参数
          • 设置过滤器,对输入进行处理
        • Json数据传递参数
        • 注释学习
        • 日期型参数传递
      • 响应数据
        • 响应的不同内容
    • REST风格(重要)
      • 风格简介
      • 入门案例
        • 注解学习
        • 总结
      • 快速开发
    • 案例:SSM整合
      • 表现层和前端数据数据传输协议实现
    • SSM整合——异常处理
      • 统一集中异常
      • 统一抛出异常
    • SSM整合——前后台协议联调
      • 列表功能
      • 添加功能
      • 修改功能
      • 删除功能
      • 汇总
    • 拦截器
      • 拦截器的概念
      • 入门案例
      • 拦截器的参数
      • 拦截器链配置
    • 总结

说明

  • 不能看过就跳过,截图可以,但是如果提到了不会的概念,要回去翻一下,然后,把翻到的东西,在粘贴到当前的目录下方,住打一个快捷。

SpringMVC简介

  • web开发技术,和serverlet相类似
  • 基于Java实现的MVC模型的轻量级web框架
    在这里插入图片描述

学习目标

在这里插入图片描述
在这里插入图片描述

  • 数据层
    • MyBatis
  • 表现层
    • SpringMVC

入门案例

  • 下述实在pom中定义坐标
    在这里插入图片描述

  • 然后是spring技术,就需要创建对应的bean,需要使用注解进行说明

  • 什么是bean

    • 在这里插入图片描述
    • 这里是使用注解进行开发的,web应用是标注在表现层的,所以需要使用Controller体现
    • 在这里插入图片描述
  • 相关说明

    • RequestMapping说明访问路径
    • 函数是执行对应路径的时候,执行的函数
      在这里插入图片描述
  • SpringMVC的配置类,具体有两个操作,分别如下

    • 指明是Spring的配置类,所以要增加@Configuration说明
    • 指明Bean的搜索路径,所以要增加@ComponentScan
      在这里插入图片描述

在这里插入图片描述

  • Spring的环境启动了,需要要求Tomcat加载Spring启动的东西
    • 告诉Tomcat容器,加载Spring的配置
    • 配置拦截所有请求,说明那些请求交给SpringMVC处理

入门案例的工作流程

  • 导入坐标
    在这里插入图片描述

  • 创建对应的controller对象
    在这里插入图片描述

  • 创建对应的配置类,加载对应的bean,并加载扫描空间

在这里插入图片描述

  • 创建对应的tomcat的配置类,说明容器的对象
    • 定义一个servlet容器启动的配置类,在里面加载spring的配置

在这里插入图片描述

配置环境的问题
  • 这里出现了配置环境的问题,原来下载的是java10,jdk22,然后对应的tomcat是10.0,跑不起来,这里换成java 8,然后jdk1.8,重新下载新的tomcat就行了。
  • 最终的运行结果如下

在这里插入图片描述

步骤总结

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注释学习

在这里插入图片描述
在这里插入图片描述

开发模式

在这里插入图片描述

Severlet容器类配置

在这里插入图片描述
在这里插入图片描述

入门案例工作流程分析
  • 本质是将springmvc的配置,加载到tomcat的容器中,然后由tomcat统一进行处理。
    在这里插入图片描述
  • 所有的请求都是由Springmvc完成的。
    在这里插入图片描述
Bean加载控制

在这里插入图片描述

  • 要求是springmvc加载controller中的bean,然后要求spring加载业务层的bean,互不干扰。
    具体解决办法

在这里插入图片描述

精确配置,适配所有数据库技术

  • 这一种主要使用
@ComponentScan({"com.itheima.service","com.itheima.dao"})

尽量扩大范围,但是排除部分内容

  • 过滤掉使用controller注解的bean
@ComponentScan(value="com.itheima",excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION,classes = Controller.class)
)

将spring和springmvc两个配置都加载到tomcat中

在这里插入图片描述

  • 或者使用如下的方式,简化开发

在这里插入图片描述

Postman工具请求

在这里插入图片描述
在这里插入图片描述

请求和响应

请求映射路径

在这里插入图片描述
在这里插入图片描述

请求参数

后台不区分post请求和get请求
正常就是名称对名称,如果对不上,就是用@RequestParam

普通参数

在这里插入图片描述

  • 如果get请求中的参数和形参的名称不一样,就要使用RequestParam进行标记,保证请求中的变量名赋值给形参

在这里插入图片描述

  • 如果传入对象,只需要和对象的成员数据类型相同,会自动构成对应的成员
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

设置过滤器,对输入进行处理
  • 过滤器是在配置文件中设置的
    在这里插入图片描述
Json数据传递参数
  • 在pom中添加坐标
    在这里插入图片描述

  • 设置发送json的请求
    在这里插入图片描述

  • 在config中增加对应的EnableWebMvc注释
    在这里插入图片描述

@EnableWebMvc  // 开启有json数据转换为对象的功能
  • 接受数据的追求

在这里插入图片描述

  • json对象的格式
    在这里插入图片描述
  • json集合对象的格式

在这里插入图片描述

注释学习
  • RequestBody学习

在这里插入图片描述

日期型参数传递
  • 自己定义格式,使用注释@DateTimeFormat
    *

  • 使用convert接口实现

在这里插入图片描述

响应数据

  • 响应页面
  • 响应数据
    • 文本数据
    • json数据
响应的不同内容
  • 什么都不加,默认是返回页面
  • 加上responseBody是返回对应文本信息

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
使用HTTPMessageConverter二接口实现

  • 将jackson数据进行转换

在这里插入图片描述

REST风格(重要)

风格简介

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

入门案例

  • 设置http请求动作

在这里插入图片描述

  • 设置形参

在这里插入图片描述

注解学习

在这里插入图片描述

总结

在这里插入图片描述

快速开发

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

案例:SSM整合

表现层和前端数据数据传输协议实现

在这里插入图片描述

在这里插入图片描述

  • 通过controller返回的数据

在这里插入图片描述

SSM整合——异常处理

统一集中异常

  • 在运行会出现异常

在这里插入图片描述

  • 常见的异常类型
    在这里插入图片描述

  • 异常处理方式——所有异常抛出到表现层进行处理,使用切面思想AOP进行处理

    • 这里使用spring已经统一实现的异常处理模块统一处理

在这里插入图片描述

  • 对应的注解
    在这里插入图片描述
    在这里插入图片描述

统一抛出异常

  • 常见的异常种类

在这里插入图片描述

  • 每一类的具体处理方式

在这里插入图片描述
编码实现

  • 分类定义对应的异常处理类型

在这里插入图片描述

  • 定义异常码

在这里插入图片描述

  • 触发自定义异常
    在这里插入图片描述
  • 拦截并处理异常

在这里插入图片描述

  • 异常情况对比

在这里插入图片描述

SSM整合——前后台协议联调

列表功能

  • 首先这里回顾一下,要增加网页返回功能,让部分网络请求过渡到对应路径中,通过springmvcsupprt进行过滤

在这里插入图片描述

  • 并在对应配置类中增加组件扫描配置

在这里插入图片描述
books页面分析

  • 下述是列表页的相关分析,create创建页面是调用的函数,调用getall函数,然后在发送get请求,然后将结果使用datalist进行显示
    在这里插入图片描述

添加功能

  • 这里是根据添加的结果判是否返回成功,并给出对应的操作界面变化,这里需要改变一下对应save,update结构
    在这里插入图片描述
  • 前端处理具体操作
  • 这里要求弹出小窗时,就把数据删除,保证数据清空
    在这里插入图片描述
  • 在下述操作中,根据后台返回的操作,前台给出对应界面操作
    在这里插入图片描述

修改功能

  • 先弹出编辑窗口,然后在添加数据
    • 点击编辑按钮时,查询数据,发送ajax请求
      • 这里是核心,传入请求参数,并将结果进行返回
    • 编辑后添加数据,并进行保存

在这里插入图片描述

删除功能

  • 具体操作流程
    • 弹出提示框
    • 做删除业务
    • 取消删除操作
      在这里插入图片描述

汇总

在这里插入图片描述

拦截器

拦截器的概念

在这里插入图片描述

  • 作用
    • 在指定操作的前后执行预先设定的代码
    • 阻止原始方法的执行
      在这里插入图片描述
  • 注意拦截器和过滤器的区别,拦截器是在springmvc框架下的,但是过滤器是在springmvc之前的,是在serverlet之前的。

入门案例

编程流程

  • 制作拦截器的功能类
  • 配置拦截器的执行位置
    拦截器是给表现层是个用的,需要定义在controller中使用

在controller中声明一个拦截器类,声明为组件

  • 实现handlerinterceptor方法

在这里插入图片描述

在config中配置拦截器对应配置类,自动装配组件,并指定使用方法
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
简化开发的方式
在这里插入图片描述

执行流程

在这里插入图片描述

拦截器的参数

  • 主要是request应用的比较多
    在这里插入图片描述

在这里插入图片描述

拦截器链配置

在这里插入图片描述

  • 用的少

在这里插入图片描述

总结

这里过得比较快,最多在学一周,这个就得过一遍,然后再根据项目具体的开始封装。

这篇关于秋招突击——第三弹——Java的SSN框架快速入门——SpringMVC的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1064136

相关文章

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

Springboot @Autowired和@Resource的区别解析

《Springboot@Autowired和@Resource的区别解析》@Resource是JDK提供的注解,只是Spring在实现上提供了这个注解的功能支持,本文给大家介绍Springboot@... 目录【一】定义【1】@Autowired【2】@Resource【二】区别【1】包含的属性不同【2】@

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

Java枚举类实现Key-Value映射的多种实现方式

《Java枚举类实现Key-Value映射的多种实现方式》在Java开发中,枚举(Enum)是一种特殊的类,本文将详细介绍Java枚举类实现key-value映射的多种方式,有需要的小伙伴可以根据需要... 目录前言一、基础实现方式1.1 为枚举添加属性和构造方法二、http://www.cppcns.co

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J

Java中的String.valueOf()和toString()方法区别小结

《Java中的String.valueOf()和toString()方法区别小结》字符串操作是开发者日常编程任务中不可或缺的一部分,转换为字符串是一种常见需求,其中最常见的就是String.value... 目录String.valueOf()方法方法定义方法实现使用示例使用场景toString()方法方法

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("