自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 KMP算法动态演示

KMP算法动态演示

2025-04-18 12:19:44 371

原创 Thymeleaf 学习笔记

1. Thymeleaf介绍 ​ Thymeleaf是一个流行的模板引擎,是基于HTML的,语法应用在HTML标签中。该模板引擎采用java语言开发。 ​ 模板引擎是做视图层工作的,在服务器端将Controller传过来的数据替换掉模板上的静态数据。(模板+数据=展示页面) Java生态下的模板引擎有:Thymeleaf、Freemaker、Velocity、Beetl等。 ​ Spring Boot框架集成了Thymeleaf,并且Spring Boot官方也推荐使用Thymeleaf来替代jsp

2021-12-24 21:39:23 1028

原创 Spring Boot学习笔记

视频出处:动力节点springboot视频教程 为什么要使用Spring Boot? 使用Spring和SpringMVC时需要用到大量的xml配置文件,配置各种对象,把使用的对象放入到Spring容器中才能使用对象,十分繁琐。同时,用Spring整合其他框架时,需要了解其他框架的配置规则。 Spring Boot就好比是不需要配置文件的Spring和SpringMVC,已经提前把常用的框架和第三方库配置好了,直接使用即可。开发起来效率更高,更为方便。 第1章 XML和JavaConfig Spring

2021-12-21 00:51:56 1591

原创 vue+elementui常用组件

1.表单 目标效果: 前端页面: <!--添加预约窗口--> <div class="add-form"> <el-dialog title="新增预约" :visible.sync="dialogFormVisible"> <template> <el-tabs v-model="activeName" type="card"> <el-tab-pane la

2021-12-06 18:29:16 2440

转载 Java生成PDF报表文件

视频出处:https://www.bilibili.com/video/BV1Bo4y117zV?p=254 资源文件:链接:https://pan.baidu.com/s/1YpIeyK-j6NTZYf0pQkBpVA 提取码:2333 在企业开发中,除了常见的Excel形式报表,还有PDF形式的报表。那么如何导出PDF形式的报表呢? 1.iText简介 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,

2021-12-02 23:32:49 2088

原创 常用工具类

常用工具类 1.日期操作工具类 package com.tsccg.utils; import java.text.SimpleDateFormat; import java.util.*; /** * 日期操作工具类 */ public class DateUtils { /** * 日期转换- String -> Date * * @param dateString 字符串时间 * @return Date类型信息 * @thro

2021-11-28 20:05:32 555

原创 Spring Security学习笔记

1.权限控制 1.1认证和授权概念 以此项目为例:https://gitee.com/fan-shuaiqiang/heath 该项目的功能有:检查项管理、检查组管理、套餐管理、预约管理等。 我们来思考以下两个问题: 问题1:在生产环境下,如果我们不登录后台系统可以操作这些功能吗? 答案当然是不能的,我们不能让任何人都能操作我们的系统,要进行相关操作必须先登录到系统上。 问题2:是不是所有用户,只要登录成功就可以操作所有的功能呢? 答案当然也是不能,不同的用户可能有不同的权限,这就需要对不同用户进

2021-11-28 19:35:21 1928

原创 Vue学习笔记

1.Vue基础 1.1Vue简介 Vue官网:https://cn.vuejs.org/ 官方介绍: Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库 结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。 Vue特性: 是一个javaScript框架:必须要遵守一定规则才能使用 简化Dom操作:Vue会自动操纵由Vue的特殊语

2021-11-05 20:09:35 2161

原创 Git学习笔记

学习视频出处:【尚硅谷】5h打通Git全套教程IDEA版(涵盖GitHub\Gitee码云\GitLab) 一、本文内容介绍 1、Git Git介绍:分布式版本控制工具 & 集中式版本控制工具 Git安装:2.33.1版本 Git命令:基于开发案例,演示git常用命令 Git分支:分支创建、分支特性、分支转换、分支合并、代码合并冲突解决 Idea集成Git 2、Github 创建远程库 代码推送:Push 代码拉取:Pull 代码克隆:Clone SSH免密登录 Idea集成Github

2021-11-01 14:41:23 1501

原创 Dubbo

Dubbo 1.分布式系统中的相关概念 如果理解了分布式系统的相关概念,那么对于后期我们学习服务框架是很有帮助的。 因为服务框架就是为了解决企业中比较棘手的问题而存在的,有问题必定有需求,而描述需求和问题的就是这些概念。 1.1互联网项目架构目标 1.1.1什么是互联网项目 说起互联网项目,那就不得不提到它的兄弟:传统项目。 传统项目和互联网项目分别是什么呢? 传统项目就是企业内部使用的项目,如CRM、OA、HR、学校选课系统等。 互联网项目则是我们日常生活中使用的项目,如微信、淘宝、B站等。 两者有什

2021-10-26 11:22:38 868 1

原创 Maven多模块管理

1.多模块场景描述 现在有一个可发布的web应用【application】,该应用由各个业务模块【bussinessModel】组成。 【bussinessModel】:业务模块 是项目真正要实现的业务,如订单管理、会员管理等。 依赖于公共模块commonModal和第三方模块。 【commonModal】:公共模块 提供公共的基础服务,如工具类、常量类等。 同样依赖于第三方模块。 【第三方模块】:各类框架如Spring、MyBatis等。整个项目都是依赖这些第三方模块开发的。 那么如何通过Mav

2021-10-17 21:47:27 1244

原创 SpringMVC学习笔记

1.SpringMVC概述 1.1SpringMVC简介 在MVC三层架构中: 界面层:SpringMVC,用于接收用户请求,显示处理结果 业务层:Spring,用于处理各种业务,创建service、dao和工具类等对象 持久层:MyBatis,用于访问数据库,对数据进行增删改查 SpringMVC也叫Spring web mvc。是Spring框架的一部分,是在Spring3.0之后发布的,专门用于web开发。 SpringMVC就是servelt的一个升级版 web开发底层就是servlet

2021-10-13 10:31:23 418

原创 Spring学习笔记

1.Spring概述 1.Spring是一个轻量级的JavaEE框架 2.它是为了解决企业应用开发的复杂性而创建的 3.Spring有两个核心部分:IoC和Aop IoC:控制反转,把创建对象的过程交给Spring来进行管理 Aop:面向切面,在不修改源码的情况下进行功能增强 4.Spring的特点 1)轻量 Spring框架使用的jar都比较小,一般在1M以下或者几百KB。Spring核心功能所需要的jar总共在3M左右。 Spring框架运行占用的资源少,运行效率高。 Spring框

2021-10-03 03:29:58 458

原创 POP与OOP

POP与OOP 1.POP面向过程 面向过程:当遇到一个需求时,首先考虑有哪几步,将实现的步骤按照1234划分好,然后一步步去实现。 比如说把大象放进冰箱需要几步这个问题就是一个典型的面向过程例子。 第一步:打开冰箱---->第二步:把大象装进去---->第三部:关上冰箱 面向过程是线性思维,体现到代码上就是POP。 面向过程编程虽然符合常规思维,但是随着业务的复杂度提升后,无法适应业务的扩展需求。 比如说我现在想把10000头大象放进冰箱,同时在大象装进冰箱前加入10000种条件判断,那么这

2021-09-19 01:05:32 615

原创 MyBatis

MyBatis 思维导图:点击打开 1.框架概述 1.1三层架构 三层架构分别是: 界面层(User Interface Layer)、业务逻辑层(Business Logic Layer)、数据访问层(Date Access Layer)。 界面层(表示层/视图层):和用户打交道的,用于接收用户发送过来的请求参数,显示请求的处理结果。 业务逻辑层:用于接收界面层传递过来的数据,检查数据,计算业务逻辑,调用数据访问层获取数据。 数据访问层(持久层):和数据库打交道的,主要实现对表中数据的增删查改。 三

2021-09-12 20:05:29 9169

原创 Maven

1.Maven介绍 apach组织提供的一个顶级项目 maven是一个Jav开发工具 作用 管理项目构建生命周期 管理项目的jar包 管理项目基础信息 文档管理 测试报告 2.项目构建生命周期 1.清理:清理之前编译或测试生成的文件 2.编译:将java程序编译成class文件 3.测试:测试程序是否能满足预期功能 4.报告:将测试结果生成报告 5.打包: java工程:将工程中所有java类打成jar包 web工程:将工程打包成war包 6.发布:将第5步生成的jar包或war包提交到

2021-09-05 18:54:23 1817

原创 JDK实现动态代理

JDK实现动态代理 思维导图:点击打开 1.代理模式概念 代理模式是指:为其他对象提供一种代理用以控制这个对象的访问。 在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户类和目标类之间起到中介的作用。——————百度百科《代理模式》 代理对象 客户端---->中介---->目标对象 生活中的例子: 房产中介 代购 媒婆 2.代理模式作用 2.1控制访问 在代理中控制客户端能否调用目标对象的方法。 比如媒婆安排相亲 2.2增强功能 完成目标对象的

2021-09-03 18:18:30 577

原创 Web前端-jQuery实现Ajax实例-级联查询

1.需求 页面加载出来时,需要在第一个下拉列表中显示所有省份名称。 当用户选择其中一个省份,在第二个下拉列表中显示该省份所有的城市。 2.准备工作 2.1创建数据库与数据表 2.1.1创建数据库【db_ajax】 create database db_ajax; 2.1.2创建省份信息表【province】 SET FOREIGN_KEY_CHECKS=0; DROP TABLE IF EXISTS `province`; CREATE TABLE `province` ( `id` int(

2021-09-02 16:19:09 616

原创 Web前端-jQuery

Web前端-jQuery 思维导图:点击打开 1.jQuery概述 1.1jQuery是什么,有什么用 jQuery 是一个 JavaScript 库。 jQuery 极大地简化了 JavaScript 编程。 jQuery 很容易学习。 1.2第一个jQuery例子 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>第一个jQuery例

2021-08-30 23:46:33 502

原创 Web前端-Ajax-03-Ajax总结

思维导图:点击打开

2021-08-29 18:27:04 192

原创 Web前端-Ajax-02-实例:根据省份id查询省份信息

Web前端-Ajax-02-根据省份id查询省份名称实例 1.需求 用户在文本框输入省份的编号id,在其他文本框中显示省份名称。 2.准备工作 2.1创建数据库与数据表 2.1.1创建数据库【db_ajax】 create database db_ajax; 2.1.2创建省份信息表【province】 SET FOREIGN_KEY_CHECKS=0; DROP TABLE IF EXISTS `province`; CREATE TABLE `province` ( `id` int(11)

2021-08-29 00:09:08 1030

原创 JDBC封装工具类

JDBC封装工具类 1.封装类 package com.tsccg.util; import java.sql.*; import java.util.ResourceBundle; /** * @Author: TSCCG * @Date: 2021/08/28 19:42 */ public class JdbcUtil { private static Connection conn = null; private static PreparedStatement ps =

2021-08-28 22:09:56 205

原创 Web前端-Ajax-01

Web前端-Ajax 1.全局刷新和局部刷新 在B/S结构项目中,浏览器负责向服务器发送请求,服务器负责接收请求,并将处理结果发送回浏览器。 浏览器将返回的html、jsp等命令文件进行解析并展示到页面中。 1.1全局刷新 浏览器在接收到响应包后,在展示数据时,浏览器原有内容被响应包中数据覆盖掉。 全局刷新原理: 必须由浏览器亲自向服务端发送请求协议包 这个行为导致服务端直接将【响应包】发送到浏览器内存中 这个行为导致浏览器内存中原有内容被覆盖掉 这个行为导致浏览器在展示数据时候,只有响应数

2021-08-27 23:36:23 713 5

原创 MVC开发规则

MVC开发规则 1.介绍 MVC开发规则制定了互联网通信开发过程中 必须出现的角色有哪些 必须出现的角色要担任哪些职责 必须出现的角色的出场顺序 2.角色 DAO对象: Dao对象提供某张表文件的操作细节,降低对表文件的操作难度 避免反复开发表文件操作的代码,提高代码复用性 Service对象: 服务对象,提供【业务】的具体解决方案 Service对象中,一个方法只指定一个业务的解决方案,避免业务开发重复性行为,提高复用性。 网站中每一个业务都有一个独立标准的解决方案。 3.业务 3.1什么是业

2021-08-26 23:49:53 198

原创 面试题---JavaScript模拟HashMap类型对象

面试题—JavaScript模拟HashMap类型对象 在Java中存在一个HashMap类型,具有以下功能: 以键值对方式存储数据。 一次可以存储多个键值对,并且要求每一个关键字都是唯一的。 可以通过给定关键字读取相应的值。 具体使用方式如下: HashMap map = new HashMap(); map.put("key1",100); map.put("key2",200); map.get("key1");//100 map.get("key1");//200 JavaScript中并不存

2021-08-26 22:25:42 301

原创 JavaWeb-05-JSP规范-07-在线考试管理系统-考试管理模块

JavaWeb-05-JSP规范-07-在线考试管理系统-考试管理模块 本次工程文件:点击下载 提取码:jmjh 用户信息管理模块传送门:用户信息管理 试题信息管理模块传送门:试题信息管理 1.任务 考试管理模块 实现功能: 随机出题:考生点击【参加考试】,系统【随机】为其分配四道考试题。 自动改卷:考生点击【交卷】,系统自动计算分数并展示。 2.功能实现1:随机出题 2.1流程图 2.2随机sql语句 2.2.1所有试题 2.2.2根据不同字段排序,截取的结果不同 当根据一张表中不同字段进行排序

2021-08-26 17:20:14 1657 3

原创 JavaWeb-05-JSP规范-06-EL表达式

JavaWeb-05-JSP规范-06-EL表达式 1.JSP的繁琐之处 当使用JSP将作用域对象中存放的数据写入到响应体时, 按传统的方式实现共有三步: 在执行标记中通过java代码从作用域对象中读取数据 完成数据类型转化 在输出标记中将转换后的数据写入响应体内 <% String value = (String)request.getAttribute("key1"); %> <%=value%> 这在企业级开发中是非常繁琐的。 为了降低使用JSP文件开发时Java

2021-08-24 23:07:28 330

原创 JavaWeb-05-JSP规范-05-在线考试管理系统02-试题信息管理

JavaWeb-05-JSP规范-05-在线考试管理系统02-试题信息管理 用户信息管理模块传送门:用户信息管理模块 1.目标 试题信息管理模块 2.功能实现 添加试题信息 查询试题信息 更新试题信息 删除试题信息 3.准备工作 3.1创建试题信息表(t_question.frm) drop table if exists t_question; create table t_question( questionId int primary key auto_increment,#题目编号 s

2021-08-24 01:09:35 2494

原创 JavaWeb-05-JSP规范-04-JSP文件运行原理

JavaWeb-05-JSP规范-04-JSP文件运行原理 1.Http服务器调用JSP文件步骤 Http服务器将JSP文件内容【编辑】为一个Servlet接口实现类(.java) Http服务器将Servlet接口实现类【编译】为class文件(.class) Http服务器负责创建这个class文件的实例对象,这个实例对象就是Servlet实例对象。 Http服务器通过调用Servelt实例对象调用_jspService方法,将jsp文件内容写入响应体。 2.验证 2.1创建网站文件 新建一个网站M

2021-08-23 19:49:42 207

原创 JavaWeb-05-JSP规范-03-Servlet和JSP文件分工

JavaWeb-05-JSP规范-03-Servlet和JSP文件分工 1.Servlet和JSP之间的分工 Servlet:负责处理业务并得到【处理结果】---->大厨 JSP:不负责处理业务,主要人物是将Servlet中的【处理结果】写入响应体---->传菜员 2.Servlet和JSP之间的调用关系 Servlet工作完毕后,一般通过请求转发方式,向Tomcat服务器申请调用JSP 3.Servlet和JSP之间的数据共享 一般通过【请求作用域对象】来实现数据共享。 Servlet将

2021-08-23 15:37:17 276

原创 JavaWeb-05-JSP规范-02-JSP常见内置对象

JavaWeb-06-JSP规范-02-JSP常见内置对象 1.JSP内置对象:request 类型:HttpServletRequest 作用:在JSP文件运行时读取请求包信息,与Servlet在请求转发过程中实现数据共享。 演示: 新建一个网站,在默认的index.jsp文件中,编写代码,通过内置对象request读取请求包中的请求参数,然后将请求参数写入到响应包里,展示浏览器上。 <%@ page contentType="text/html;charset=UTF-8" language=

2021-08-23 14:25:58 183

原创 JavaWeb-05-JSP规范-01-JSP概述

JavaWeb-05-JSP规范-01-JSP概述 1.什么是JSP规范,有什么用? JSP规范来自于JavaEE规范中的一种。 JSP规范制定了如何开发JSP文件代替响应对象将处理结果写入响应体内的开发流程。 JSP规范制定了Http服务器应该如何调用JSP文件。 2.为什么要用JSP文件代替响应对象 响应对象只适合将少量处理结果写入响应体,如果处理结果数量较多,使用响应对象会非常繁琐,增加开发难度。 比如说将“1+1=2”的结果“2”写入响应体内时,用响应对象非常方便: int num = 1 +

2021-08-22 22:02:34 329

原创 JavaWeb-04-第三版网络通信流程图

JavaWeb-04-第三版网络通信流程图

2021-08-21 23:53:00 247

原创 JavaWeb-03-Servlet-15-过滤器防止用户恶意登陆

JavaWeb-03-Servlet-15-过滤器防止用户恶意登陆 1.恶意登陆问题 以之前做的在线考试管理系统项目为例。(传送门:在线考试管理系统) 如果有人通过浏览器地址栏,绕过登陆验证,直接访问网站中的资源文件,那么网站中的数据就不安全了。 为了防止这种恶意登陆的情况发生,我们可以使用【令牌机制】。 2.令牌机制 令牌机制就是加一个密保,给所有合法用户一个令牌。 当用户访问资源文件时,需要先验证是否持有令牌: 有令牌,提供服务 没有令牌,拒绝提供服务 在我们的开发中,习惯于将HttpSessio

2021-08-21 21:41:58 1206

原创 JavaWeb-03-Servlet-14-过滤器接口(Filter接口)

JavaWeb-03-Servlet-14-过滤器接口(Filter接口) 1.介绍 【位置】:来自于Servlet规范下的接口,在Tomcat中存在于servlet-api.jar包中。 【实现类】:Filter接口实现类由开发人员提供,Http服务器不负责提供。 【特性】:Filter接口在Http服务器调用资源文件之前,对Http服务器进行拦截。 2.具体作用 拦截Http服务器,帮助Http服务器检测当前请求的合法性 拦截Http服务器,对当前请求进行增强操作 3.Filter接口实现类开发

2021-08-20 23:20:42 600

原创 JavaWeb-03-Servlet-13-监听器接口

JavaWeb-03-Servlet-13-监听器接口 1.介绍 【位置】:监听器接口来自于Servlet规范下,共有8个接口。具体位置在Tomcat下的servlet-api.jar 【监听器接口实现类】:Http服务器所提供的jar包中没有监听器接口的实现类,需要由开发人员手动实现。 【监听器接口一般用于】: 作用域对象生命周期变化时刻 作用域对象共享数据变化时刻 2.作用域对象 【定义】:在Servlet规范中认为,在服务端内存中可以在某些条件下为多个Servlet之间提供数据共享方案的

2021-08-20 19:47:09 435

原创 JavaWeb-03-Servlet-12-多个Servlet之间的数据共享-03HttpServletRequest接口

JavaWeb-03-Servlet-12-多个Servlet之间的数据共享-03HttpServletRequest接口 1.介绍 1.在同一个网站中,如果两个Servlet之间通过【请求转发】方式进行调用,那么这两个Servlet之间共享的是同一个【请求协议包】。而一个请求协议包只对应一个请求对象,所以这两个Servlet共享的是同一个【请求对象】,利用这一点可以实现数据共享。 2.在请求对象实现Servlet之间数据共享功能时,开发人员将请求对象称为【请求作用域对象】 2.命令实现 OneServle

2021-08-20 14:35:56 286 1

原创 JavaWeb-03-Servlet-11-多个Servlet之间的数据共享-02HttpSession接口

JavaWeb-03-Servlet-11-多个Servlet之间的数据共享-02HttpSession接口 1.介绍 Http接口是一个来自于Servlet规范下的接口 该接口存在于Tomcat钟的servlet-api.jar包里。 其实现类由Http服务器提供,存在于servlet-api.jar包里。 如果两个Servlet来自于同一个网站,且为同一个浏览器/用户提供服务,那么此时就可以通过HttpSession对象进行数据共享。 开发人员习惯于将HttpSession接口修饰对象称为【会话

2021-08-19 22:42:52 318

原创 JavaWeb-03-Servlet-10-多个Servlet之间的数据共享

JavaWeb-03-Servlet-10-多个Servlet之间的数据共享 1.多个Servlet之间的数据共享实现方案 数据共享:OneServlet工作完毕后,将产生的数据交给TwoServlet来使用。 在Servlet规范中提供四种数据共享方案: ServletContext接口 Cookie类 HttpSession接口 HttpServletRequest接口 2.ServletContext接口 2.1ServletContext接口介绍 是来自于Servlet规范中的一个接口。 存

2021-08-17 23:21:03 977

原创 JavaWeb-03-Servlet-08-Http状态码

JavaWeb-03-Servlet-08-Http状态码 1.状态码介绍 1.状态码是由三位数字组成的符号。 2.Http服务器在推送响应包前,根据本次请求处理情况,将Http状态码写入到响应包里的【状态行】上。 3.如果Http服务器针对本次请求,返回了对应的资源文件,那么就通过Http状态码通知浏览器该如何处理这个结果; 如果Http服务器针对本次请求,没有返回对应的资源文件,那么就通过Http状态码向浏览器解释不能返回的原因。 2.状态码分类 2.1状态码分为五个大类 状态码的组成:[100-59

2021-08-17 17:54:13 295

空空如也

空空如也

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

TA关注的人

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