当前位置: 首页 > news >正文

SpringBoot学习(三)-员工管理系统开发(重在理解)

注:此为笔者学习狂神说SpringBoot的笔记,其中包含个人的笔记和理解,仅做学习笔记之用,更多详细资讯请出门左拐B站:狂神说!!!
本文是基于狂神老师SpringBoot教程中的员工管理系统从0到1的实践和理解。该系统应用SpringBoot、SpringMVC、Mybatis、thymeleaf模板引擎的等框架,方便读者理解网站搭建流程和注意点。本文重在理解,建议和代码结合理解,并实践。

员工管理系统

1、准备工作

  • 去bookstarap 模板中下载

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

  • 导入页面

在这里插入图片描述

  • 资源放在static上面

在这里插入图片描述

  • 创建实体类

在这里插入图片描述

  • 导入依赖 lombok 会使@data:会将属性用到的方法:set、get、tostring,有参和无参构造方法自动装配

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 创建模拟数据库

在这里插入图片描述

加上注解@Repository

在这里插入图片描述

在这里插入图片描述

将有参构造的注解@删除,由于 时间 一般情况下,都是默认配置的,所以自己配的话,可以通过有参函数中,new Date()赋给 时间属性,否则,不删掉有参构造(有Date属性)的注解,将会导致赋值时,难办。

在这里插入图片描述

引用类型Department要加上 new ,因为加载资源的方式,是先静态static,再到@Autowired的资源的

在这里插入图片描述

添加数据库的基本操作

在这里插入图片描述

在这里插入图片描述

2、首页实现

  • 不建议在 controller 这里配置,最好去 config 中的springmvc扩展配置中配置,但是css静态资源加载不进来。

在这里插入图片描述

  • 注:如果有几个项目有网站的,若没关,都会占用8080端口的,导致项目的网站运行不出来,可以改一下端口;或移除其他项目。
  • 如下,效果一样,但是css静态资源加载不进来。

在这里插入图片描述

  • 所以需要把下载过来的模板修改为 Thymeleaf模板引擎所支持的 格式结构,对照Thymeleaf的支持文档(去官网下载)

在这里插入图片描述

1)修改登录界面

  • 修改加载的格式,让静态资源css可以被加载进来

在这里插入图片描述

  • 更改测试的时候,可以关闭Thymeleaf的模板缓存
  • 修改完,记得开启模板引擎的缓存,不然跑不起来

在这里插入图片描述

  • 清理浏览器的缓存

在这里插入图片描述

  • 主要是修改静态资源的链接,在前面加 th: 然后会发现资源的图标恢复

在这里插入图片描述

2)修改404页面

在这里插入图片描述

  • 不用改在线链接,只改本地的

在这里插入图片描述

3)修改dashboard页面

在这里插入图片描述

4)修改list页面

在这里插入图片描述

  • 用了 @ 符号的的好处: @ 之后的 (/)相当于万能目录classpath,可以万能匹配 不管项目的http链接怎么变,都能加载到静态资源
  • 配置了sever.servlet.context-path= 后, 8080会失效的

在这里插入图片描述

在这里插入图片描述

  • 结论
    1.首页配置:注意点,所有页面的静态资源都需要使用thymeleaf接管;

3、页面国际化

1)准备国际化的东西

  • 创建 i18n 文件夹(国际化的缩写)

在这里插入图片描述

  • 手动添加配置文件

在这里插入图片描述

  • idea的可视化视图:可以映射到配置文件

在这里插入图片描述

在这里插入图片描述

  • 要去看源码,我们自己正常配置的,理解SpringBoot怎么识别国际化的

在这里插入图片描述

赋值的

在这里插入图片描述

  • 通过源码找到SpringBoot自动装配的默认配置信息,这样自己才知道,自己要配多少,才有用

在这里插入图片描述

2)修改全局配置文件

  • 在配置文件中配置国际化,让国际化生效

在这里插入图片描述

  • 国际化消息的 格式标签:去查Thymeleaf文档

在这里插入图片描述

  • 先修改一个,看#{}格式是否生效,别一下子全部改完

在这里插入图片描述

修改不成功

在这里插入图片描述

修改一下:

在这里插入图片描述

  • 理解赋的值放里面和外面的区别:一般像按钮、选择框等控件放外面才生效,一般的基本信息赋值放里面就可以了,基本用 th:text ,其余看语境。

    在这里插入图片描述

3)实现点击 按钮 *改变国际化的信息

在这里插入图片描述

  • 去看官方文档,知道自己该配置什么东西

在这里插入图片描述

找到MessageCodeResolver

在这里插入图片描述

查找AcceptHeaderLocalContextResolver类

在这里插入图片描述

又去找一下RequestMappingHandlerMapping类

在这里插入图片描述

找到了localeResolver类,理解里面的要求 ,为我们用户自配找到依据
什么什么default就是默认的!!!!!!!

在这里插入图片描述

  • @ConditionalOnMissingBean:生效的话,会让bean失效,按照这里的意思,就是说,如果有用户自定义配置,就会让SpringBoot自动装配的bean失效。

找到AcceptHeaderLocaleResolver类去看看

在这里插入图片描述

  • 得知这个类继承了LocaleResolver地区解调器接口,

在这里插入图片描述

  • 实现自己的LocaleResolver国际化解析器==实现地区解调器接口

    依据

    在这里插入图片描述

在这里插入图片描述

  • 具体操作

    在这里插入图片描述

  • 一点击按钮, l 就会把消息传到后端

在这里插入图片描述

  • 解析请求

在这里插入图片描述

在配置类中,注册国际化组件的@bean到SpringBoot中

在这里插入图片描述

修改:

在这里插入图片描述

  • default打开页面默认的语言界面,由于浏览器默认一开始就是中文的,所以语法出错,也会返回中文

结果

在这里插入图片描述

  • 结论

在这里插入图片描述

4、登录功能实现

1)测试跳转功能

  • 修改index.html页面

在这里插入图片描述

  • 创建Logincontroller类,注:先测试一下能否正常跳转页面,写一步,测一步

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

2)前端传输数据到后端,并验证登录

  • 修改index.html页面

在这里插入图片描述

  • 后端获取数据。注:有@ResponseBody就跳不了视图,想要跳视图,把它去掉

在这里插入图片描述

在这里插入图片描述

  • 修改后,登录成功,但是登陆失败后,没有提示

在这里插入图片描述

3)登陆失败信息回传

  • 修改index页面,让回传信息msg,有地方放和显示
  • 去网页审查元素,定位一下,可以在那放回传的提示信息

在这里插入图片描述

  • 定位标签

    在这里插入图片描述

  • 去Thymeleaf.pdf里,找判断参数是否为空的方法

    在这里插入图片描述

  • 修改一下index页面,isEmpty(msg):msg是否为空,不为空,返回 false,not+false=true,显示文本。

在这里插入图片描述

在这里插入图片描述

4)登陆成功之后,URL有问题

  • 思路

​ 访问那个页面,能映射过来就好了

在这里插入图片描述

  • 在管理映射路径的类里修改,此程序在 MyMvcConfig 中

在这里插入图片描述

  • 修改LoginController,登录验证成功后,添加:redirct:/ 让页面跳转,更像网页跳转的情况,一个接一个

在这里插入图片描述

  • 问题:无论登不登录,都能进后台页面,所以要配置 拦截器 !!!!!!!!!!

    在这里插入图片描述

5)登录拦截器

  • 创建 自定义拦截器LoginHandlerInterceptor 继承 HandlerInterceptor拦截器接口

在这里插入图片描述

  • 登录成功后,用户名自定义设置显示

在这里插入图片描述

  • 登录成功后,获得了参数 loginUser ,返回true,随便切换都行

在这里插入图片描述

  • 在用户 自定义配置的类MyMvcConfig里面,声明这个拦截器方法(并不需要注册成一个bean,声明就好)

在这里插入图片描述

  • 修改Dashboard的元素Company name

在这里插入图片描述

  • 修改dashboard页面

在这里插入图片描述

  • 效果:用同一个浏览器会有缓存,也可以直接访问的,所以 清理浏览器缓存 或者 关掉浏览器 ,或者 换一个浏览器。

在这里插入图片描述

  • 过程

    继承接口→添加参数并设置username→拦截器条件构造→声明拦截器与拦截链接

5、展示员工列表

1)自己的员工查询页面

  • 登录功能已经实现,接下来修改前端员工的的列表展示,点员工管理,然后跳到 自己的员工查询页面

修改dashboard页面,去掉多余的效果标签(CSS)

在这里插入图片描述

复制一份list.html到emp中,以便区分

在这里插入图片描述

新建EmployController类,用来跳转页面,并设置数据

在这里插入图片描述

实现页面的一连串跳转

在这里插入图片描述

修改list.html页面,让点击了 员工管理 跳转到list页面

在这里插入图片描述

在这里插入图片描述

实现点击 list页面 的跳转循环

在这里插入图片描述

2)抽取界面元素Fragments的 insert标签

主界面和从界面的界面元素相同的话,抽取相同的界面元素

在这里插入图片描述

commons页面路径,main页面路径下的哪一个位置

在这里插入图片描述

抽取侧边栏,它可以作为一个组件,插入到其他页面

在这里插入图片描述

插入 list页面 中,注意格式

在这里插入图片描述

插入后效果是一样的

在这里插入图片描述

删掉list的顶部栏,也使用插入的

在这里插入图片描述

修改dashboard页面的顶部导航栏,使用 th:fragment=""定义可引用的部分

在这里插入图片描述

将dashboard页面的顶部导航栏作为控件,插入到list页面,效果和自定义的一样

在这里插入图片描述

3)替换界面元素的Fragment的 replace标签,可以理解为引用

  • 引用的话,就可以,传递参数

新建一个 commons界面 (不显示,作为工具页面),作为公共界面,用来replace,并实现 改一个地方,其它地方同时生效

在这里插入图片描述

修改公共页面commons,将 首页 点击设为 main.html ,跳转到登陆成功后的第一个页面

在这里插入图片描述

在这里插入图片描述

修改dashboard和list页面,实现代码的复用,都

在这里插入图片描述

在这里插入图片描述

效果:

在这里插入图片描述

4)设置点击的光标

在这里插入图片描述

在这里插入图片描述

在dashboard和list页面发送光标参数main.html

在这里插入图片描述

在这里插入图片描述

在commons中接收光标参数main.html,并设置条件语句判断,有接收到,则亮,没有接收到,则不亮

在这里插入图片描述

在这里插入图片描述

效果

在这里插入图片描述

  • 可以理解为 引用,然后传参数

在这里插入图片描述

5)list显示员工的信息

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

td:加粗、居中

添加操作

在这里插入图片描述

在这里插入图片描述

springboot内部嵌入了一些CSS样式,所有只要指定类,就可以自动使用 类选择器,来修饰按钮
显示出现问题,修改就好

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 显示信息过程:

添加表格表项→添加dao取出的数据(注意中间参数)→添加管理操作(注意CSS样式)→修改信息的格式(查表)

6、添加员工实现

1)按钮提交

  • 步骤如下:

在这里插入图片描述

  • 添加添加按钮,添加超链接

在这里插入图片描述

点击后的请求是get请求

2)设置链接的跳转

  • 添加add页面

复制一份list.html,命名为add.html,只需修改表单部分即可

在这里插入图片描述

  • 表单添加的位置

在这里插入图片描述

3)找表单样式

  • 找表单样式,去bookstrap找

在这里插入图片描述

  • 找自己喜欢的表单,改就好了

在这里插入图片描述

  • 表单形式

在这里插入图片描述

4)修改表单的内容

  • 先复制一份 list.html 到 add.html 中

  • 添加各自的name属性(没有name,无法提交),并对应实体类的属性

在这里插入图片描述

  • name和value:name一定要对应实体类的信息,否则后续操作,会报错,数据传输错误

5)获取数据

  • 利用dao,获取departments的所有部门数据

在这里插入图片描述

model传递参数,内容就是:所有部门的数据,传入页面当中去

  • 修改下拉列表的部门数据

在这里插入图片描述

在这里插入图片描述

6)表单链接的特殊用法post

  • 同一个链接的不同的用法,区分开来,方便接收后,功能的实现在这里插入图片描述

  • Post接收,专门用于接收表单的链接

在这里插入图片描述

  • 先保证逻辑是对的,然后再往下,写代码,逻辑不能错
  • 注意:redirect的使用格式: redirect:/emps,别用中文输入法输入。
  • 区分forward和redirect:去找thymeleaf的源码中的视图解析器

在这里插入图片描述

  • 理解视图解析器里面的内容

在这里插入图片描述

7)保存员工信息

  • 保存员工信息,并显示在页面上

在这里插入图片描述

  • 处理错误

在这里插入图片描述

8)遇到问题

在这里插入图片描述

绑定数据失败,验证employee失败了

在这里插入图片描述

9)格式问题

springboot自动配置了 dd/mm/yyyy

在这里插入图片描述

在这里插入图片描述

  • 格式错了!!!

找源码,看底层,默认的

在这里插入图片描述

找默认配置信息的另一种方法:从application.properties中找

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

所以,自定义的格式会报错,因为程序采取默认的格式,这是springboot自动装配的原因

  • 自定义的时间格式:需要在application.properties配置

在这里插入图片描述

  • 注意点

在这里插入图片描述

  • 我们接收的是一个对象:employee,只需要提交一个属性:id

  • save()方法保存一个指定id的employee

  • 总结:设置按钮,添加超链接→在controller中设置链接跳转链接→修改表单内容th→在controller中利用引用类型dao,来获取数据,设置传输参数→设置表单跳转链接→保存信息→处理格式问题

7、修改员工信息

1)创建update页面

在这里插入图片描述

2)将属性id作为链接参数

在这里插入图片描述

在这里插入图片描述

3)设置跳转的的链接

获取id数据

在这里插入图片描述

4)修改映射update对应的员工属性信息

  • 如果页面加载不出来,可以重新加载一下,或者重启idea

在这里插入图片描述

  • 查出部门信息,方便页面的修改

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

报错:

在这里插入图片描述

解决:

在这里插入图片描述

点击编辑效果:

在这里插入图片描述

5)员工修改保存操作

在这里插入图片描述

在这里插入图片描述

  • 和增加员工的操作没有本质的区别

在这里插入图片描述

在这里插入图片描述

6)报错解决

①时间格式报错

在这里插入图片描述

②修改后员工id自增

在这里插入图片描述

在这里插入图片描述

  • 携带id的隐藏域,将id隐藏起来,这样主键自增会识别是不是新的id,不是,就可以实现修改对应员工信息了,而不至于增加新的员工信息

在这里插入图片描述

  • 总结:创建update页面→将属性id作为链接参数→设置跳转链接(并获取id数据)→修改映射update对应的员工属性信息→员工修改保存操作,设置表单跳转链接→格式报错问题

8、删除员工及404处理

1)修改 list.html 页面

在这里插入图片描述

2)添加跳转链接和删除操作

404不需要设置跳转,遇到报错,它会自动跳转

所以"redirect:/emps"返回正常list列表即可

在这里插入图片描述

3)添加404

在这里插入图片描述

  • 404这个数字可以自己设定,就是html的名字

在这里插入图片描述

在这里插入图片描述

  • 总结:修改list页面→添加跳转链接和删除操作→添加404

9、注销功能

在这里插入图片描述

在这里插入图片描述

  • 重点:href链接+Cotroller的链接跳转设置
  • 总结:修改common页面的注册链接 → 设置跳转链接操作 → 并删除用户名,让登录名失效,踢出

笔者已经实践过上述提到的功能,方案确实可行。阅读和理解本笔记可以对读者如何使用SpringBoot简单搭建web应用起引导作用,若读者需要实践,可以去狂神老师的公众号或视频下载基础代码加深理解。

SpringBoot学习(三)-员工管理系统开发理解的学习笔记到此完结,笔者归纳、创作不易,大佬们给个3连再起飞吧

相关文章:

SpringBoot学习(三)-员工管理系统开发(重在理解)

注:此为笔者学习狂神说SpringBoot的笔记,其中包含个人的笔记和理解,仅做学习笔记之用,更多详细资讯请出门左拐B站:狂神说!!! 本文是基于狂神老师SpringBoot教程中的员工管理系统从0到1的实践和理解。该系统应用SpringB…...

2 Windows网络编程

1 基础概念 1.1 socket概念 Socket 的原意是“插座”,在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。Socket本质上是一个抽象层,它是一组用于网络通信的API,包括了一系列…...

uniapp选择android非图片文件的方案踩坑记录

这个简单的问题我遇到下面6大坑,原始需求是选择app如android的excel然后读取到页面并上传表格数据json 先看看效果 uniapp 选择app excel文件读取 1.uniapp自带不支持 uniapp选择图片和视频非常方便自带已经支持可以直接上传和读取 但是选择word excel的时候就出现…...

前端发开的性能优化 请求级:请求前(资源预加载和预读取)

预加载 预加载:是优化网页性能的重要技术,其目的就是在页面加载过程中先提前请求和获取相关的资源信息,减少用户的等待时间,提高用户的体验性。预加载的操作可以尝试去解决一些类似于减少首次内容渲染的时间,提升关键资…...

B01、类加载子系统-02

JVM架构图-英文版 中文版见下图: 1、概述类的加载器及类加载过程 1.1、类加载子系统的作用 类加载器子系统负责从文件系统或者网络中加载Class文件,class文件在文件开头有特定的文件标识。ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engi…...

用PHP搭建一个绘画API

【腾讯云AI绘画】用PHP搭建一个绘画API 大家好!今天我要给大家推荐的是如何用PHP搭建一个绘画API,让你的网站或应用瞬间拥有强大的绘画能力!无论你是想要让用户在网页上绘制自己的创意,还是想要实现自动绘画生成特效,这…...

西安人民检察院 | OLED翻页查询一体机

产品:55寸OLED柔性屏 项目时间:2023年12月 项目地点:西安 在2023年12月,西安人民检察院引入了OLED翻页查询一体机,为来访者提供了一种全新的信息查询方式。 这款一体机采用55寸OLED柔性屏,具有高清晰度、…...

superset利用mysql物化视图解决不同数据授权需要写好几次中文别名的问题

背景 在使用superset时,给不同的人授权不同的数据,需要不同的数据源,可视化字段希望是中文,所以导致不同的人需要都需要去改表的字段,因此引入视图,将视图中字段名称设置为中文 原表数据 select * from …...

输入输出流

1.输入输出流 输入/输出流类:iostream---------i input(输入) o output(输出) stream:流 iostream: istream类:输入流类-------------cin:输入流类的对象 ostream类…...

IOS:Safari无法播放MP4(H.264编码)

一、问题描述 MP4使用H.264编码通常具有良好的兼容性,因为H.264是一种广泛支持的视频编码标准。它可以在许多设备和平台上播放,包括电脑、移动设备和流媒体设备。 使用caniuse查询H.264兼容性,看似确实具有良好的兼容性: 然而…...

Pycharm恢复默认设置

window 系统 找到下方目录-->删除. 再重新打开Pycharm C:\Users\Administrator\.PyCharm2023.3 你的不一定和我名称一样 只要是.PyCharm*因为版本不同后缀可能不一样 mac 系统 请根据需要删除下方目录 # Configuration rm -rf ~/Library/Preferences/PyCharm* # Caches …...

简单计算器实现,包括两个数

正在加载中... 简单计算器实现,包括两个数 ❤ 厾罗 简单计算器实现,包括两个数 以下代码用于实现简单计算器实现,包括两个数基本的加减乘除运算: 实例(Python 3.0) # Filename : test.py # author by : www.dida100.com …...

竞赛保研 基于机器视觉的手势检测和识别算法

0 前言 🔥 优质竞赛项目系列,今天要分享的是 基于深度学习的手势检测与识别算法 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng…...

Android App从备案到上架全过程

不知道大家注意没有,最近几年来,新的移动App想要上架是会非常困难的,并且对于个人开发者和小企业几乎是难如登天,各种备案和审核。但是到底有多难,或许只有上架过的才会有所体会。 首先是目前各大应用市场陆续推出新的声明,各种备案截止日期到12月就要到最后期限责令整改…...

用邮件及时获取变更的公网IP--------python爬虫+打包成exe文件

参考获取PC机公网IP并发送至邮箱 零、找一个发送邮件的邮箱 本文用QQ邮箱为发送邮箱,网易等邮箱一般也有这个功能,代码也是通用的。 第一步:在设置中找到账户,找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,点击获…...

c++学习:函数模板+实战

目录 函数模板 思考 如果两个参数的类型不一样可以下面这么写 如果有指定返回参数可以下面这么写 实战 找出三个数中最大的一个 函数模板 实际上就是建立一个通用函数,其函数返回值类型和形参类型不具体指定,用一个虚拟的类型来代表template 是一个…...

three.js gltf后处理颜色异常(伽马校正)

效果&#xff1a; 应用了伽马校正&#xff0c;好像效果不明显 代码&#xff1a; <template><div><el-container><el-main><div class"box-card-left"><div id"threejs" style"border: 1px solid red"><…...

面试经典150题(55-58)

leetcode 150道题 计划花两个月时候刷完&#xff0c;今天&#xff08;第二十四天&#xff09;完成了4道(55-58)150&#xff1a; 55.&#xff08;19. 删除链表的倒数第 N 个结点&#xff09;题目描述&#xff1a; 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff…...

如果一个n位正整数等于其各位数字的n次方之和

❤ 厾罗 如果一个n位正整数等于其各位数字的n次方之和 如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。 例如1^3 5^3 3^3 153。 1000以内的阿姆斯特朗数&#xff1a; 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407。 以下代码用于检测用户输…...

solidity显示以太坊美元价格

看过以太坊白皮书的都知道&#xff0c;以太坊比较比特币而言所提升的地方中&#xff0c;我认为最重要的一点就是能够访问外部的数据&#xff0c;这一点在赌博、金融领域应用会很广泛&#xff0c;但是区块链是一个确定的系统&#xff0c;包括里面的所有数值包括交易ID等都是确定…...

ChatGPT学习笔记——大模型基础理论体系

1、ChatGPT的背景与意义 近期,ChatGPT表现出了非常惊艳的语言理解、生成、知识推理能力, 它可以极好的理解用户意图,真正做到多轮沟通,并且回答内容完整、重点清晰、有概括、有条理。 ChatGPT 是继数据库和搜索引擎之后的全新一代的 “知识表示和调用方式”如下表所示。 …...

Termius for Mac/Win:一款功能强大的终端模拟器、SSH 和 SFTP 客户端软件

随着远程工作和云技术的普及&#xff0c;对于高效安全的远程访问和管理服务器变得至关重要。Termius&#xff0c;一款强大且易用的终端模拟器、SSH 和 SFTP 客户端软件&#xff0c;正是满足这一需求的理想选择。 Termius 提供了一站式的解决方案&#xff0c;允许用户通过单一平…...

python如何读取被压缩的图像

读取压缩的图像数据&#xff1a; PackBits 压缩介绍&#xff1a; CCITT T.3 压缩介绍&#xff1a; 读取压缩的图像数据&#xff1a; 在做图像处理的时候&#xff0c;平时都是使用 函数io.imread() 或者是 函数cv2.imread( ) 函数来读取图像数据&#xff0c;很少用PIL.Image…...

华为OD机试 - 寻找最优的路测线路(Java JS Python C)

题目描述 评估一个网络的信号质量,其中一个做法是将网络划分为栅格,然后对每个栅格的信号质量计算。 路测的时候,希望选择一条信号最好的路线(彼此相连的栅格集合)进行演示。 现给出 R 行 C 列的整数数组 Cov,每个单元格的数值 S 即为该栅格的信号质量(已归一化,无单…...

互联网演进历程:从“全球等待”到“全球智慧”的技术革新与商业变革

文章目录 一、导言二、World Wide Wait (全球等待)阶段1. 技术角度2. 用户体验3. 企业收益4. 教育影响 三、World Wide Web (万维网)阶段1. 技术角度2. 用户体验3. 企业收益4. 教育影响 四、World Wide Wisdom (全球智慧)阶段1. 技术角度2. 用户体验3. 企业收益4. 教育影响 五、…...

计算机组成原理——总线

总线特点 1.1. 分时&#xff1a;分时是指同一时刻只允许有一个部件向总线发送信息&#xff0c;若系统中有多个部件&#xff0c;则它们只能分时地向总线发生信息。 1.2. 共享&#xff1a;共享是指总线上可以挂接多个部件&#xff0c;各个部件之间互相交换的信息都可以通过这组线…...

2023.12.27 关于 Redis 数据类型 List 常用命令

目录 List 类型基本概念 List 类型特点 List 操作命令 LPUSH LPUSHX RPUSH RPUSHX LRANGE LPOP RPOP LINDEX LINSERT LREM LTRIM LSET 阻塞版本的命令 阻塞版本 和 非阻塞版本的区别 BLPOP & BRPOP List 类型基本概念 Redis 中的列表&#xff08;list&am…...

【Web】vulhub-httpd apache解析漏洞复现(1)

目录 ①CVE-2017-15715 ②apache_parsing_vulnerability ①CVE-2017-15715 贴出源码&#xff1a; <?php if(isset($_FILES[file])) {$name basename($_POST[name]);$ext pathinfo($name,PATHINFO_EXTENSION);if(in_array($ext, [php, php3, php4, php5, phtml, pht]))…...

市场复盘总结 20240103

仅用于记录当天的市场情况,用于统计交易策略的适用情况,以便程序回测 短线核心:不参与任何级别的调整 昨日回顾: 方法一:指标选股 select * from dbo.ResultAll where 入选类型 like %指标选股% and 入选日期=20240103;方法二:趋势选股法 1、最低价持续3日上涨 2、均价…...

Java技术栈 —— Redis的雪崩、穿透与击穿

Java技术栈 —— Redis的雪崩、穿透与击穿 〇、实验的先导条件&#xff08;NginxJmeter&#xff09;一、Redis缓存雪崩、缓存穿透、缓存击穿1.1 雪崩1.2 穿透1.3 击穿 二、Redis应用场景——高并发2.1 单机部署的高并发问题与解决&#xff08;JVM级别锁&#xff09;2.2 集群部署…...

一个完整网站开发/汕头seo推广外包

每个 PAT 考生在参加考试时都会被分配两个座位号&#xff0c;一个是试机座位&#xff0c;一个是考试座位。正常情况下&#xff0c;考生在入场时先得到试机座位号码&#xff0c;入座进入试机状态后&#xff0c;系统会显示该考生的考试座位号码&#xff0c;考试时考生需要换到考试…...

网站建设 提案 框架/百度店铺注册

在线QQ客服&#xff1a;1922638专业的SQL Server、MySQL数据库同步软件当我们不确定数据结构字段或混乱时&#xff0c;很难根据一个概念提取数据。什么数据库适合使用&#xff1f;答案是什么&#xff1f;如果使用传统数据库&#xff0c;则必须保留额外的字段&#xff0c;其中10…...

中国建设银行亚洲网站/苏州百度

一篇文章带你打开C的大门 本文为博主复习完C基础知识后总结的知识点&#xff0c;重要知识点都有简单demo示例。欢迎点赞收藏&#xff0c;思维导图层级太多&#xff0c;页面上放不下&#xff0c;若有需要直接私信哦。 1. 整体知识网络 C是建立在C语言基础上的开发语言&#xff…...

满城做网站电话/口碑营销的经典案例

前篇回顾 上篇介绍了linux下C编程基本环境配置以及相关工具使用选择。 不过10个大牛9个用vim&#xff0c;那么咱们就来玩vim。linux下玩c就别依靠图形界面。好吧告别Ide,命令行才是c的王道。 本篇文章感谢名为孙鹤同学的技术支持 感谢有爱的c大牛们 本文中多处使用vim插件&…...

网站硬件需求/免费拓客软件

背景在开发过程中&#xff0c;我们的软件会面对不同的运行环境&#xff0c;比如开发环境、测试环境、生产环境&#xff0c;而我们的软件在不同的环境中&#xff0c;有的配置可能会不一样&#xff0c;比如数据源配置、日志文件配置、以及一些软件运行过程中的基本配置&#xff0…...

宛城区网站推广/网站推广怎么写

age年龄(int类型)有0-100岁&#xff0c;比如我想查询20-30和40-50岁的人&#xff1a;"range": {"field": "age","ranges": [{"from": 20,"to": 30},{"from": 40,"to": 50}]}我首先想到的是这…...