自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring介绍

Spring介绍1.1 Spring概述Spring框架是目前市面上最常用的框架之一,大多数的项目中使用的都是Spring全家桶相关的框架,Spring可以支持绝大多数市面上常用的第三方框架。Spring框架中的核心点在其中的IOC及AOP两个模块。原生的开发过程中,程序员做的最多的事情是在创建对象,过程中一是需要创建很多的对象,二是对象过多的时候不好管理,对内存的影响也比较大,因此可以通过Spring提供的IOC及AOP将对象的创建及管理交给框架处理,程序员只需要关注业务操作。2. Spring原

2021-01-18 20:18:21 187

原创 Mybatis-Mapper代理开发

Mybatis-Mapper代理开发将接口与映射文件直接关联,简化开发过程,提高开发效率6.1 dao层开发存在的问题通过dao层及其实现类的方式在进行Mybatis的增删改查时存在的问题(参考dao实现类代码进行分析)1.仍然存在硬编码的问题(指定查询的statementid【test.queryEmpById】)2.功能实现的过程中,对于输入的参数类型以及返回值类型都是Object类型,不严谨3.代码实现时存在大量的重复书写的问题6.2 Mapper代理开发规范1.要求接口和映射文

2021-01-11 19:57:49 231

原创 Mybatis介绍

Mybatis介绍Mybatis是Apache下的一个开源的免费的半自动化的ORM框架,前身名叫IBatis优势:简化了对数据库的操作,让程序员专注于对sql的编写,不再将大量的时间放在业务逻辑上//模糊查询时,条件的不同会有不同的业务,此处的业务代码会非常的繁琐,可以使用Mybatis中的动态sql处理String sql = "select * from t_user limit ?,?";if(user0!=null) { if(user0.getUname()!=null) {

2021-01-08 19:59:31 212

原创 Servlrt练习

Servlrt练习/** * 用于业务层与前端的交互 */@WebServlet("/empServlet")public class EmpServlet extends HttpServlet { EmpServiceImpl empService = new EmpServiceImpl(); @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throw

2021-01-06 20:00:39 113

原创 文件上传

1文件上传实现图片上传(要求限制后缀以及图片的大小,将图片存储到指定的服务器中,地址存储到数据库中,最后在页面中显示出来)文件上传需要满足以下条件1.表单的提交属性中要有enctype=“multipart/form-data”(用于标注这是一个文件上传的表单)2.表单的提交方式必须为POST实现步骤:1.关联图片上传的jar包(commons-io.jar、commons-fileupload.jar),数据库驱动包以及jstl相关的jar包(是否需要使用jstl)2.定义表单,指定e

2021-01-05 19:37:08 149

原创 2021-01-04

1 Ajax异步请求Ajax是一种实现局部刷新的动态网页开发技术,重点在于可以快速高效的实现局部数据的动态改变。同步:所有的操作都需要按照顺序来执行,前面的未执行完,后面的就需要一直等待(安全性高,效率很低)异步:前一个的操作结果不影响后一个任务的执行,且可以同时进行(效率高)1.1 原生Ajaxshixan需求:点击按钮,向后台发送请求,将后台返回的结果在前端页面中显示出来//获取元素let btn = document.getElementsByTagName("button")[0]

2021-01-04 20:36:47 186 1

原创 Jsp和Servlet的区别

Jsp和Servlet的区别1 . 本质区别JSP在本质上就是SERVLET,但是两者的创建方式不一样;Servlet完全是JAVA程序代码构成擅长于流程控制和事务处理而通过Servlet来生成动态网页;JSP页面是有JSP容器执行该页面的Java代码部分然后实时生成的HTML页面。2、 Servlet生命周期跟客户端的Applet相似,Servlet(这里Servlet的概念又回到了最原始的含义)也遵循严格的生命周期。在每个Servlet实例的生命中有三种类型的事件,这三种事件分别对应于由Se

2020-12-30 22:22:37 650

原创 EL表达式和STL标签库

1 EL表达式EL表达式核心点是将对象存储到某个域中,在需要的页面中直接使用表达式来使用,从来减少获取及强制类型转换的操作<%//存储session.setAttribute("name","小黑");//存储对象Emp emp = new Emp();emp.setEname("阿狸");emp.setSex("女");session.setAttribute("emp",emp);%>name:${name}<hr>ename:${emp.ename}

2020-12-29 19:54:29 251 1

原创 JSP中操作数据库

JSP中操作数据库思路:连接数据库,将获取到的数据存储起来,然后在数据列表页中进行获取渲染<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ page import="java.util.*,beans.Emp,java.sql.*" %><% request.setCharacterEncoding("utf-8");

2020-12-28 19:56:01 869 1

原创 session和Cookie对象

1. session对象Session称为一次会话,浏览器的打开及关闭。例如:登录淘宝之后,在该浏览器上无论打开的哪个页面都属于一次会话(不需要登录了)session对象方法名描述setAttribute(key,val)设置键值对getAttribute(key)通过键获取值getId()获取session的idsetMaxInactiveInterval(time)设置session的过期时间[单位:秒](tomcat中默认配置的过期时间是30分钟)

2020-12-25 20:00:32 192

原创 Tomcat和JSP核心内容

Tomcat和JSP核心内容1.直接到Tomcat官网目下进行下载【下载完成后直接解压即可】2.在安装目录中打开bin目录找到startup.bat,双击启动3.在浏览器的地址栏中输入:localhost:8080/127.0.0.1:8080 访问即可4.tomcat的配置方式与Java的JDK配置方式是一样的1.1 Tomcat启动常见问题闪退现象:双击startup.bat文件时,黑窗口一闪而过。通常是因为JDK环境配置不符合规范,tomcat在运行时会自动去系统环境中去查找一个叫JAV

2020-12-24 19:45:11 197 1

原创 省市级联案例

省市级联案例1.思路: 显示所有的省份 1.从后台获取到所有的省份数据容器--省份数组 a、定义省份数组 2.将数组中的省份信息添加到省份的下拉框中 a、遍历省份数组,获取到每一个省份的信息 b、将每一个省份信息添加到下拉框中 创建一个option标签,进行赋值2.代码:<!DOCTYPE html><html> <head> <meta charset="utf-8"> <titl

2020-12-23 19:45:10 195 1

原创 正则表达式和表单验证

1.正则表达式<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head> <body> <button>verify</button> <input type="text"> <script src="./js/jquery-3.1.1.j

2020-12-22 19:40:30 137

原创 点名器

<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <style> *{ margin: 0; padding: 0; } h3{ height: 45px; color: white; text-align: center; line-height: 45px

2020-12-21 20:21:41 942

原创 浮动-float 和定位-position

浮动-float 和定位-position1 浮动-float浮动是改变元素在文档流(元素默认从上往下布局的方式就叫文档流)中的规则,让元素可以在水平方向上进行排版float:left/right1.浮动后的元素,不论其本身是什么类型的框,都会变成块元素<head> <meta charset="utf-8"> <style type="text/css"> a{ float: left; height: 100px;

2020-12-16 19:49:18 237

原创 盒子模型

盒子模型3.1 边框线 border属性描述border-style边框线类型border-width边框线粗细border-color边框线颜色border-radius圆角效果div{ width: 200px; height: 200px; /* border-style: solid; border-width: 2px; border-color: #5F9EA0; */ border-top

2020-12-15 16:38:57 122 1

原创 CSS样式和选择器

CSS样式和选择器1.1 样式引入方式无论是通过什么形式或方式对元素添加了样式,那么最终都是要作用在元素上的注意:在HTML页面中所有的元素都是从上往下依次加载的例如:行内样式相当于自己决定要不要打扮的问题内联样式是朋友建议的打扮方式外联样式是化妆公司给的打扮方式行内样式:直接在标签上使用style属性,该优先级是最高的存在的问题:样式和元素耦合性太强,不利于后期维护内联样式:当前页面的head标签中使用style标签,出现内联样式的原因是为了简化当前页面冗余的

2020-12-14 20:00:52 258

原创 2020-12-10

1 网络编程1.1 网络协议http协议的里程:http0.9版本:短链接、只支持GET请求、响应的数据格式只能是html的字符串http1.0版本:短链接、可支持GET请求、POST请求,增加了状态码、响应的数据格式多元化(数字、字符串、图片、视频等)http1.1版本:长链接、可支持GET、POST、DELETE、PUT等请求,增加100状态码等面试题:tcp/ip和udp/ip协议的区别1.udp是无状态传输协议,不保证安全,容易丢包2.tcp协议在传输之前会先进行三次握手确认,

2020-12-10 18:42:33 101 1

原创 Timer和Quartz的区别

Timer和Quartz的区别1、Timer是java.util包自带的定时器,quartz是一个第三方提供的定时器2、Timer的任务是通过创建TimerTask子类进行实现,quartz则必须要新建一个class文件实现Job接口重写execute方法定义任务3、Timer只能控制执行的周期及开始时间,而quartz可以灵活、准确的控制日期节点以及执行次数定时器常见的定时器分两大块:1、Timer 在java.util包中提供的定时器2、quartz 第三方提供的定时器就像

2020-12-09 18:39:30 974 1

原创 jdbc连接数据库

jdbc连接数据库1.概念数据库是用于管理数据的,后台是用于根据业务做逻辑处理的,前台显示数据并进行交互驱动包:DriverManager(驱动管理-注册驱动)、Statement(编译及执行SQL语句)、ResultSet(处理结果集)2.步骤:1、关联数据库驱动包(不同的数据库使用的驱动包是不一样的)2、注册驱动(通过反射进行驱动的注册)3、连接数据库获取数据库连接对象(登录-选择数据库的过程)4、执行SQL语句5、处理结果集6、关闭数据库连接对象3.关键词:关键词:

2020-12-03 17:31:42 90

原创 SQL基础学习(下)

SQL基础学习(下)7. 多表查询当多张表存在关联关系时,根据需求的不同可能会同时需要多张表一起使用7.1 子查询注意:每一个查询的SQL语句其结果本身就是一张表将某个SQL的查询结果作为另一个SQL的查询条件# 查询员工编号为7的员工所在的部门信息select dno,dname,loc from depart where dno=(select dno from emp where eno=7);注意:= > <等等后面只能跟一个值(子查询的结果必须是唯一的)# 查询性别

2020-12-02 18:49:10 174

原创 MySQL基础语法

MySQL基础语法3.1 数据库操作# 查看所有的数据库show databases;# 选择一个数据库use 数据库名;# 查看当前所在的数据库select database();# 创建数据库create database 数据库名;# 删除数据库drop database 数据库名;3.2 数据类型1.数字类型,包含了整数和小数decimal是没有精度缺失,常用于需要精确度较高的类型(利率…),常规的价格之类的使用double即可2.字符类型(string)char

2020-12-01 19:52:17 143

原创 Java的23种设计模式

Java的设计模式1.总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。2、工厂方法模式(Factory Method)工厂方法模式分为三种:2.1普通工厂模式,就是建立一个工厂类,对实现了

2020-11-28 11:23:41 384

原创 线程介绍及创建方式

线程1 线程介绍思考:什么是进程?什么是线程?两者之间什么关系?进程:就是一个正在运行的程序,比如:typeroa、eclipse、浏览器等等线程:线程是进程中的一个执行单元,例如:QQ音乐播放音乐和下载音乐关系:在一个进程中可以包含多个线程当需要在同一个时刻去做多件事情时,就需要开启多个线程关键词:Thread、Runnable2 线程创建方式...

2020-11-26 18:40:59 100

原创 Java基础综合案例

Java基础综合案例1 题目需求:提供对应的方法,能够让用户可以根据ID或者文件路径来获取对应的对象思路:解析给定的xml文件,将解析后的ID和class的值存储起来(使用键值对),根据用户给定的条件(ID,路径名)返回对应的class对象2 步骤:1、解析用户指定的xml文件,返回解析后的文档(document)对象2、创建Map集合,用于存储解析后的ID及class的值3、定义一个功能–根据ID返回对象4、定义一个功能–根据路径名返回对象3.具体程序实现package c

2020-11-25 16:54:34 241

原创 java反射

java反射1.概念:读取class文件,获取该文件中的属性、方法等思考:在开发的过程中会经常使用第三方的jar包,那么程序关联了对应的jar包是如何知道对应的class文件所有的属性和方法都是什么呢?2.作用:用来获取指定路径下的class文件中所具备的所有的属性和方法在开发的时候,当导入第三方的jar包时,开发人员是可以直接在java文件中进行使用,并可以看到其中都有哪些方法及属性,因为,当把jar包通过build path,将jar包关联到项目的时候,其实就相当于是在做

2020-11-24 19:05:44 77

原创 Io流

Io流1 File文件1.1 概念:File对象是将平时所用到的关于文件相关的操作进行的封装,方便使用递归操作:自己调用自己,要求必须要有结束的条件package cn.yunhe.file;import java.io.File;import java.io.IOException;public class FileDemo { public static void main(String[] args) throws IOException { test("D:\\Java课堂

2020-11-23 18:53:48 120 1

原创 集合泛型

泛型1.泛型的作用:1、不限制类型 ,不限制和不给定泛型,默认是Object类型是一样的效果,可以简单的理解为将Object类型显示的给指明出来,但是呢,不明确的说是Object类型,而是换了一种形式,使用泛型代替(一个字母);2、限制类型,限制集合中所能存储的数据类型,不用强制类型转换,将错误提前到了编译时期。3.特殊字符:<>4.不限制类型:现在有很多个查询功能,返回的都是List集合,操作流程和方式是一样的,但是集合中存储的类型不同,2.泛型的用法: *

2020-11-20 16:09:25 158

原创 双列集合及collections

双列集合1.概念:Map集合是双列集合,是以键值对的形式存储数据的,关于键值对可以简单的理解为数学学的映射关系。Map集合中key值不能重复的,同时,key所对应的值至多为一个。TreeMap是基于key来进行自然排序的。2.Map集合中常用的子类有两个:HashMap、TreeMapput(Object key,Object value)putAll(Map map)remove(Object key)remove(Object key,Object value)g

2020-11-19 20:06:05 167 1

原创 集合

集合概念:集合是一个容器,数组也是一个容器,但是呢数组的大小是固定的、类型是唯一的因此在某些需求上有限制。Collection被称为是单列集合。3.关键词:Collection(单列集合)、Map(双列集合)1、 单列集合集合特点:1、容器大小可变2、可以存储多种数据类型的值【只能是引用数据类型,对基本数据类型而言存储的是其包装类】根据集合的存储方式不同,将集合划分两大类:一类是单列集合,另一类是双列集合2、 Collection中的方法package cn.yunhe.collec

2020-11-18 18:48:04 112

原创 异常体系

异常体系一、 异常关于异常,一旦程序出现了错误或异常,那么程序就直接结束了,处理异常的目的在于能让程序正常执行。所谓的异常就是在整个Java程序中出现的各种错误或异常关键词:Throwable 所有异常的老大概念总结:Throwable包含两大模块(错误和异常),所有的错误或异常只有归属到Throwable体系下才能被虚拟机识别错误(Error):所有的错误类后缀都是Error,错误的出现往往意味着虚拟机本身出现了问题,例如:OutOfMemoryError(内存溢出错误),StackOve

2020-11-17 18:56:21 103

原创 内部类

内部类1.什么是内部类?概念:定义在类中的类2.怎么用的?就像在类中定义属性一样修饰符 class 类名{}第一:内部类相当于是外部类中的一个属性第二:内部类本身也就是一个类,跟正常的类一样3.为什么要用它?类的生命周期程序运行时开始到程序结束时销毁,但是呢,某些情况下,在整个应用程序中对该类的使用频率较低,那此时就需要将其定义为内部类,以缩短其生命周期;简单点来说:缩短类的生命周期划分:内部类、局部内部类、匿名内部类使用场景:当类或该类的对象并不是很常用的时候,就可以定义为内部类

2020-11-16 19:05:32 82

原创 String知识练习

String知识练习1、定义字符串数组,数组中包含的是图片格式,要求:判断文件是否是图片,如果是图片,将其名字用随机数(数字+字母共四位数组成)的形式进行重新命名package cn.yunhe.practice;import java.util.UUID;/** * 定义字符串数组,数组中包含的是图片格式,要求:判断文件是否是图片,如果是图片,将其名字用随机数(数字+字母共四位数) * 1、先知道该功能的操作过程是什么 * 2、根据需求梳理步骤 * a、定义图片格式对应的数组 *

2020-11-13 19:26:21 159

原创 String

String1. 概念String是引用数据类型,表示字符串(其实是由多个字符组成的)2 .String类特点String是final修饰的,所以是最终类,最终类是不能被继承的,既然不能被继承也就意味着里面的方法不能被重写3. 字符串常量池字符串是常量,所有的字符串常量都是存储在常量池中的,每个常量在常量池中都有地址;在常量池中,如果定义的常量在常量池中已经存在,则不会再进行创建,而是直接拿来用,如果不存在就创建一个常量扔进常量池中/4.String对象的创建形式public

2020-11-12 17:26:27 275 2

原创 java接口及其特性

接口及其特性1.接口由来当抽象类中的方法都是抽象方法,变量都是常量时,建议将该类转换为接口描述2.关键词:interface/implements3.接口的特点耦合性低、规范化等等,接口与接口之间可以多继承,类与接口之间可以多实现例如:电脑上的USB接口,即插即拔式,扩展性强,有规则要求4.接口的命名规则:建议首字母以I开头package cn.yunhe.inter;/** * 接口:当抽象类中的方法都是抽象方法的时候,建议将该类定义为接口 * (USB接口:耦合性低、规则

2020-11-11 17:31:26 278

原创 java中方法的重载与重写

java中方法的重载与重写1.方法重载在同一个类中,方法名相同,参数列表不同(参数位置、参数个数、参数类型),与返回值类型无关问题:为什么需要所谓的方法的重载?原因:多个方法具有相同的功能特性,但是呢,每个功能的实现方式可能不同 //需求:求较大值(两个数)public static int max(int x,int y){ if(x>y){ System.out.println(x); }else{ System.out.println

2020-11-10 20:04:35 85

原创 static关键字和数组创建

一、 static关键字意义:static修饰的变量叫静态变量,修饰的方法叫静态方法重要概念:所谓的静态在java中指随着虚拟机的加载而加载的变量及方法,称之为静态变量或方法(直白点讲就是static修饰的变量和方法会随着虚拟机的加载而加载)编译的过程:启动虚拟机、加载java文件、验证规则、生成class(字节码)文件注意点:双亲委托机制,ClassLoader加载class文件非静态的变量及方法的概念:未被static修饰的变量或方法称为非静态变量或方法,只有当创建对象的时候才会被加载进内存

2020-11-09 19:20:34 924

原创 构造器和this的不解之缘

一、构造器是什么?构造器也叫构造方法构造方法和普通方法的区别:1. 构造方法的修饰符只有权限修饰符,普通方法还可以有static等关键词2. 构造器是无返回值类型的(连void都没有),普通方法是有返回值的3. 构造器的名字只能和类名一样,普通方法的方法名可以随意写构造器的作用:用于创建对象开辟空间、做初始化操作二、this关键字概念:this代指当前对象运用前提的思考点:类中所有的非静态方法和属性都需要通过对象调用思考以下代码的结果:package day5;public cl

2020-11-06 17:29:01 74

原创 代码对应内存中的执行流程

**代码对应内存中的执行流程**虚拟机中的内存区域划分:所谓的内存区域划分只是程序界给出的一种虚拟的概念1.栈 程序运行的区域,效率最高,方法的调用执行,基本数据类型定义(局部变量)2.堆 用于存储引用数据类型的区域3. 方法区 所有类的方法都在方法区4. 计数器

2020-11-05 20:27:05 125

空空如也

空空如也

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

TA关注的人

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