秋招突击——第三弹——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

相关文章

Spring事务传播机制最佳实践

《Spring事务传播机制最佳实践》Spring的事务传播机制为我们提供了优雅的解决方案,本文将带您深入理解这一机制,掌握不同场景下的最佳实践,感兴趣的朋友一起看看吧... 目录1. 什么是事务传播行为2. Spring支持的七种事务传播行为2.1 REQUIRED(默认)2.2 SUPPORTS2

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存

java中新生代和老生代的关系说明

《java中新生代和老生代的关系说明》:本文主要介绍java中新生代和老生代的关系说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、内存区域划分新生代老年代二、对象生命周期与晋升流程三、新生代与老年代的协作机制1. 跨代引用处理2. 动态年龄判定3. 空间分

Java设计模式---迭代器模式(Iterator)解读

《Java设计模式---迭代器模式(Iterator)解读》:本文主要介绍Java设计模式---迭代器模式(Iterator),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录1、迭代器(Iterator)1.1、结构1.2、常用方法1.3、本质1、解耦集合与遍历逻辑2、统一

Java内存分配与JVM参数详解(推荐)

《Java内存分配与JVM参数详解(推荐)》本文详解JVM内存结构与参数调整,涵盖堆分代、元空间、GC选择及优化策略,帮助开发者提升性能、避免内存泄漏,本文给大家介绍Java内存分配与JVM参数详解,... 目录引言JVM内存结构JVM参数概述堆内存分配年轻代与老年代调整堆内存大小调整年轻代与老年代比例元空

深度解析Java DTO(最新推荐)

《深度解析JavaDTO(最新推荐)》DTO(DataTransferObject)是一种用于在不同层(如Controller层、Service层)之间传输数据的对象设计模式,其核心目的是封装数据,... 目录一、什么是DTO?DTO的核心特点:二、为什么需要DTO?(对比Entity)三、实际应用场景解析

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1