自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JavaEE(23)异步任务、邮件任务、定时任务

1. 异步任务1. 概念:异步处理还是非常常用的,比如我们在网站上发送邮件,后台会去发送邮件,此时前台会造成响应不动,直到邮件发送完毕,响应才会成功,所以我们一般会采用多线程的方式去处理这些任务2. 使用(1)创建一个service包,编写一个AsyncService,编写方法,假装正在处理数据,使用线程设置一些延时,模拟同步等待的情况@Servicepublic class AsyncService { public void hello(){ try {

2021-02-24 18:05:35 311

原创 JavaEE(22)SpringBoot--Swagger

1. Swagger介绍1. 前后端分离(1)前后端分离前端:控制层、视图层后端:控制层、服务层、数据访问层前后端通过API进行交互前后端相对独立且松耦合(2)产生的问题:前后端集成,前端或者后端无法做到“及时协商,尽早解决”,最终导致问题集中爆发2. Swagger介绍号称世界上最流行的API框架Restful Api 文档在线自动生成器 => API 文档 与API 定义同步更新直接运行,在线测试API支持多种语言 (如:Java,PHP等)官网:https://swa

2021-02-22 20:56:33 193

原创 JavaEE(21)SpringBoot--SpringSecurity

1. SpringSecurity1. 介绍:SpringSecurity基于Spring框架,提供了一套Web应用安全性的完整解决方案。一般来说,Web 应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分。用户认证指的是验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统。用户认证一般要求用户提供用户名和密码。系统通过校验用户名和密码来完成认证过程。用户授权指的是验证某个用户是否有权限执行某个操作2. 优点:对于上面提到的两种应用情景,S

2021-02-21 16:52:56 244

原创 JavaEE(20)SpringBoot整合数据库(JDBC,Druid,Mybatis)

1. 整合JDBC1. SpringData(1)介绍:对于数据访问层,无论是 SQL(关系型数据库) 还是 NOSQL(非关系型数据库),Spring Boot 底层都是采用 Spring Data 的方式进行统一处理2. 整合JDBC(1)建立项目:导入JDBC-API和MySQL-Driver(2)编写yml配置文件连接数据库spring: datasource: url: jdbc:mysql://localhost:3306/test driver-class-na

2021-02-20 14:50:02 286

原创 JavaEE(19)SpringBoot-Web开发静态资源处理、Thymeleaf模板引擎

1. 静态资源处理1. 结论(1)在resources文件夹可以存放我们的静态文件(2)在resources --> static下存放首页,命名为index.html2. Thymeleaf模板引擎1. 导入依赖(1)方法1:在建立项目的时候勾选(2)方法2:在建立项目的时候如果没有勾选,就在pom.xml中导入<!--thymeleaf--><dependency> <groupId>org.springframework.boot&l

2021-02-16 18:36:54 227 1

原创 JavaEE(18)SpringBoot入门、yaml语法、JSR303数据校验、多环境切换

1. SpringBoot介绍1. 概念:SpringBoot 基于Spring开发,SpirngBoot本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。SpringBoot以约定大于配置的核心思想,默认帮我们进行了很多设置,多数SpringBoot应用只需要很少的Spring配置。同时它集成了大量常用的第三方库配置(例如

2021-02-16 14:35:43 148

原创 JavaEE(17)Vue(上)

1. Vue1. 第一个Vue程序<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><div id="app"> {{msg}}</div></body></html><sc

2021-01-30 23:39:10 401

原创 JavaEE(16)Ajax、拦截器、文件上传与下载

1. Ajax1. 概念(1)Ajax:Asynchronous JavaScript and XML(异步的 JavaScript 和 XML),是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术(2)Ajax不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术2. 用途(1)注册时,输入用户名自动检测用户是否已经存在(2)登陆时,提示用户名与密码错误(3)删除数据时,将行ID发送给后台,后台在数据库删除,数据库删除成功后,在页面的DOM元素也进行删除

2021-01-18 21:54:39 141

原创 JavaEE(15)JSON、Jackson、FastJson

1. JSON1. JSON概念(1)JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式(2)采用完全独立于编程语言的文本格式来存储和表示数据(3)简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言(4)易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率2. JSON(1)格式1. 对象表示为键值对,数据由逗号分隔2. 花括号保存对象3. 方括号保存数组{"name":"老王"}{"age":"1

2021-01-11 14:23:54 150

原创 JavaEE(14)SpringMVC中结果跳转方式、数据处理、乱码问题

1. 结果跳转1. SpringMVC实现转发和重定向(不需要视图解析器)(1)配置web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns

2021-01-09 21:36:33 121

原创 JavaEE(13)SpringMVC入门、注解开发

1. 回顾MVC1. 什么是MVC(1)MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范(2)是将业务逻辑、数据、显示分离的方法来组织代码(3)MVC主要作用是降低了视图与业务逻辑间的双向偶合(4)MVC详解1. Model(模型):数据模型,提供要展示的数据,因此包含数据和行为, 可以认为是领域模型或JavaBean组件(包含数据和行为), 不过现在一般都分离开来:Value Object(数据Dao) 和 服务层(行为Service)

2021-01-09 17:03:51 136

原创 JavaEE(12)Spring整合Mybaits、声明式事务

1. Spring整合Mybatis1. 回顾Mybatis(1)环境配置导入相关jar包<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.a

2020-12-26 19:44:16 134 1

原创 JavaEE(11)Spring的AOP机制

1. AOP1. 概念:面向切面编程(Aspect Oriented Programming),通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率2. AOP在Spring中的作用:提供事务式声明;允许用户自定义切面3. 专有名词横切关注点:跨越应用程

2020-12-23 19:40:27 113

原创 JavaEE(10)Spring中的注解开发、静态/动态代理

1. 使用注解开发1. 说明(1)在Spring4之后,想要使用注解的形式,必须先引入aop包(2)在配置文件中,引入context约束<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:co

2020-12-23 10:29:18 147

原创 JavaEE(9)Spring中的自动装配

1. Bean的自动装配1. 自动装配的概述:自动装配是使用Spring满足Bean依赖的一种方法,Spring会在上下文中为某个Bean寻找其依赖的bean2. Sping中的三种装备方式(1)在xml中显示配置(2)在java中显示配置(3)隐式的bean发现机制和自动装配2. 使用xml进行自动装配1. 环境搭建(1)实体类public class Person { private String name; private Dog dog; private C

2020-12-22 10:11:02 232

原创 JavaEE(8)Spring中的依赖注入、Bean作用域

1. 依赖注入(DI)1. 概念:依赖注入(Dependency Injection)(1)依赖:指Bean对象的创建依赖于容器,Bean对象的依赖资源(2)注入:指Bean对象所依赖的资源,由容器来设置和装配2. 分类(1)构造器注入:(有参构造)-- 在前面(2)Set注入:(重点)(3)p注入和c注入3. Set注入(1)要求被注入的属性,必须有set方法,set方法的方法名由set+属性首字母大写。如果属性是boolean类型,没有set方法,是is(2)环境搭建实体类p

2020-12-21 16:07:00 319

原创 JavaEE(7)Spring概述、快速入门、IoC创建对象的方式

1. 概述1. 简介(1)历史:2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架。2004年3月24日,Spring框架以interface21框架为基础,经过重新设计,发布了1.0正式版(2)理念:使现有的技术更加实用,本身就是一个大杂烩,整合现有的框架技术(3)优点:Sping是一款轻量级的控制反转IOC与面向切面AOP的容器(框架)1. Spring是一款开源免费的框架,容器2. Spring是一款轻量级,非入侵式的框架3. 控制反转IOC,面向

2020-12-21 10:53:20 153 1

原创 JavaEE(6)Mybatis缓存

1. 缓存简介1. 概念:(1)存在内存中的临时数据(2)将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题2. 为什么使用缓存:减少和数据库的交互次数,减少系统开销,提高系统效率3. 什么样的数据要使用缓存:经常查询并且不经常改变的数据2. Mybatis的缓存1. 概述:MyBatis包含一个非常强大的查询缓存特性,它可以非常方便地定制和配置缓存。缓存可以极大的提升查询效率2. My

2020-12-20 13:30:43 190 1

原创 JavaEE(5)Mybatis多对一、一对多、动态SQL

1. Mybatis中多对一查询1. 多对一的理解(1)多个学生对应一个老师(2)对于学生这边,就是一个多对一现象,即从多个学生这边关联一个老师2. 数据库的设计(1)sql语句CREATE TABLE `teacher` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=INNODB DEFAULT CHARSET=utf8INSERT INTO teac

2020-12-19 22:39:33 250 1

原创 JavaEE(4)Mybatis中日志工厂、分页、注解开发

1. 日志工厂1. 概念:如果一个 数据库相关的操作出现了问题,我们可以根据输出的SQL语句快速排查问题,Mybatis内置的日志工厂提供日志功能2. 实现:具体的实现日志有以下几种工具(1)SLF4J(2)Apache Commons Logging(3)Log4j/Log4j 2【推荐】(4)JDK logging(5)STDOUT_LOGGING【推荐】3. 标准的日志实现(1)在mybatis-config.xml中配置 <!--日志工厂--> <

2020-12-18 16:41:40 145 1

原创 JavaEE(3)Mybatis的配置解析、作用域与生命周期、ResultMap

1. 核心配置文件1. mybatis-congif.xml:核心配置文件2. Mybatis的配置文件包含了会深深影响Mybatis行为的设置和属性信息3. 能配置的内容<!-- 注意元素节点的顺序!顺序不对会报错 -->configuration(配置)properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境配置

2020-12-17 15:46:47 168 1

原创 JavaEE(2)Mybatis的CRUD、模糊查询、Map查询

1. Mybatis的CRUD1. 【强调!!!注意!!!】:增删改一定记得要提交事务!!!2. 代码示例(1)mybatis-config.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"

2020-12-17 11:21:22 440

原创 JavaEE(1)MyBaits入门

1. 框架1. 概念:框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。简而言之,框架其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件2. 软件开发中分层的重要性:框架的重要性在于它实现了部分功能,并且能够很好的将低层应用平台和高层业务逻辑进行了缓和。为了实现软件

2020-12-15 15:03:21 173

原创 JavaWeb(21)NoSQL、Redis、Jedis

1. NoSQL1. 概念:Not Only SQL,意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库2. 关系型数据库和非关系型数据库的比较1. NOSQL和关系型数据库比较 优点: 1)成本:nosql数据库简单易部署,基本都是开源软件,不需要像使用oracle那样花费大量成本购买使用,相比关系型数据库价格便宜。 2)查询速度:nosql数据库将数据存储于缓存之中,关系型数据库将数据存储在硬盘中,自然查询速度远不及nosql数据库。 3)存储数据的格式:nosq

2020-11-29 10:50:41 75

原创 JavaWeb(20)Maven

1. Maven1. 概念:Maven翻译为“专家,内行”。Maven是Apache下一个纯Java开发的开源项目,他是一个项目管理工具,使用Maven对Java项目进行构建,依赖管理。2. 项目构建:是一个项目从编写到编译,测试,运行,打包,部署,运行的过程3. 构建过程中的maven命令(1)mvn:clean-清理输出的class文件(2)mvn:compile-将java代码编译成class文件(3)mvn:test-进行单元测试(4)mvn:package-将java工程打成jar

2020-11-28 14:30:20 97

原创 重学JavaWeb(19)文件上传与下载

1. 文件上传1. 概念:将客户端的文件,保存在服务器中2. 一些限制(1)对表单的限制1. 提交方式method必须是POST2. 表单的属性enctype必须为:multipart/form-data enctype:指表单发送数据的编码方式 1. application/x-www-form-urlencoded:数据进行URL编码 2. text/plain:纯文本发送 3. multipart/form-data:可以发送二进制数据,专门用于文件上传(2)对Servle

2020-11-26 22:07:43 109

原创 JavaWeb(18)EL&JSTL表达式

1. EL表达式1. 概念:JSP内置的表达式语言,用来代替<%=...%>2. 作用(1)获取域中数据(2)执行运算(3)获取常见的web对象(4)调用java方法3. 格式:${EL表达式}4. 作用1:获取域中数据(1)获取简单数据1. 语法:${pageScope|requestScope|sessionScope|applicationScope.属性名}2. 以后经常使用:${属性名},依次从pageScope|requestScope|sessionScope

2020-11-21 15:59:17 104

原创 重学JavaWeb(17)JSP

1. JSP1. 概念:Java Server Pages:Java服务器端页面,可以理解为一个特殊的页面,其中既可以定义html标签,又可以定义java代码,为了简化书写2. 原理:本质上就是一个Servlet3. 脚本:JSP定义Java代码的方式1. <% 代码 %>:定义的java代码,在service方法中,service方法可以定义什么,该脚本中就可以定义什么2. <%! 代码 %>:定义的java代码,在JSP转换后的java类的成员位置3. <%=

2020-11-21 11:51:39 90

原创 重学JavaWeb(16)响应对象response、请求对象request

1. 响应对象response1. 原理(1)response和request对象是由服务器创建,管理,销毁的(2)继承体系ServletResponse(接口)<----继承---- HttpServletResponse(接口) <----实现----org.apache.catalina.connector.ResponseFacade@3bec9d4ServletRequest(接口)<--------继承<-------HttpServletRequest(接

2020-11-15 16:34:06 229

原创 重学JavaWeb(15)Servlet

1. Servlet概念1. 概念:Servlet(Server applet),运行在服务端的小程序。定义了一个类被浏览器访问的规则,是一个接口2. 功能(1)接受请求(2)处理请求(3)作出响应2. Servlet快速入门1. 步骤1. 创建web项目2. 定义一个Java类,实现Servlet接口3. 重写所有未实现的方式,service()方法最重要!4. 配置Servlet,在web/WEB-INF/web.xml中 <!--配置Servlet--> &

2020-11-14 12:18:54 145 1

原创 重学JavaWeb(14)HTTP协议

1. HTTP1. 概念:超文本传输协议(HyperText Transfer Protocol),详细规定了浏览器和服务器之间进行通信的规则,通过网络传输HTML文档数据的协议2. 特点(1)HTTP协议是基于TCP/IP来传递数据的(2)HTTP协议是一个应用层协议,由请求和响应构成,一次请求一次响应(3)HTTP协议可以传递任意数据类型,比如文本,音频,视频3. 历史(1)HTTP1.0:HTTP1.0之前使用的是种短连接的方式,什么是短连接,就是限制每次连接只处理一个请求,服务器处理完

2020-11-12 15:35:39 74 2

原创 重学JavaWeb(13)Web概述、Tomcat

1. Web应用1. 概念:使用浏览器进行访问的应用程序,可以称为Web应用2. 特点:无需额外安装客户端,比如经常访问的淘宝,京东等这些都属于Web应用3. JavaWeb:使用Java语言开发的Web应用程序2. 软件架构1. B/S:浏览器/服务器进行数据交互的方式,采用的是HTTP协议2. C/S:客户端/服务器进行数据交互的方式,采用的是WinSocket协议3. Web概述1. Web服务器:提供资源供别人访问2. Web资源的分类(1)静态Web资源:内容是一成不变的(ht

2020-11-12 11:28:54 134 2

原创 重学JavaWeb(12)JDBC连接池

1. 数据库连接池1. 概念:存放数据库链接的一个容器。当系统初始化完成后,容器被创建,容器中会申请一些连接对象,当用户访问数据库时,从容器中获取连接对象,当用户访问完之后,会将连接对象归还给容器2. 好处(1)节约资源(2)用户访问高效3. 实现(1)标准接口:DataSource(javax.sql包下的)1. 方法: 获取连接:getConnection() 归还连接:Connection.close():如果连接对象Connection是从连接池获取的,那么调用Connectio

2020-11-11 10:25:30 83

原创 重学JavaWeb(11)JDBC

1. JDBC概念1. 概念:Java Database Connectivity (Java连接数据库)2. 本质:JDBC的本质就是Java定义的一套和数据库建立连接的规范(接口),想要用Java去操作数据库就必须实现这套接口2. JDBC快速入门1. 步骤1. 导入驱动jar包2. 加载驱动3. 获取连接对象4. 获取操作对象5. 发送sql语句执行操作6. 释放资源2. 代码示例public class TestDemo01 { public static voi

2020-11-11 10:23:01 101

原创 重学JavaWeb(10)MySQL高级

1. 存储过程:procedure1. 概念:存储过程是数据库中的一个对象,存储在服务端,用来封装多条sql语句且带有一定的逻辑性,可以实现一个功能。由于他在创建的时候已经对sql进行了编译,所以执行效率较高,且可以重复使用。类似于Java中的方法2. 语法DELIMITER $$CREATE PROCEDURE `数据库名称`.`存储过程名称`() BEGIN END$$DELIMITER;3. 参数1. in:输入参数2. out:输出参数3. inout:输入输出参数--

2020-11-05 15:16:00 78

原创 重学JavaWeb(9)MySQL约束与多表查询

1. 约束1. 约束的作用:为了保证数据的有效性和完整性2. MySQL中常用的约束:1. 主键约束:primary key2. 自增长约束:auto_incrment3. 唯一约束:unique4. 非空约束:not null5. 外键约束:foreign key6. 枚举约束:enum7. 非负约束:unsigned3. 主键约束(1)主键约束的数据非空且唯一,一张表中只有一个主键(2)添加主键的方式-- 添加主键方式1:在建表的时候直接添加create table tes

2020-11-04 13:28:00 184

原创 重学JavaWeb(8)MySQL基础

1. 数据库1. 概念:数据存储的仓库,用于存储和管理数据2. 关系型数据库与非关系型数据库(1)关系型数据库:由行和列组成的二维表,且表和表之间有对应关系(2)非关系型数据库(NoSql):not only sql,用键值存储数据的这种数据库,类似JSON2. MySQL1. 登录数据库:cmd --> mysql -uroot -proot2. 服务(1)启动服务:net start mysql(2)停止服务:net stop mysql3. SQL介绍1. 概念:(Stru

2020-11-02 10:45:09 105

原创 重学JavaWeb(7)Vue

1. Vue概述与快速入门1. vue介绍:一款渐进式JavaScript框架。Vue只关注视图层(view)2. vue实例:每一个应用都是通过Vue这个构造函数创建根实例启动,创建时需要传入选项对象,对象包含挂载元素,数据,模板,方法等1. el:挂载元素选择器 String|HtmlElement2. data:代理数据 Object|Function3. methods:定义方法 Object3. 命令式渲染和声明式渲染(1)命令式渲染:需要以具体代码表达在哪

2020-10-28 16:17:14 135

原创 重学JavaWeb(6)JSON与Java对象的互转

1. JSON与Java对象的互转1. Java对象转换成Json字符串(1)使用步骤1. 导入jackson相关的jar包2. 创建jackson核心对象:ObjectMapper3. 调用相关方法 1. writeValueAsString(obj):将对象转化为json字符串 2. writeValue(参数1,obj): 参数1: Flie:将obj对象转换为json字符串,并保存到指定的文件中 Writer:将obj对象转换为json字符串,并写入字符输出流中

2020-10-26 18:50:12 155

原创 重学JavaWeb(5)AJAX、跨域请求

1. AJAX1. 原生的Ajax(1)原生的Ajax之GET请求<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head> <body> </body></html><script type="text/javascript"> //1. 创建对象 va

2020-10-22 20:49:19 173

空空如也

空空如也

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

TA关注的人

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