自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(122)
  • 收藏
  • 关注

原创 Shiro

身份认证,就是判断一个用户是否为合法用户的处理过程。最常用的简单身份认证方式是系统通过核对用户输入的用户名和口令,看其是否与系统中存储的该用户的用户名和口令一致,来判断用户身份是否正确。

2023-07-20 11:06:34 166

原创 SpringBoot的工作流程

springboot是spring家族中的一个全新框架,用来简化spring程序的创建和开发过程。在以往我们通过SpringMVC+Spring+Mybatis框架进行开发的时候,我们需要配置web.xml,spring配置,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。mybatis配置,然后整合在一起,而springboot抛弃了繁琐的xml配置过程,采用大量默认的配置来简化我们的spring开发过程。

2023-07-20 10:28:41 417

原创 SpringBoot默认可以识别JSP文件吗

微服务架构,所有项目都是以jar文件方式打包部署,嵌入式的Tomcat(简化版,不支持JSP),所以SpringBoot默认是不支持JSP的,那么如果想要整合JSP,就需要独立引入整合依赖,和基础配置。SpringBoot 默认存放模版文件的路径为 src/main/resources/templates,但由于SpringBoot默认是不支持JSP的,所以我们不能将JSP文件放在templates目录下。注:1.本人用的是yml文件的配置形式,所以各位看到是这个格式;1.为项目添加servlet等依赖;

2023-06-06 17:42:53 318 1

原创 约定大于配置的理解

的约定大于配置,按我的理解是:对比SpringMVC,需要在web.xml里面配置前端控制器,还需要在核心配置文件(*-servlet.xml)中配置视图解析器啥的,更要配置第三方的Tomcat服务器。约定大于配置,convention over configuration,也叫按约定编程,是一种软件设计范式,约定大于配置就是一种开发原则,就是为了减少人为的配置,能使用默认配置就使用默认配置,默认配置其实就是所谓的“约定”。

2023-06-06 17:37:12 187

原创 什么是pom文件

pluginManagement中有子元素plugins,它和project下的直接子元素plugins的区别是,pluginManagement主要是用来声明子项目可以引用的默认插件信息,这些插件如果只写在pluginManagement中是不会被引入的。在Maven中,POM文件是项目的“脊梁”,所有的操作都是基于POM文件进行的。parent元素可以指定父pom。packaging:这是项目产生的构件类型,即项目通过maven打包的输出文件的后缀名,包括jar、war、ear、pom等。

2023-06-06 17:36:34 1420

原创 什么是Maven

Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。核心功能Maven的核心功能是合理叙述项目间的依赖关系,通俗点 就是通过pom.xml文件的配置获取jar包不用手动的去添加jar包,,这个pom.xml包我后面会叙述,不过已经学习过maven的 人应该对这个很熟悉。其本质就是通过配置pom.xml来获取jar包,当然这是在该项目必须是maven项目的前提下。那么什么是maven项目maven项目是啥?

2023-06-06 17:32:25 781

原创 SSM和SpringBoot框架对比

而Spring Boot是由Spring官方推出基于Spring的开发框架,这个框架里包含很多的子产品(Spring子产品如Spring、SpringMVC、Spring-Data-Jpa及其它第三方的产品),而且还提供了内置的Tomcat。在开发中的区别还是存在的,虽然springboot简化了配置,但并不代表不需要编写配置文件,还是需要在自带的application.yml文件中去编写一些内容,只不过编写的方式变得简单了,虽然简单了,但是和SSM整合的方式还有些区别。

2023-06-06 17:28:15 786

原创 解决:nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘xxx‘ not found........

解决:请求异常:nested exception is org.apache.ibatis.binding.BindingException: Parameter 'fId' not found. Available parameters are [teacherInfo, page, param1, param2] ==================Detail===> []

2023-06-06 17:15:18 1356

原创 CMOS与BIOS

CMOS又被称作互补金属氧化物半导体,电压控制的一种放大器件,是组成CMOS数字集成电路的基本单元。在计算机领域,CMOS常指保存计算机基本启动信息(如日期、时间、启动设置等)的芯片。有时人们会把CMOS和BIOS混称,其实CMOS是主板上的一块可读写的并行或串行FLASH芯片,是用来保存BIOS的硬件配置和用户对某些参数的设定。在今日,CMOS制造工艺也被应用于制作数码影像器材的感光元件,尤其是片幅规格较大的单反数码相机。BIOS是就是基本输入输出系统。在IBM PC兼容系统上,是一种业界标准的固件接口。

2023-05-18 14:14:01 271

原创 Restful风格

使请求路径变得更加简洁传递、获取参数值更加方便,框架会自动进行类型转换通过路径变量@PathVariable的类型,可以约束访问参数。若参数值与定义类型不匹配,则访问不到对应的方法,报错400错误的请求。安全,请求路径中直接传递参数值,并用斜线/分隔,不会暴露传递给方法的参数变量名。高效,更易于缓存的实现,让响应更加高效。

2023-05-18 14:00:49 106

原创 Spring的主要功能有哪些

所谓控制反转就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的。这样控制权就由应用转移到了外部容器,控制权的转移就是所谓反转。Spring是一个开源的控制反转(Inversion of Control, IoC)和面向切面(AOP)的容器框架,它的主要目的是简化企业开发。为代码解耦,降低代码间的耦合度,就是让对象和对象之间关系不是使用代码关联,而是通过配置来说明。

2023-05-18 13:43:57 164

原创 MyBatis的核心对象

对于多应用共享同一数据库的系统而言,可在应用层通过数据库连接的配置,实现数据库连接池技术,几年钱也许还是个新鲜话题,对于目前的业务系统而言,如果设计中还没有考虑到连接池的应用,那么……对于业务请求处理而言,直接利用现有可用连接,避免了数据库连接初始化和释放过程的时间开销,从而缩减了系统整体响应时间。在减少系统消耗的基础上,另一方面也增进了系统运行环境的平稳性(减少内存碎片以及数据库临时进程/线程的数量)。在较为完备的数据库连接池实现中,可根据预先的连接占用超时设定,强制收回被占用连接。

2023-05-18 13:43:45 54

原创 resultType=java.util.Map的存储原理

resultType 返回类型为 java.util.Map时,如果查询出来的字段(包括别名)值为空时,mybaitis是不会映射到的,也就是你的map对象不会有值为null时的这个属性。一个Map相当于一个对象,那么如果返回多个对象时,对应的Mapper接口中的返回值类型就应该写成List所以当 resultType="java.util.Map" 时,不用在多表关联中配置对应的关系,SQL随意写,直接获得返回的属性值。多表联查比较方便的 ~

2023-05-18 13:43:27 1205

原创 动态SQL

动态SQL就是根据不同的条件生成不同的sql语句。所谓的动态sql,本质还是sql语句,只是我们在sql层面,去执行一个逻辑代码。动态sql就是拼接sql语句,我们只有保证sql正确性,按照sql的格式,去排列组合就可以了。sql的内容是变化的, 可以根据条件获取到不同的sql语句.主要是where部分发生变化。动态sql的实现, 使用的是mybatis提供的标签1 为什么需要动态SQL?

2023-05-17 18:47:38 78

原创 ORM

4.易用:ORM包含对持久类对象进行CRUD操作的API,例如create(), update(), save(), load(), find(), find_all(), where()等,也就是讲sql查询全部封装成了编程语言中的函数,通过函数的链式组合生成最终的SQL语句。ORM框架是连接数据库的桥梁,只要提供了持久化类与表的映射关系,ORM框架在运行时就能参照映射文件的信息,把对象持久化到数据库中。比如ORM会将MySQL的一张表映射成一个Java类(模型),表的字段就是这个类的成员变量。

2023-05-17 18:31:37 45

原创 Web.xml文件

web.xml文件,tomcat会输出找不到的消息,但仍然会部署并使用web应用程序,因此,这个web.xml并不是必要的,不过通常最好还是让每一个上线的web应用程序都有一个自己的WEB-INF/web.xml。tomcat在部署启动web应用时,会解析加载${CATALINA_HOME}/conf目录下所有web应用通用的web.xml,然后解析加载web应用目录中的WEB-INF/web.xml。Web.xml是Java Web项目中的一个配置文件,主要用于配置首页。

2023-05-17 18:27:50 138

原创 过滤器Filter的实现

WebFilter 用于将一个类声明为过滤器,该注解将会在部署时被容器处理,容器将根据具体的属性配置将相应的类部署为过滤器。该注解具有下表给出的一些常用属性 ( 以下所有属性均为可选属性,但是 value、urlPatterns、servletNames 三者必需至少包含一个,且 value 和 urlPatterns 不能共存,如果同时指定,通常忽略 value 的取值 )实现Filter类,使用@Configuration注解,用配置bean的方式装配。1.实现Filter类,使用@

2023-05-17 18:20:55 267

原创 JSP作用域

如果把变量放到session里,就说明它的作用域是session,它的有效范围是当前会话,即从用户打开浏览器开始,到用户关闭浏览器这中间的过程。如果把变量放到request里,就说明它的作用域是request,它的有效范围是当前请求周期。如果把变量放到pageContext里,就说明它的作用域page,它的有效范围只在当前jsp页面里。jsp中的四大作用域,分别是page(页面作用域)、request(请求作用域)、session(会话作用域)、application(应用程序作用域)

2023-05-17 18:14:40 108

原创 JSP

JSP是Servlet的扩展,在没有JSP之前,就已经出现了Servlet技术。当浏览器请求JSP页面时,JSP引擎会首先去检查是否需要编译这个文件。如果这个文件没有被编译过,或者在上次编译后被更改过,则编译这个JSP文件。JSP 基于Java Servlet API,因此,JSP拥有各种强大的企业级Java API。服务器调用的是已经编译好的JSP文件,而不像CGI/Perl那样必须先载入解释器和目标脚本。当JSP网页完成初始化后,JSP引擎将会调用_jspService()方法。

2023-05-17 18:09:30 60

原创 TCP/IP参考模型

物理层主要协议有TCP,UDP,SPX等。不同的是OSl参考模型划分7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP参考模型最多划分了5个层次,分别是物理层,数据链路层、网络层、传输层和应用层,将OSI参考模型中的高三层合并为一层统称应用层。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。

2023-05-17 18:03:41 80

原创 OSI模型

OSI参考模型也采用了分层结构技术,把一个网络系统分成若干层,每一层都去实现不同的功能,每一层的功能都以协议形式正规描述,协议定义了某层同远方一个对等层通信所使用的一套规则和约定。每一层向相邻上层提供一套确定的服务,并且使用与之相邻的下层所提供的服务。OSI划分的七个层次由高到低依次为:Application(应用层)、Presentation(表示层)、Session(会话层)、Transport(传输层)、Network(网络层)、DataLink(数据链路层)和Physical(物理层)。

2023-05-17 18:00:58 50

原创 Redis持久化的区别

6、因为采用了追加方式,如果不做任何处理的话,AOF文件会变得越来越大,为此,redis提供了AOF文件重写(rewrite)机制,即当AOF文件的大小超过所设定的阈值时,redis就会启动AOF文件的内容压缩,只保留可以恢复数据的最小指令集。与MySQL数据库不同的是,Redis的数据是存在内存中的。4、默认的AOF持久化策略是每秒钟fsync一次(fsync是指把缓存中的写指令记录到磁盘中),因为在这种情况下,redis仍然可以保持很好的处理性能,即使redis故障,也只会丢失最近1秒钟的数据。

2023-05-17 17:58:46 247

原创 Oracle与MySQL的区别

Oracle提供不同类型的备份工具,如冷备份,热备份,导出,导入,数据泵。2、MySQL的另一个主要的途径之一是缺乏标准的RI(Referential Integrity-RI)机制,RI限制的缺乏(在给定字段域上的一种固定的范围限制)可以通过大量的数据类型来补偿;保证提交的数据均可恢复,因为oracle把提交的sql操作线写入了在线联机日志文件中,保持到了磁盘上,如果出现数据库或主机异常重启,重启后oracle可以考联机在线日志恢复客户提交的数据。与MySQL相比,Oracle的使用情况有所不同。

2023-05-17 17:53:02 1189

原创 Map集合

参数,一个是K表示键,一个是V表示值,且一个键有且对应一个值,Map中不能包含重复的。Map是一个接口,我们不能直接创建对象,可以通过多态的形式创建对象,Map中有两个。键,若是有重复的键添加,则会以最后一次的键为准,而其他的键会被覆盖。具体实现常用的一般有两种,一是HashMap,另一个是TreeMap。java.util包下,所以需要导包。

2023-04-14 10:05:19 28

原创 Java集合框架

算法:在一个实现了某个集合框架中的接口的对象身上完成某种有用的计算的方法,例如查找、排序等。这些算法通常是多态的,因为相同的方法可以在同一个接口被多个类实现时有不同的表现。集合框架通过提供有用的数据结构和算法使你能集中注意力于你的程序的重要部分上,而不是为了让程序能正常运转而将注意力于低层设计上。对象的个数确定可以使用数组,对象的个数不确定的可以用集合。因为集合是可变长度的。任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。

2023-04-14 09:57:34 67

原创 JavaScript和jQuery的各标签选取方式?

3.jquery通过标签名$(" ")获取标签 ,返回的也是一个类数组,如果有相同标签需要有索引[ ]来查找。注:在原生js获取元素中除了获取id,其它获取返回的大部分都是类数组,都可以使用索引来获取想要的标签。(类数组不是一个真的数组,但是他和数组一样,也满足数组里的属性,也需要索引[]去获取想要的标签)2.jquery通过Class $(".class")获取标签。1.jquery通过ID $("#id") 获取标签。找的相同标签时,用索引查找,返回值也是类数组。2.获取标签的class。

2023-04-14 09:12:38 614

原创 JavaScript和jQuery的关系

—把这个div的背景色设置成为了红色314e251f95cad1c892abb1d6733e6709c93d512a.jpgjQuery里面操作样式的关键字是css例:div.css(“background-color”,“yellow”);——无参数是取值,有参数是赋值。——给这个attr方法加入参数,属性名叫做test,属性的值是aa移除属性:div.removeAttr(“test”);——获取属性jQuery里面用来操作属性的方法:添加属性:div.attr(“test”,“aa”);

2023-04-14 09:02:46 476

原创 常用的数组Api

把数组中的所有元素放入一个字符串:join()——默认每个元素中之间是逗号隔开join("-")——每个元素之间以 - 隔开//默认是逗号,也可以自定义连接符//1,2,3//[1,2,3]数组拼接,连接两个或更多的数组,并返回连接后的数组:eg:查找数组中 "Apple" 的元素, 在数组的第四个位置开始检索:如果数组中没找到指定元素则返回 -1。

2023-04-06 16:48:24 31

原创 Java字符串常量池

若字符串常量池中没有相同的String对象,则当前String对象为堆上对象,故在字符串常量池中存放一个指向堆上此String对象的引用,并返回此引用。方法时,若字符串常量池中有满足String.equals方法的String对象,则返回其引用;若字符串常量池中没有相同的String对象,则当前String对象为堆上对象,故在字符串常量池中创建一个相同的String对象,并返回其引用。字符串池的优点就是避免了相同内容的字符串的创建,节省了内存,省去了创建相同字符串的时间,同时提升了性能;

2023-04-06 16:41:14 383

原创 前端技术都有哪些

在互联网的演化进程中,网页制作是Web1.0时代的产物,早期网站主要内容都是静态,以图片和文字为主,用户使用网站的行为也以浏览为主。随着CSS、JavaScript、Flash等技术的发展,Web对于应用的处理能力逐渐增强,用户浏览网页的体验已经有了较大的改善。掌握HTML是网页的核心,是一种制作万维网页面的标准语言,是万维网浏览器使用的一种语言,它消除了不同计算机之间信息交流的障碍。因此,它是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言,学好HTML是成为Web开发人员的基本条件。

2023-04-06 16:27:43 139

原创 OOP

OOP(Object Oriented Programming)是面向对象编程,就是“万物皆对象”——我们可以尽可能的发挥想象,把现实中的物(包括动物、人物、甚至无生命的事物)抽象为一种计算机语言(比如 Java)能懂的模型,那么接下来,计算机解决现实中的问题就变得简单了起来。一个对象可以通过引用子类的实例来调用子类的方法。封装是指将对象信息状态通过访问权限修饰符隐藏在对象内部,不允许外部程序直接访问,如果外部程序要访问对象内部,可以调用内部提供的get或set方法,对不可信的进行信息隐藏;

2023-04-06 16:18:46 39

原创 引用数据类型

在Java中除了8种基本数据类型外,其他数据类型全部都是引用(reference)数据类型,Java语言的引用数据类型,其实就相当于C语言中的指针类型,引用事实上就是指针,它是指向一个对象的内存地址。而引用数据类型变量中所存储的就是这个内存地址。引用数据类型用来表示复杂数据类型,常见的引用数据类型有:类、接口、数组、枚举等。引用类型常见的有:String、StringBuffer、ArrayList、HashSet、HashMap等。例如:String类就是引用数据类型。

2023-04-06 16:00:48 266

原创 String常用的api

public String substring(int beginIndex, int endIndex) 根据开始和结束索引进行截取,得到新的字符串(包前不包后)public String substring(int beginIndex) 从传入的索引处截取,截取到末尾,得到新的字符串。public String[] split(String regex) 根据传入的规则切割字符串,得到字符串数组返回。charAt(int index) 返回下标所在的cha值(字符)

2023-04-06 15:41:44 148

原创 Java八大基本数据类型

在JVM中并没有提供boolean专用的字节码指令,而boolean类型数据在经过编译后在JVM中会通过int类型来表示,此时boolean数据4字节32位,而boolean数组会被编译成Java虚拟机的byte数组,此时每个boolean数据1字节占8bit。注意,在整数之间进行类型转换时数值不会发生变化,但是当将整数类型特别是比较大的整数类型转换成小数类型时,由于存储精度不同,可能会存在数据精度的损失。当然,在类型转换的时候可以跳跃,也就是byte可以自动转换为int类型,

2023-04-06 15:11:33 628

原创 Maven框架的jar管理方式

Maven是Apache的一款开源的项目管理工具,基于ANT的升级,是全新的自动化构建工具。Maven使用项目对象模型(POM-Project Object Model,项目对象模型)的概念,可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。在Maven中每个项目都相当于是一个对象,对象(项目)和对象(项目)之间是有关系的。关系包含了:依赖、继承、聚合,实现Maven项目可以更加方便的实现导jar包、拆分项目等效果。Maven仓库远程仓库。

2023-03-29 19:03:13 337

原创 Spring boot 接收数组

ApiImplicitParam(name = "userId", value = "卖家用户ID", required = false, dataType = "int", paramType = "query"),@ApiImplicitParam(name = "userId", value = "卖家用户ID", required = false, dataType = "int", paramType = "query"),最后测试发现,使用方式1,通过swagger发送的参数,可以接收到。

2023-03-15 22:07:10 3387

原创 SSM框架和SpringBoot框架的对比

谈springboot之前,咱们要先说一下传统的SSM开发,使用过SSM开发的人都会发现,传统的SSM框架项目会有大量的配置文件,需要手动的区整合三个框架,也就是springmvc、spring、mybatis, 并且需要注意各种配置和兼容,后期的维护难度也很大。在开发中的区别还是存在的,虽然springboot简化了配置,但并不代表不需要编写配置文件,还是需要在自带的application.yml文件中去编写一些内容,只不过编写的方式变得简单了,虽然简单了,但是和SSM整合的方式还有些区别。

2023-03-15 22:02:19 411

原创 Exception 处理

由于 @Component 注解的存在,声明支持Spring的注解驱动查找,所以SpringBoot启动时,可以找到该类,并同时加载该任务计划。声明当前类为Spring下Controller 通知,可以被SpringBoot加载到。通过放置一个静态文件html到特殊目录,实现对应异常的捕获处理。任务计划器,利用cron表达式实现定时任务执行。通过代码创建一个工具类,来实现对异常的捕获处理。只可以处理Controller层内抛出的异常。//全局分类处理异常。//全局分类处理异常。//全局分类处理异常。

2023-03-15 22:00:04 44

原创 SpringBoot整合Quartz

Quartz 是 OpenSymphony 开源组织在 Job Scheduling 领域又一个开源项目,是完全由 Java 开发的一个开源任务日程管理系统,“任务进度管理器”就是一个在预先确定(被纳入日程)的时间到达时,负责执行(或者通知)其他软件组件的系统。Quartz 是一个开源的作业调度框架,它完全由 Java 写成,并设计用于 J2SE 和 J2EE 应用中,它提供了巨大的灵活性而不牺牲简单性当定时任务愈加复杂时,使用 Spring 注解 @Schedule 已经不能满足业务需要。

2023-03-15 21:54:38 380

原创 MyBatis-Plus

Mybatis-Plus 是 MyBatis 的一个增强工具,专门针对于传统MyBatis开发中sql需要手动进行映射配置繁琐缺点的一款框架技术,这款框架技术提供了十分丰富的api供开发者们使用,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis-Plus 已经为我们封装好了一些 CRUD 方法,因此不需要再写 xml SQL语句 文件了,仅仅通过少量配置即可实现单表大部分的CRUD操作。使用时直接只需要调用这些方法就行。

2023-03-15 21:42:16 67

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除