自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 详述SpringMVC自定义视图

一、运行原理1、执行DispatcherServlet类onRefresh(ApplicationContext context)方法protected void onRefresh(ApplicationContext context) { initStrategies(context);}2、执行DispatcherServlet类initStrategies(Applica...

2020-04-23 15:57:20 325

原创 详述ContextLoaderListener监听器

一、配置ContextLoaderListener监听器在web.xml中添加配置:<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"...

2020-04-16 15:50:02 479

原创 详述SpringMVC中拦截器

一、拦截器是什么?拦截器,顾名思义,是用于拦截客户端特定的请求的类。二、拦截器生命周期(1)实现拦截器的两种方式:a.定义的Interceptor类要实现了Spring的HandlerInterceptor 接口b.继承实现了HandlerInterceptor接口的类,比如Spring已经提供的实现了HandlerInterceptor接口的抽象类HandlerInterce...

2020-04-16 13:01:17 886

原创 详述SpringMVC请求处理过程

一、引入接上篇详述load-on-startup标签的作用,本片来介绍SpringMVC中DispatcherServlet对象处理请求的过程二、SpringMVC请求处理过程1.用户端向服务器发送请求。2.执行DispatcherServlet类service(HttpServletRequest request, HttpServletResponse response)方法...

2020-03-26 18:12:31 296

原创 详述load-on-startup标签的作用

一、引入我们知道Servlet是服务器端的Java程序,用于处理用户端的请求,其生命周期有四个阶段:加载及实例化,初始化,处理请求,销毁。而在SpringMVC中,只有一个DispatcherServlet用于拦截处理用户的所有请求,由于加载及实例化,销毁都是由Servlet容器执行的,所以我着重讲一下在SpringMVC中Servlet的初始化,处理请求部分。本片先介绍初始化这部分。二、...

2020-03-26 17:06:35 827

原创 详述Spring 框架事务 @Transactional常用属性说明

目录一、引入BookDao:MoneyDao:CouponDao:CouponService:二、Transactional注解的各项属性(1)timeout属性book表:money表:coupon表:(2)readOnly属性(3)rollbackFor属性(4)propagation属性一、引入引入一个场景:当我们...

2020-03-19 16:48:22 677

原创 MyBatis框架一对一与一对多

一、引入在数据库的多表查询中,难免会出现查询到的多条从表数据的外键字段对应主表的同一条数据,举一例在购物网站的用户数据库中,用户数据表内的一个数据可能对应多条地址表内的数据,也有可能只有一个,本篇就简单聊一聊MyBatis多表查询中一对一及一对多的问题。二、MyBatis多表查询(1)一对多问题定义UserInfo类:public class UserInfo { priv...

2020-03-13 22:47:12 157

原创 Spring整合MyBatis

Spring整合MyBatis

2020-03-08 22:45:53 127

原创 MyBatis动态sql

目录一、引入二、MyBatis中的动态Sql标签(1)if配置:使用:运行结果:(2)where配置:使用:运行结果:(3)set配置:使用:运行结果:(4)foreach配置:调用:运行结果:一、引入在数据库对数据进行增删改查时,难免都希望sql语句的可复用性提高,那么就避免不了使得sql语句中传入的参数动态化,本篇...

2020-03-08 20:47:37 257

原创 详述MyBatis框架一级缓存与二级缓存

一、引入在用户程序与数据库进行交互时,难免需要对数据库进行查询操作,而如果每次查询都执行一次查询语句,则过于繁琐,所以缓存就应运而生,本片就详细介绍MyBatis框架的缓存技术。二、MyBatis中的缓存技术(1)一级缓存 1、该级缓存默认开启,不能关闭; 2、该级缓存为SqlSession级别的缓存,也称为本地缓存;数据...

2020-03-08 19:30:48 329

原创 第一个MyBatis程序

一、什么是MyBatisMyBatis源自Apache的iBatis开源项目, 从iBatis3.x开始正式更名为MyBatis。它是一个优秀的持久层框架。 官网地址:http://www.mybatis.org/mybatis-3/二、为什么用MyBatis为了和数据库进行交互,通常的做法是将SQL语句写在Java代码中,SQL语句和Java代码耦合在一起不利于后期维护修改...

2020-03-07 15:55:00 159

原创 详述SpringAOP

一、AOP是什么Aspect Oriented Programming(AOP)是较为热门的一个话题。AOP,国内大致译作“面向切面编程”。“面向切面编程”,这样的名字并不是非常容易理解,且容易产生一些误导。有些人认为“OOP/OOD11即将落伍,AOP是新一代软件开发方式”。显然,发言者并没有理解AOP的含义。Aspect,的确是“方面”的意思。不过,汉语传统语义中的“方面”,大多数情况...

2020-03-07 15:21:52 217

原创 详述Spring XML文件——调用有参构造方法并为参数赋值

目录一、如可调用构造方法1、写一个UserInfo类:2、SpringXML文件做如下配置:3、写一个Test类二、为构造方法不同类型参数赋值1、自定义对象1)编写UserInfo类2)配置XML文件3)编写Test类2、数组1)编写UserInfo类2)配置XML文件3)编写Test类3、List集合1)编写UserInfo类...

2020-02-27 18:33:49 1294

原创 详述Spring XML文件配置——component标签的作用

一、component标签的特点:扫描com.jd包及其子包下的所有类,并未添加了@Controller@Service@Component@Repository修饰的类创建对象并存入容器,调用的是默认无参构造方法。二、用代码验证component标签的特点编写一个UserInfoDao类,和一个Test类:import org.springframework.stereot...

2020-02-27 12:59:31 1712

原创 Spring中,对象的生命周期

为验证,我们写一个类,包括如下几个元素:public class UserInfo { static { System.out.println("静态代码块"); } { System.out.println("非静态代码块"); } private String name; public UserInfo() { System.out.println...

2020-02-25 20:39:54 373

原创 详述Spring XML文件配置——Bean标签scope属性

一、引入当在Spring XML文件中Bean标签中的除lazy-init外各个属性均为默认值时,运行如下代码,观察结果<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.or...

2020-02-25 20:23:42 706

原创 详述Spring XML文件配置——lazy-init属性

一、引入Spring是什么?Rod Johnson是Spring框架的缔造者,他在2002编著的《Expert one-on-One J2EE Design and Development》一书中,对JavaEE系统架构臃肿、低效、脱离现实的种种现状提出了质疑,并积极寻求探索革新之道。以此书为指导思想,他编写了interface21框架,这是一个力图冲破JavaEE传统开发困境,从实际需求...

2020-02-22 22:21:25 488

原创 Tomcat中目录结构

1、bin:存放了启动Tomcat软件的命令,这些命令可以在Windows和Linuxf操作系统上运行。start.bat与shutdown.bat分别用于启动与关闭服务器 2、conf:保存了配置Tomcat的配置文件。 server.xml: a、http协议默认端口号为80 tomcat默认端口号为8080 在server.x...

2019-11-18 21:22:15 163

原创 JSP中session对象与其运行机制

一、session对象session(会话)对象是JSP内置对象之一,Web应用中,会话指在一段时间内,一个用户通过浏览器与服务器之间进行的一系列的请求和响应的交互过程。在一个会话中,用户可以访问该Web应用系统中包括网页在内的多种资源。 当用户(浏览器)向Web应用服务器发送第一次请求时,服务器会为该用户创建一个唯一标识的会话,会话一直延续到访问结束(浏览器关闭或...

2019-11-18 21:11:03 249

原创 jQuery中replaceWith()方法与unwarp()方法

replaceWith()方法(替换成): replaceWith(content|fn) :将所有匹配的元素替换成指定的HTML或DOM元素,将调用方法的对象替换成方法中的参数对象。代码示例:<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>&...

2019-11-11 20:05:01 441

原创 jQuery中empty()方法与remove()方法

目录empty()方法:remove()方法:empty()方法:empty() :删除匹配的元素集合中所有的子节点,但不包括自身;代码示例:<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title> ...

2019-11-11 19:12:18 381

原创 jQuery事件

目录一、绑定事件二、解绑事件三、一次性绑定事件四、触发事件五、jQuery中几种常见事件六、事件冒泡一、绑定事件bind()方法:为每个匹配元素的特定事件绑定对应的事件处理函数代码示例:<!DOCTYPE html><html> <head> <meta charset="UTF-8"> &...

2019-11-10 20:46:07 148

原创 jQuery中clone()方法

clone()方法:clone()方法中传入的参数值为布尔型,决定了是否为深层复制,若为深层复制(传入true),则同时复制原标签中添加的事件;若不为深层复制(传入false)则不复制标签中添加的事件。代码示例一:<!DOCTYPE html><html> <head> <meta charset="UTF-8"> &lt...

2019-11-10 19:39:15 393

原创 jQuery中wrap()方法、warpAll()方法、warpInner()方法与unwarp()方法

目录一、wrap()方法:二、wrapAll()方法:三、wrapInner()方法:四、unwrap() 方法:一、wrap()方法:wrap(html|ele|fn):把所有匹配的元素用其他元素的结构化标记包裹起来。代码示例:<!DOCTYPE html><html> <head> <meta chars...

2019-11-10 19:18:36 857

原创 jQuery中append()方法与appendTo()方法

append方法():a.append(content|fn) :向每个匹配元素(jQuery对象)内部的末尾处插入append方法中内容;代码示例:<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title> <...

2019-11-09 20:59:53 339

原创 jQuery中after()方法与insertAfter()方法

after()方法:after(content|fn) :向每个匹配的元素后插入内容;代码示例:<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title> <script src="js/jquery-3.3.1...

2019-11-09 20:56:03 1107

原创 jQuery中parent()方法与parents()方法

parent()方法:parent([expr]) :取得一个包含着所有匹配元素的唯一父元素的元素集合(一个)。代码示例:<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script src="js/j...

2019-11-09 20:24:40 669

原创 jQuery中next()方法与nextAll()方法

next()方法:next([expr]) :取得一个包含匹配的元素集合中每一个元素紧邻的后面同辈元素的元素集合。(一层)代码示例:<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script src=...

2019-11-09 20:20:51 765

原创 Javascript实现表单校验——提交表单的两种方式

目录一、JavaScript表单校验二、提交表单的两种方式(1)通过向form标签中添加onsubmint事件实现表单提交(2)通过向标签中添加onclick事件触发js函数以提交表单一、JavaScript表单校验表单校验,时HTML网页中常常会用到的一个功能,例如,在HTML页面中实现登录功能,登录成功后跳转,这就需要用到表单校验,再或者,在HTML网页中插入一个...

2019-10-28 23:15:09 5479

原创 Javascript中添加事件(Event对象)的三种方式

目录一、Javascript中event对象二、Javascript中添加事件的三种方式(1)通过在标签中为对应事件添加设定值来添加事件(2)通过元素(Element)事件属性添加事件(3)通过元素(Element)事件监听器添加事件一、Javascript中event对象参考资料:JS Event对象详解Event 对象代表事件的状态,比如事件在其中发生的...

2019-10-27 14:19:41 7020

原创 JavaScript实现时间显示功能

目录一、基本思路二、代码第一步:创建时间函数,利用date对象获得相应时间值第二步:完善,调整星期的显示格式,数字小于十时用零占位。一、基本思路创建time()函数,利用JavaScript中已有对象date对象的属性及方法获取时间,最后利用document对象实现页面上的时间显示。二、代码第一步:创建时间函数,利用date对象获得相应时间值<!D...

2019-10-25 20:44:22 944

原创 总结Javascript中的数据类型

一、JavaScriptJavaScript是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。二、Javascript中的数据类型var即为variable(变量)的缩写,JavaS...

2019-10-25 20:06:13 325

原创 HTML中position样式的5中属性值

目录一、引入二、position样式的五种属性值(1)static属性值(2)relative属性值(3)absolute属性值(4)fixed属性值(5)inherit属性值三、结语一、引入HTML网页中,为了给相应的各种标签进行定位,存在着position样式。该样式存在着五中属性值,均用来给标签进行定位,本篇就简单介绍下这几种标签的使用及特点。...

2019-10-25 18:38:01 585

原创 CSS样式选择器总结

一.引入上一篇博客HTML中table表总结中我在结尾提到了CSS的使用,本篇就详细总结一下CSS中的样式选择器。CSS 指层叠样式表(Cascading Style Sheets),用于设定网页中元素的显示方式。HTML中的样式表大概分为三类:1.外部样式表将CSS样式写在css样式文件中,使用link标签将该css文件引入到HTML文档中。目的是为了让多个多个HTML文件需要的...

2019-09-28 15:18:27 189

原创 HTML中table表总结

目录引入:HTML中表的实现:(1)table标签(2)tr标签(3)th标签(4)td标签拓展 :其他操作:(1)列合并(2)行合并引入:table这个概念,我已经不是第一次遇到了,第一次遇到它是在数据库中,table即表,是对数据进行统计的的一种图形。HTML中表的实现:假设我们想在HTML页面中显示一个表,即table,需要了解以下几个...

2019-09-23 22:14:45 681

原创 详述Java中的线程4——线程协作

目录一、引入Watch类:sleep方法:join方法:二、线程协作(1)wait()方法(2)notify()方法(3)notifyAll()(4)sleep()方法和wait()方法区别三、总结一、引入Watch类:加入我想创建一个Watch类,在其中定义两个线程,一个线程用来计算时间,一个线程用来输出时间,我们这样写:package ...

2019-08-25 15:28:53 210

原创 数组的冒泡排序和插入排序

目录一、引入二、冒泡排序(最大筛选排序法)三、插入排序一、引入在Java中,数组是一项很重要的概念,不过既然是数组,最基本的数组就是数字组成的数组,自然就离不开数字的比较大小与排序,当然,数组排序的方式有很多,本篇主要研究数组的冒泡排序与插入排序。二、冒泡排序(最大筛选排序法)冒泡排序,顾名思义,是用气泡在液体中上升时逐渐变大的状态来命名的,十分形象,当然冒泡...

2019-08-25 11:14:05 391

原创 详述Java中的线程3——线程数据共享(synchronized对象锁)

目录一、引入二、synchronized对象锁(1)传入实例化对象反例:(2)传入其他(3)死锁现象一、引入在我有关线程的前两篇博客中详述Java中的线程1——线程与进程 和详述Java中的线程2——线程常用方法 中,我们只研究了不同类线程类个创建一个对象在一个程序中执行时的场景。而真正在写代码时,有可能存在同类线程创建多个对象并发执行的场景,这是就出现了并...

2019-08-24 18:09:32 290

原创 详述Java中的线程2——线程常用方法

目录一、引入二、线程常用方法:(1)join方法:(2)interrupt方法:(3)currentThread方法:(4)isAlive方法:(5)setDaemon方法(6)void setPriority(int newPriority)方法一、引入上一篇博客详述Java中的线程1——线程与进程我详述了Java中线程与进程,本片我就讲一下在Jav...

2019-08-23 21:05:47 215

原创 详述Java中的线程1——线程与进程

目录一、什么是进程?二、什么是线程?三、线程与进程的关系四、Java中多线程的实现创建线程:开启线程:线程生命周期:线程池:一、什么是进程?程序(Program)是为实现特定目标或解决特定问题而用计算机语言(比如Java语言)编写的命令序列的集合。进程(process)指一个程序的一次执行过程。Java中的进程,听起来很宽泛的一个概念,及我们俗...

2019-08-23 18:34:15 161

空空如也

空空如也

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

TA关注的人

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