SpringMVC
未读请求与响应
SpringMVC是web层的框架,主要的作用是接收请求、接收数据、响应结果,这也是SpringMVC的==重点==内容:
请求映射路径
请求参数
日期类型参数传递
响应json数据
1. 设置请求映射路径
1.1 环境准备
创建对应的配置类
123456789101112public class ServletContainersInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer { protected Class<?>[] getServletConfigClasses() { return new Class[]{SpringMvcConfig.class}; } protected String[] getServletMappings() { return new String[]{"/&quo ...
SpringMVC
未读工作流程解析
1. 初始化及单次请求过程
为了更好的使用SpringMVC,将SpringMVC的使用过程总共分两个阶段来分析,分别是启动服务器初始化过程和单次请求过程
1.1 启动服务器初始化过程
服务器启动,执行ServletContainersInitConfig类,初始化web容器。
功能类似于以前的web.xml
执行createServletApplicationContext方法,创建了WebApplicationContext对象。
该方法加载SpringMVC的配置类SpringMvcConfig来初始化SpringMVC的容器
加载SpringMvcConfig配置类
执行@ComponentScan加载对应的bean
扫描指定包及其子包下所有类上的注解,如Controller类上的@Controller注解
加载UserController,每个@RequestMapping的名称对应一个具体的方法
此时就建立了 /save 和 save方法的对应关系
执行getServletMappings方法,设定SpringMVC拦截请求的路径 ...
SpringMVC
未读搭建SpringMVC框架
1.创建web工程(Maven结构)
2.设置tomcat服务器,加载web工程(tomcat插件)
3.导入坐标(==SpringMVC==+Servlet)
4.定义处理请求的功能类(==UserController==)
5.==设置请求映射(配置映射关系)==
6.==将SpringMVC设定加载到Tomcat容器中==
1. 框架搭建步骤1:创建Maven项目打开IDEA,创建一个新的web项目
步骤2:导入jar包
将pom.xml中多余的内容删除掉,再添加SpringMVC需要的依赖
12345678910111213141516171819202122232425262728293031323334353637383940414243<?xml version="1.0" encoding="UTF-8"?><proj ...
SpringMVC
未读SpringMVC简介
1. SpringMVC 主要内容SpringMVC是隶属于Spring框架的一部分,主要是用来进行Web开发,是对Servlet进行了封装。
对于SpringMVC主要内容:
SpringMVC简介
请求与响应
REST风格
SSM整合(注解版)
拦截器
SpringMVC是处于Web层的框架,所以其主要的作用就是用来接收前端发过来的请求和数据然后经过处理并将处理的结果响应给前端,所以如何处理请求和响应是SpringMVC中非常重要的一块内容。
REST是一种软件架构风格,可以降低开发的复杂性,提高系统的可伸缩性,后期的应用也是非常广泛。
对于SpringMVC的学习,最终要达成的目标:
掌握基于SpringMVC获取请求参数和响应json数据操作
熟练应用基于REST风格的请求路径设置与参数传递
能够根据实际业务建立前后端开发通信协议并进行实现
基于SSM整合技术开发任意业务模块功能
2. SpringMVC概述
学习SpringMVC我们先来回顾下现在web程序是如何做的,咱们现在web程序大都基于三层架构来实现。
浏览器发送一个请求给后端 ...
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576package camellia.common;import lombok.Data;import java.io.Serial;import java.io.Serializable;@Datapublic class BaseResponse<T> implements Serializable { @Serial private static final long serialVersionUID = 5477638191965981955L; /** * 表示响应状态码 */ private int code; /** * 泛型类型的数据,表示响应的数据内容。 */ private T data; /* ...
Git分支
在 Git 中,分支(Branch)是用于并行开发的一个重要特性。它允许你在不影响主线(通常是 main 或 master 分支)的情况下,进行独立的开发工作。
1. Git分支命令
1.1 查看本地分支
命令:git branch
1.2 创建本地分支
命令:git branch 分支名
1.3 *切换分支(checkout)
命令:git checkout 分支名
我们还可以直接切换到一个不存在的分支(创建并切换)
命令:git checkout -b 分支名
1.4 *合并分支(merge)一个分支(合并分支)上的提交可以合并到另一个分支(目标分支)
需要先切换到目标分支:git checkout 目标分支名
合并命令:git merge 合并分支名
1.5 删除分支不能删除当前分支,只能删除其他分支
git branch -d 分支名 删除分支时,需要做各种检查
git branch -D 分支名 不做任何检查,强制删除
1.6 解决冲突当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解决冲突,解决冲突步 ...
Git版本回退
作用:版本切换
命令形式:git reset --hard commitID
commitID 可以使用git-log或git log指令查看
如何查看已经删除的记录?
git reflog
这个指令可以看到已经删除的提交记录
Git 版本回退(版本恢复)是指将代码库恢复到之前的某个状态。这在开发过程中非常常见,可能由于提交错误、引入了Bug或者需要撤销某些更改。Git 提供了多种方法来实现版本回退,主要包括 git reset、git revert、git checkout 和 git reflog。下面详细介绍这些方法及其适用场景。
Git的版本回退操作默认是针对本地仓库的。当我使用 git reset 或其他回退命令时,它们最初只会影响我本地的代码库和提交历史。
1. *使用 git reset 回退版本
git reset 命令用于重置当前分支的指针到指定的提交,同时可以选择性地修改暂存区和工作目录。git reset 有三种模式:
1.1 git reset --soft <commit>软退回将当前分支的指针(HEAD)移动到指定提交 ...
Git
未读Git安装与常用命令
ls/ll 查看当前目录
cat 查看文件内容
touch 创建文件
vi vi编辑器
1. Git环境配置
1.1 下载与安装下载地址: https://git-scm.com/download
双击下载的安装文件来安装Git。安装完成后在电脑桌面(也可以是其他目录)点击右键,如果能够看到如下两个菜单则说明Git安装成功。
Git GUI:Git提供的图形界面工具
Git Bash:Git提供的命令行工具
当安装Git后首先要做的事情是设置用户名称和email地址,这是非常重要的,因为每次Git提交都会使用该用户信息。
1.2 基本配置设置用户信息12git config --global user.name “git用户名称”git config --global user.email “xxx@qq.com”
查看配置信息12git config --global user.namegit config --global user.email
1.3 常用指令配置别名有的指令非常长,每次输入指令都比较费时费力。这是我们可以通过给 ...
Git分布式版本控制工具
1. 概述
1.1 开发中的实际场景场景一:备份小明负责的模块就要完成了,就在即将Release之前的一瞬间,电脑突然蓝屏,硬盘光荣牺牲!几个月来的努力付之东流
场景二:代码还原这个项目中需要一个很复杂的功能,老王摸索了一个星期终于有眉目了,可是这被改得面目全非的代码已经回不到从前了。什么地方能买到哆啦A梦的时光机啊?
场景三:协同开发小刚和小强先后从文件服务器上下载了同一个文件:Analysis.java。小刚在Analysis.java文件中的第30行声明了一个方法,叫count(),先保存到了文件服务器上;小强在Analysis.java文件中的第50行声明了一个方法,叫sum(),也随后保存到了文件服务器上,于是,count()方法就只存在于小刚的记忆中了
场景四:追溯问题代码的编写人和编写时间老王是另一位项目经理,每次因为项目进度挨骂之后,他都不知道该扣哪个程序员的工资!就拿这次来说吧,有个Bug调试了30多个小时才知道是因为相关属性没有在应用初始化时赋值!可是二胖、王东、刘流和正经牛都不承认是自己干的!
1.2 版本控制器的方式集中式版本控制工具集 ...