Java
文章平均质量分 65
Sancean
Keep going
展开
-
SpringSecurity
文章目录Spring Security1.SpringSecurity 框架简介1.2 框架对比2.SpringSecurity 入门案例2.1 创建springboot项目2.2 编写controller2.3运行这个项目3.SpringSecurity 基本原理3.1UserDetailsService 接口讲解3.2 PasswordEncoder 接口讲解4.SpringSecurity Web 权限方案4.1设置登录系统的账号、密码4.2实现数据库认证来完成用户登录4.3 基于角色或权限进行访问控原创 2022-05-26 23:56:34 · 689 阅读 · 0 评论 -
Mybatis-plus
文章目录Mybatis-plus一、入门案例1、开发环境2、创建数据库及表a>创建表b>添加数据3、创建Spring Boot工程a>初始化工程b>引入依赖4、编写代码a>配置application.ymlb>启动类c>添加实体d>添加mappere>测试f>添加日志二、基本CRUD1、BaseMapper2、插入3、删除a>通过id删除记录b>通过id批量删除记录c>通过map条件删除记录4、修改5、查询a>根据id查询用原创 2022-05-15 14:25:39 · 1334 阅读 · 0 评论 -
Springboot2
文章目录springboot2一、入门1 、系统要求1.1 maven设置2 、HelloWorld2.1、 创建maven工程2.2 、引入依赖2.3、创建主程序2.4、编写业务2.5、测试2.6、简化配置2.7、简化部署二、自动配置原理1、SpringBoot特点1.1、依赖管理1.2、自动配置2、容器功能2.1、组件添加2.2、原生配置文件引入2.3、配置绑定3.1、引导加载自动配置类3.2、按需开启自动配置项3.3、修改默认配置总结:3.4、最佳实践4、开发小技巧4.1、Lombok4.2、dev-原创 2022-05-15 14:21:55 · 1172 阅读 · 1 评论 -
Spring5框架
Spring5框架文章目录Spring5框架概述小案例IOC什么是IOC底层原理IOC(beanfactory接口)IOC操作Bean管理什么是Bean管理Bean管理操作两种方式基于 xml 配置文件方式实现使用set方法进行注入使用有参数构造进行注入p名称空间注入(了解)注入其他类型属性注入集合属性FactoryBeanbean作用域(单实例多实例)bean生命周期xml自动装配外部属性文件基于注解方式什么是注解针对Bean管理中创建对象提供注解基于注解方式实现对象创建属性注入完全注解开发AOP什么是原创 2022-05-15 14:02:19 · 320 阅读 · 0 评论 -
MyBatis
一、MyBatis简介1、MyBatis历史MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下, iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github。iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。 iBatis提供的持久层框架包括SQL Maps和Dat原创 2022-04-05 17:40:46 · 1203 阅读 · 0 评论 -
SpringMVC
文章目录一、SpringMVC简介1、什么是MVC2、什么是SpringMVC3、SpringMVC的特点二、HelloWorld1、开发环境2、创建maven工程a>添加web模块b>打包方式:warc>引入依赖3、配置web.xmla>默认配置方式b>扩展配置方式4、创建请求控制器5、创建springMVC的配置文件6、测试HelloWorlda>实现对首页的访问b>通过超链接跳转到指定页面7、总结三、@RequestMapping注解1、@RequestMap原创 2022-04-02 17:58:19 · 595 阅读 · 0 评论 -
IOC(控制反转)与DI(依赖注入)
IOC(控制反转)与DI(依赖注入)原创 2022-02-12 17:49:20 · 280 阅读 · 0 评论 -
AJAX请求
AJAX请求什么是AJAX请求AJAX 即“AsynchronousJavascriptAndXML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。ajax 是一种浏览器通过 js 异步发起请求,局部更新页面的技术,Ajax 请求的局部更新,浏览器地址栏不会发生变化局部更新不会舍弃原来页面的内容。原生AJAX请求的示例<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http原创 2022-02-06 20:32:31 · 701 阅读 · 0 评论 -
JSON.
JSON什么是 JSON?JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。JSON 采用完全独立于语言的文本格式,而且很多语言都提供了对 json 的支持(包括 C, C++, C#, Java, JavaScript, Perl, Python 等)。 这样就使得 JSON 成为理想的数据交换格式。json 是一种轻量级的数据交换格式,轻量级指的是跟 xml 做比较,数据交换指的是客户端和服务器之间业务数据的原创 2022-02-06 15:03:44 · 120 阅读 · 0 评论 -
Filter和 ThreadLocal组合管理事务
Filter和 ThreadLocal组合管理事务注意!一定要把MySQL的引擎改成InnoDB,只有InnoDB支持事务。创建数据表的时候数据库引擎默认用的是MyISAM不支持事务。修改my.ini中的default-storage-engine=INNODB在未修改引擎前创建的表也需要修改引擎设置alter table table_name engine=innodb;使用 ThreadLocal 来确保所有 dao 操作都在同一个 Connection 连接对象中完成JdbcUtils原创 2022-02-06 10:42:45 · 1152 阅读 · 0 评论 -
ThreadLocal
ThreadLocalThreadLocal 的作用,它可以解决多线程的数据安全问题。ThreadLocal 它可以给当前线程关联一个数据(可以是普通变量,可以是对象,也可以是数组,集合)。ThreadLocal 的特点:ThreadLocal 可以为当前线程关联一个数据。(它可以像 Map 一样存取数据,key 为当前线程)每一个 ThreadLocal 对象,只能为当前线程关联一个数据,如果要为当前线程关联多个数据,就需要使用多个ThreadLocal 对象实例。每个 ThreadLoc原创 2022-02-05 15:53:54 · 114 阅读 · 0 评论 -
Filter过滤器
Filter过滤器什么是Filter过滤器Filter 过滤器它是 JavaWeb 的三大组件之一。三大组件分别是:Servlet 程序、Listener 监听器、Filter 过滤器Filter 过滤器它是 JavaEE 的规范。也就是接口Filter 过滤器它的作用是:拦截请求,过滤响应。拦截请求常见的应用场景有:权限检查日记操作事务管理……等等Filter的使用要求:在你的 web 工程下,有一个 admin 目录。这个 admin 目录下的所有资源(html原创 2022-02-05 13:35:50 · 114 阅读 · 0 评论 -
解决表单重复提交
解决表单重复提交表单重复提交有三种常见的情况:提交完表单。服务器使用请求转来进行页面跳转。这个时候,用户按下功能键 F5,就会发起最后一次的请求。造成表单重复提交问题。解决方法:使用重定向来进行跳转用户正常提交服务器,但是由于网络延迟等原因,迟迟未收到服务器的响应,这个时候,用户以为提交失败, 就会着急,然后多点了几次提交操作,也会造成表单重复提交。用户正常提交服务器。服务器也没有延迟,但是提交完成后,用户回退浏览器。重新提交。也会造成表单重复 提交。使用验证码解决谷歌kaptcha图片验原创 2022-02-02 16:39:17 · 2097 阅读 · 0 评论 -
Session会话
Session会话什么是 Session 会话Session 就一个接口(HttpSession)。Session 就是会话。它是用来维护一个客户端和服务器之间关联的一种技术。每个客户端都有自己的一个 Session 会话。Session 会话中,我们经常用来保存用户登录之后的信息。如何创建 Session和获取(id号,是否为新)如何创建和获取 Session,它们的 API 是一样的。request.getSession()第一次调用是:创建 Session 会话之后调用都是:原创 2022-02-01 17:00:36 · 114 阅读 · 0 评论 -
Cookie
Cookie什么是 Cookie?Cookie 翻译过来是饼干的意思。Cookie 是服务器通知客户端保存键值对的一种技术。客户端有了 Cookie 后,每次请求都发送给服务器。每个 Cookie 的大小不能超过 4kb如何创建 Cookieservlet:protected void createCookie(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOExc原创 2022-02-01 15:03:48 · 106 阅读 · 0 评论 -
MVC概念
MVCMVC 全称:Model 模型、 View 视图、 Controller 控制器。MVC 最早出现在 JavaEE 三层中的 Web 层,它可以有效的指导 Web 层的代码如何有效分离,单独工作。View 视图:只负责数据和界面的显示,不接受任何与显示数据无关的代码,便于程序员和美工的分工合作——JSP/HTML。Controller 控制器:只负责接收请求,调用业务层的代码处理请求,然后派发页面,是一个“调度者”的角色——Servlet。转到某个页面。或者是重定向到某个页面。Mo原创 2022-01-29 14:33:41 · 927 阅读 · 0 评论 -
文件上传与下载
文件上传与下载文件的上传和下载,是非常常见的功能。很多的系统中,或者软件中都经常使用文件的上传和下载。如:QQ 头像,就使用了上传。邮箱中也有附件的上传和下载功能。OA 系统中审批有附件材料的上传。文件的上传要有一个 form 标签,method=post 请求form 标签的 encType 属性值必须为 multipart/form-data 值在 form 标签中使用 input type=file 添加上传的文件编写服务器代码(Servlet 程序)接收,处理上传的数据。原创 2022-01-26 14:17:37 · 376 阅读 · 0 评论 -
EL表达式与JSTL标签库
EL表达式什么是 EL表达式,EL表达式的作用?EL 表达式的全称是:Expression Language。是表达式语言。EL 表达式的什么作用:EL 表达式主要是代替 jsp 页面中的表达式脚本在 jsp 页面中进行数据的输出。因为 EL 表达式在输出数据的时候,要比 jsp 的表达式脚本要简洁很多。<body><% request.setAttribute("key","值"); %>表达式脚本输出 key 的值是:<%=request.getA原创 2022-01-25 17:33:59 · 272 阅读 · 0 评论 -
JSP(Java Server Pages)
JSP什么是 JSP,它有什么用?jsp 的全换是 java server pages。Java 的服务器页面。 jsp 的主要作用是代替 Servlet 程序回传 html 页面的数据。因为 Servlet 程序回传 html 页面数据是一件非常繁锁的事情。开发成本和维护成本都极高。Servlet 回传 html 页面数据的代码:public class PringHtml extends HttpServlet {@Overrideprotected void doGet(HttpServ原创 2022-01-24 19:41:46 · 544 阅读 · 0 评论 -
JavaEE 项目的三层架构
分层的目的是为了解耦。解耦就是为了降低代码的耦合度。方便项目后期的维护和升级。原创 2022-01-22 15:01:38 · 421 阅读 · 1 评论 -
Servlet
Servlet什么是 ServletServlet 是 JavaEE 规范之一。规范就是接口Servlet 就 JavaWeb 三大组件之一。三大组件分别是:Servlet 程序、Filter 过滤器、Listener 监听器。Servlet 是运行在服务器上的一个 java 小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。手动实现 Servlet 程序编写一个类去实现 Servlet 接口实现 service 方法,处理请求,并响应数据到 web.xml 中去配置 ser原创 2022-01-22 14:00:31 · 133 阅读 · 0 评论 -
HTML、CSS、Javascript、jQuery、Xml
HTMLHTML简介Hyper Text Markup Language (超文本标记语言)简写:HTML。通过标签来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容(如:文字如何处理,画面如何安排,图片如何显示等)代码示例:<!DOCTYPE html> <!--约束,声明--><html lang="en"> <!--htmL标签表示htmL的开始,lang="zh_CN"表示中文h原创 2022-01-14 16:07:33 · 518 阅读 · 0 评论 -
JDBC技术
JDBC一、JDBC概述数据的持久化持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成。持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中。Java中的数据存储技术在Java中,数据库存取技术可分为如下几类:JDBC直接访问数据库JDO (Java Data O原创 2021-11-23 23:05:52 · 261 阅读 · 0 评论 -
【Java】Java8新特性
文章目录Java8新特性Lambda表达式的使用语法格式一:无参,无返回值语法格式二:Lambda 需要一个参数,但是没有返回值。语法格式三:数据类型可以省略,因为可由编译器推断得出,称为“类型推断”语法格式四:Lambda 若只需要一个参数时,参数的小括号可以省略语法格式五:Lambda 需要两个或以上的参数,多条执行语句,并且可以有返回值语法格式六:当 Lambda 体只有一条语句时,return 与大括号若有,都可以省略总结函数式(Functional)接口java内置的4大核心函数式接口其他接口方法原创 2021-08-24 14:13:27 · 166 阅读 · 0 评论 -
【Java】反射
反射概述Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过这个镜子看到类的结构,所以,我们形象的称之为:反射。正常方式:引入需要的”包类”名称------>通过new实例化------转载 2021-08-22 13:50:56 · 98 阅读 · 0 评论 -
【Java】简单了解网络编程
文章目录网络编程网络编程中有两个主要的问题网络编程中的两个要素通信要素一:IP和端口号实例化InetAddress两个常用方法端口号通信要素二:网络通信协议实现TCP的网络编程例子1:客户端发送信息给服务端,服务端将数据显示在控制台上例题2:客户端发送文件给服务端,服务端将文件保存在本地例题3:从客户端发送文件给服务端,服务端保存到本地。并返回“发送成功”给客户端,并关闭相应的连接。UDP协议的网络编程URL编程URL网络编程实现Tomcat服务端数据下载网络编程网络编程中有两个主要的问题1.如何准确原创 2021-08-21 14:10:47 · 139 阅读 · 0 评论 -
【Java】IO
文章目录IO说明流的分类关于相对路径节点流FileRead对read()操作升级:使用read的重载方法总结FileWriter复制操作总结FileInput(Output)Stream实现对图片的复制操作指定路径下文件的复制总结处理流(缓冲流)BufferedInputStream(OutputStream)BufferedReader(Writer)总结处理流(转换流)字符集标准的输入输出流练习打印流数据流DataInputStream中的方法DataOutputStream的方法练习对象流对象的序列化转载 2021-08-20 13:04:53 · 126 阅读 · 0 评论 -
【Java】File类
File类File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹)File类声明在java.io包下File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法,并未涉及到写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用IO流来完成。后续File类的对象常会作为参数传递到流的构造器中,指明读取或写入的"终点".路径分隔符相对路径:相较于某个路径下,指明的路径。绝对路径:包含盘符在内的文件或文件目录的路径路径中的每级目录之间用一个路径分隔符隔开原创 2021-08-18 15:28:18 · 113 阅读 · 0 评论 -
【Java】泛型
文章目录泛型为什么要有泛型在集合中使用泛型如何自定义泛型结构自定义泛型类、接口泛型方法泛型在继承方面的体现通配符的使用有限制条件的通配符的使用泛型为什么要有泛型集合容器类在设计阶段/声明阶段不能确定这个容器到底实际存的是什么类型的对象,所以在JDK1.5之前只能把元素类型设计为Object,JDK1.5之后使用泛型来解决。因为这个时候除了元素的类型不确定,其他的部分是确定的,因此此时把元素的类型设计成一个参数,这个类型参数叫做泛型。Collection,List,ArrayList 这个就是类型参数,原创 2021-08-18 13:19:09 · 116 阅读 · 0 评论 -
【Java】Collections
文章目录Collectionsreverse(List)shuffle(List)sort(List)sort(List,Comparator)swap(List,int, int)Object max(Collection)Object max(Collection,Comparator)Object min(Collection)Object min(Collection,Comparator)int frequency(Collection,Object)void copy(List dest,Lis原创 2021-08-17 13:10:35 · 95 阅读 · 0 评论 -
【Java】集合
文章目录集合框架的概述数组在存储多个数据方面的特点数组在存储多个数据方面的缺点集合框架Collection接口中的方法的使用add(Object e)size()addAll(Collection coll1)clear()isEmpty()contains(Object obj)containsAll(Collection coll1)remove(Object obj)removeAll(Collection coll1)retainAll(Collection coll1)equals(Object原创 2021-08-17 13:06:53 · 136 阅读 · 0 评论 -
【Java】注解Annotation
注解 Annotation理解Annotationjdk 5.0 新增的功能Annotation 其实就是代码里的特殊标记, 这些标记可以在编译, 类加载, 运行时被读取, 并执行相应的处理。通过使用 Annotation,程序员可以在不改变原有逻辑的情况下, 在源文件中嵌入一些补充信息。在JavaSE中,注解的使用目的比较简单,例如标记过时的功能,忽略警告等。在JavaEE/Android中注解占据了更重要的角色,例如用来配置应用程序的任何切面,代替JavaEE旧版中所遗留的繁冗代码和XML配置原创 2021-08-13 11:36:28 · 150 阅读 · 1 评论 -
【Java】枚举类
文章目录枚举类的使用如何定义枚举类方式一:jdk5.0之前,自定义枚举类方式二:jdk5.0,可以使用enum关键字定义枚举类Enum类的主要方法toString()values()valueOf(String objName)使用enum关键字定义的枚举类实现接口的情况情况一:实现接口,在enum类中实现抽象方法情况二:让枚举类的对象分别实现接口中的抽象方法枚举类的使用枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类当需要定义一组常量时,强烈建议使用枚举类如果枚举类中只有一个对象,则转载 2021-08-12 16:00:13 · 1640 阅读 · 2 评论 -
【Java常用类】BigDecimal
BigDecimal一般的Float类和Double类可以用来做科学计算或工程计算,但在商业计算中, 要求数字精度比较高,故用到java.math.BigDecimal类。BigDecimal类支持不可变的、任意精度的有符号十进制定点数。构造器public BigDecimal(double val)public BigDecimal(String val)常用方法public BigDecimal add(BigDecimal augend)//加public BigDecimal s原创 2021-08-12 12:29:12 · 140 阅读 · 0 评论 -
【Java常用类】BigInteger
BigIntegerInteger类作为int的包装类,能存储的最大整型值为231-1,Long类也是有限的, 最大为263-1。如果要表示再大的整数,不管是基本数据类型还是他们的包装类 都无能为力,更不用说进行运算了。java.math包的BigInteger可以表示不可变的任意精度的整数。BigInteger 提供所有 Java 的基本整数操作符的对应物,并提供 java.lang.Math 的所有相关方法。 另外,BigInteger 还提供以下运算:模算术、GCD 计算、质数测试、素数生成、原创 2021-08-12 12:14:48 · 198 阅读 · 0 评论 -
【Java常用类】Math
Math说明java.lang.Math提供了一系列静态方法用于科学计算。其方法的参数和返回值类型一般为double型。方法abs 绝对值acos,asin,atan,cos,sin,tan 三角函数sqrt 平方根pow(double a,doble b) a的b次幂log 自然对数exp e为底指数max(double a,double b)两个数中最大的min(double a,double b)两个数中最小的random() 返回0.0到1.0的随机数原创 2021-08-12 12:09:13 · 108 阅读 · 0 评论 -
【Java常用类】System
SystemSystem类代表系统,系统级的很多属性和控制方法都放置在该类的内部。 该类位于java.lang包。由于该类的构造器是private的,所以无法创建该类的对象,其内部的成员变量和成员方法都是static的,所以也可以很方便 的进行调用。System类内部包含in、out和err三个成员变量,分别代表标准输入流(键盘输入),标准输出流(显示器)和标准错误输出流(显示器)。方法native long currentTimeMillis():该方法的作用是返回当前的计算机时间,时间的表达格式转载 2021-08-12 12:03:18 · 100 阅读 · 0 评论 -
【Java】comparable、comparator
comparable、comparator接口说明Java中的对象,正常情况下,只能进行比较:== 或 != 。不能使用 > 或 < 的,但是在开发场景中,我们需要对多个对象进行排序,言外之意,就需要比较对象的大小。如何实现?使用两个接口中的任何一个:Comparable 或 ComparatorComparable接口的使用举例: 自然排序像String、包装类等实现了Comparable接口,重写了compareTo(obj)方法,给出了比较两个对象大小的方式。像Stri原创 2021-08-12 11:26:50 · 96 阅读 · 0 评论 -
【Java常用类】DateTimeFormatter
DateTimeFormatter方式一:预定义的标准格式实例化如:ISO_LOCAL_DATE_TIME;ISO_LOCAL_DATE;ISO_LOCAL_TIMEDateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;格式化:日期–>字符串 LocalDateTime localDateTime = LocalDateTime.now(); String str1 = formatter.f原创 2021-08-12 09:50:43 · 3396 阅读 · 0 评论 -
【Java常用类】Instant:瞬时
Instant:瞬时时间线上的一个瞬时点。 这可能被用来记录应用程序中的事件时间戳,该类型是面向机器的。now():获取本初子午线对应的标准时间 Instant instant = Instant.now(); System.out.println(instant);//2019-02-18T07:29:41.719Z //添加时间的偏移量 OffsetDateTime offsetDateTime = instant.atOffset(ZoneOffset.ofHours(原创 2021-08-12 09:24:35 · 849 阅读 · 0 评论