自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

但行好事 无问西东

菜鸟的博客

  • 博客(93)
  • 收藏
  • 关注

原创 面向对象(封装、this、private、static关键字)

面向对象(封装的概述)封装概述:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。封装好处:隐藏实现细节,提供公共的访问方式提高了代码的复用性提高安全性。封装原则:将不需要对外提供的内容都隐藏起来。把属性隐藏,提供公共方法对其访问。面向对象(private关键字的概述和特点)private关键字特点:是一个权限修饰符可以修饰成员变量...

2019-04-10 22:59:11 947

原创 Spring框架学习(1)

在上篇博客中讲解了Spring框架中的IOC思想,要通过Java代码实现IOC思想还存在一些问题Spring框架学习(1)在之前的ui类中添加一些代码for (int i = 0; i < 5; i++){ IUserDao dao = (IUserDao)Factory.getBean("dao"); System.out.println(dao);}运行程序...

2019-12-15 22:40:27 183

原创 Spring框架学习

在之前讲解过Spring的相关知识,但是都比较浅,而且没有将框架的灵魂——反射 融入其中,这次的Spring的讲解将主要从反射入手Spring框架学习在之前讲解了Mybatis框架的一些基本使用方法,今天讲解Spring在我们学习框架之前要完成一个简单的业务,需要使用到三层架构(表现层、服务层、持久层),在没有学习框架之前我们靠纯Java代码来实现这个一个简单的业务Java纯代码实现三层架...

2019-12-15 21:11:15 283

原创 Mybatis回顾(实现增删改查)

使用Mybatis框架实现增删改查在IDEA中创建项目,项目的目录结构和之前的完全一样,但是UserDao接口中会依次添加一些方法来实现对数据库的增删改查,在UserDao.xml中依次实现对UserDao接口中添加的各个方法的配置,最终完成这个项目查询所有关于查询所有在之前的博客中都有过讲解在UserDao接口中添加/** * 查询所有用户 * @return */ Lis...

2019-12-09 23:23:04 209

原创 Mybatis框架回顾(dao实现类和注解分别实现简单案例)

Mybatis框架回顾在上篇博客中讲解了搭建Mybatis环境的几点注意事项,因为遵守3、4、5点,所以直接使用dao接口的代理对象来对数据库执行操作,我们直接通过xml配置文件配置即可,不需要再创建dao接口的实现类,其实使用实现类也可以完成,接下来就演示通过dao接口的实现类来完成对数据库的操作既然使用实现类来完成对数据库的操作,那么就不需要使用代理对象来执行相应的方法了,这是现在的目...

2019-12-07 22:01:07 390

原创 Mybatis框架回顾(XML实现简单案例)

在之前有过Mybatis框架的博客但讲的都比较浅显,今天在之前的基础上有自己更深层次的理解Mybatis概述框架的概念框架是可被应用开发者定制的应用骨架。简而言之,框架其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。Mybatis代码演示项目创建及导入依赖在IDEA中新建一个项目因为...

2019-12-07 18:08:01 198

原创 Request对象(获取请求数据中的乱码问题)

中文乱码问题:在web目录下创建register3.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <form...

2019-12-05 22:16:30 2157

原创 Request对象(获取请求数据)

Request对象在之前的service方法中有两个参数request对象和response对象, request和response对象是由服务器创建的。在我们向服务器发出请求时请求肯定会携带请求参数,在Tomcat中创建了Request对象,这个对象中封装了请求消息数据;创建的Response对象用来填充数据,这两个对象都将被作为参数传递给service方法...

2019-12-03 23:28:47 2017

原创 Servlet(HTTP)

HTTP概念:Hyper Text Transfer Protocol 超文本传输协议传输协议:定义了,客户端和服务器端通信时,发送数据的格式特点:基于TCP/IP的高级协议默认端口号:80基于请求/响应模型的:一次请求对应一次响应无状态的:每次请求之间相互独立,不能交互数据历史版本:1.0:每一次请求响应都会建立新的连接1.1:复用连接请求消息...

2019-12-03 23:08:33 109

原创 Servlet接口的子类(GenericServlet、HttpServlet)

在之前的博客中《Servlet基础知识》中讲解了Servlet的概念、编写步骤、运行原理及生命周期进行了讲解,这篇博客主要讲解Servlet接口及其子类Servlet接口及子接口GenericServlet在之前的Servlet编写中,我们要实现Servlet接口并且重写其中的5个方法,但是只有一个方法即service方法是我们在每次访问浏览器时会执行的方法,这个方法最为重要,那么对其他几个...

2019-12-02 14:06:21 1683

原创 Servlet基础知识

Servlet基础知识Servlet概念Servlet(server applet)概念:运行在服务器端的小程序之前讲解HTML的时候提到过动态资源技术有Servlet,动态资源可以让两个用户请求同一个服务器时获得不同的响应,说明在Servlet中存在代码逻辑,而Java中所有的代码都是被封装到类中的,所以访问一台服务器上的Servlet其实就是在访问这个Servlet中的那个Java类S...

2019-11-29 17:21:04 209

原创 Tomcat项目的部署

Tomcat项目的部署新建一个文件夹,在下面创建一个html文件文件的内容为<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body>hell...

2019-11-28 20:04:25 146

原创 Tomcat的安装教程

Tomcat安装及启动前往Tomcat官网进行安装包下载在Download中选择Tomcat 8 版本在8.5.49版本中选择和我们的电脑位数相同的版本的Tomcat我们可以在文件资源管理器中查看我们电脑的位数在属性可以查看到电脑的位数可以看到电脑的位数,我们下载相应的位数的Tomcat下载完成后开始安装,这里我们演示的是我之前电脑上就有的安装包8.5.31版本的Tomcat我们将...

2019-11-27 19:15:17 317

原创 服务器基础知识以及Tomcat的集成

服务器基础知识服务器:安装了服务器软件的计算机服务器软件:接收用户的请求,处理请求,做出响应我们通常所说的服务器软件都是web服务器软件常见的java相关的web服务器软件:webLogic:oracle公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。webSphere:IBM公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。JBOSS:JBO...

2019-11-27 18:04:03 358

原创 HTML回顾(表单标签)

HTML表单标签表单表单:用于采集用户输入的数据的。用于和服务器进行交互。<form>:用于定义表单的。可以定义一个范围,范围代表采集用户数据的范围属性:action:指定提交数据的URL,我们采集的用户输入的数据会被提交到指定的URLmethod:指定提交方式分类:一共7种,2种比较常用get:1. 请求参数会在地址栏中显示。会封装到请求行中(HTTP协议后讲解...

2019-11-16 18:40:27 177

原创 HTML回顾(基础标签)

在对HTML进行回顾之前我们先对web的相关知识进行讲解web概述JavaWeb:使用Java语言开发基于互联网的项目软件架构:C/S: Client/Server 客户端/服务器端:在用户本地有一个客户端程序,在远程有一个服务器端程序,如:QQ,迅雷…优点:1. 用户体验好缺点:1. 开发、安装,部署,维护 麻烦B/S: Browser/Server 浏览器/服务器端:...

2019-11-15 23:59:46 245

原创 DQL对表中的记录进行查询

DQL:查询表中的记录* select * from 表名;1. 语法: select 字段列表 from 表名列表 where 条件列表 group by 分组字段 having 分组之后的条件 order by 排序 limit 分页限定2. 基础查询 1. 多个字段的查询 select 字段名1,字段名2... from 表名; ...

2019-11-09 20:47:02 145

原创 DML增删改表中数据

DML:增删改表中数据对数据库中的表进行操作1. 添加数据: * 语法: * insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n); * 注意: 1. 列名和值要一一对应。 2. 如果表名后,不定义列名,则默认给所有列添加值 insert into 表名 values(值1,值2,...值n); 3. 除了数字类型,其他...

2019-11-09 19:41:28 110

原创 DDL操作数据库、表

DDL:操作数据库、表操作数据库操作数据库:CRUD 1. C(Create):创建 * 创建数据库: * create database 数据库名称; * 创建数据库,判断不存在,再创建: * create database if not exists 数据库名称; * 创建数据库,并指定字符集 * create database 数据库名称 characte...

2019-11-09 19:32:55 158

原创 数据库、MySQL安装以及SQL概念

数据库的基本概念数据库是用于存储和管理数据的仓库。数据库的英文单词: DataBase 简称 : DB数据库的特点:1. 持久化存储数据的。其实数据库就是一个文件系统2. 方便存储和管理数据3. 使用了统一的方式操作数据库 – SQL如果我们将数据存储在内存中,那么在计算机重新启动后内存中存储的数据就会丢失,所以为了能够将数据长期存储,我们将数据存储在硬盘的文件中,来起到长期存储数据的...

2019-11-03 13:45:14 170

原创 反射(2)

反射反射是Java体系中非常重要的内容,它被称为框架设计的灵魂,这里我们简单介绍下框架的概念。框架:半成品软件,因为是半成品软件,所以框架不能独立的运行,我们在框架的基础上进行软件的开发,可以简化编码的动作,编写完整的软件。在掌握反射后学习框架部分时就能有更深入的了解。反射:将类的各个组成部分封装为其他对象,这就是反射机制。这句话有点难以理解,我们讲解一下Java代码在计算机汇总经历的三...

2019-11-02 12:26:56 129

原创 Junit单元测试

Junit单元测试在我们编写完一个类后,往往需要对这个类进行测试,在编程中测试有两种:黑盒测试和白盒测试黑盒测试:我们将要被测试的代码看做是一个黑盒子,我们不知道这个黑盒子中的具体实现,我们只需要给这个黑盒传递指定的参数,然后看运行结果是否和我们预期的结果是否一致,根据运行结果判断这个类的编写是否达到了预期的效果白盒测试:我们将要被测试的代码看做是一个白盒子,我们知道这个白盒子中的具体实...

2019-10-26 17:25:08 507

原创 二叉树

在讲解了之前的数据结构后我们讲解一下最经典的数据结构二叉树树树(Tree)是n(n≥0)个结点的有限集。n=0时称为空树。在任意一棵非空树中:有且仅有一个特定的称为根(Root)的结点;当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2、…、Tm,其中每一个集合本身又是一个树,并且称为根的子树(SubTree)。下图表示一棵树:根的子树:需要注意...

2019-09-24 23:51:26 111

原创 队列的链式存储结构及实现

在之前讲解了顺序队列,接下来讲解队列的链式存储结构及实现队列的链式存储结构及实现在队列的链式存储中我们将队头指针指向单链表的头结点,队尾指针指向终端节点在队列为空时,front和rear都指向头结点链队列的结构为:# define MAXSIZE 1000# define OK 1# define ERROR 0# define TRUE 1# define FALSE 0...

2019-09-16 23:50:41 1036

原创 队列概述及队列的顺序存储

队列概述队列是只允许在一端进行插入操作,在另一端进行删除操作的线性表队列是一种先进先出的线性表,允许插入的一端称为队尾,允许删除的一端称为队头,假设队列是q=(a1, a2, a3, …, an),那么a1就是队头元素,an是队尾元素,我们需要进行删除操作时总是从a1开始,而在an后进行插入队列在我们的实际应用中非常频繁,比如我们多个用户同时访问一个应用的客服,客服的数量总是少于用户的数量...

2019-09-16 20:10:10 844

原创 栈的链式存储

栈的链式存储在讨论完栈的顺序结构后我们需要了解栈的链式结构,简称为链栈在单链表中有头指针,而栈也存在栈顶指针,所以我们可以将这两者合二为一,将头指针作为栈的栈顶指针,栈顶指针将作为整个单链表的起始位置,所以链栈不需要头结点了链栈的一大特点就是不会存在没有栈空间的情况,除非内存中已经没有可以使用的空间了,和顺序栈需要提前定义好数组相比灵活许多,对于空栈来说,top=NULL;链栈的结构代码如...

2019-09-11 00:40:32 555 1

原创 栈及栈的顺序存储结构的实现

在之前讲解了线性表的链式存储、顺序存储以及静态链表,循环链表和双向链表我们只需了解即可,接下来我们讲解线性表的应用“栈”栈栈是限定仅在表尾进行插入和删除操作的线性表我们吧允许插入和删除的一端称为栈顶,另一端称为栈底,不含任何数据元素的栈我们称为空栈,栈又称为后进先出的线性表,简称为LIFO结构,可以理解为给枪的弹夹装子弹,后装的子弹会被先发射出去既然栈是线性表的一种,线性表有顺序存储和链式...

2019-09-09 09:19:51 927

原创 静态链表

静态链表在C语言中有指针,所以我们可以通过链表来灵活的操作数据,但是在一些语言如Basic、Fortran等早期的编程高级语言中,由于没有指针,那么我们所讲的线性表的链式存储就无法使用,我们应该怎样来在这些语言中实现链表呢?我们可以使用数组来代替指针,首先我们让数组的元素都是由两个数据域组成,data和cur,也就是说数组的每个下标都对应一个data和cur。数据域data用来存放数据元素,也...

2019-09-04 23:08:21 362

原创 线性表的链式存储

在上篇博客《线性表的概念和顺序存储》中讲解了线性表的顺序存储,它的存储结构实际上是在数组中储存,相关操作的实现在博客中有讲解,今天的博客讲讲线性表的链式存储在讲解链式存储之前我们先讲讲顺序存储存在的缺点:需要提前分配好数组存储空间,而且绝大多数情况下这段内存空间都不会被充分利用,存在资源浪费如果在表中进行插入和删除的操作时需要移动大量的元素线性表的链式存储结构的特点是用一组任意的存储单...

2019-09-02 09:29:50 290

原创 线性表的概念和顺序存储

线性表线性表是由n(n>=0)个数据元素(结点)a1,a2,…,an组成的有限序列,其中数据元素的个数n定义为表的长度,当n=0时成为空表,若线性表的名字为L,则非空的线性表(n>0)记作L =(a1,a2,…,an),同一个线性表的数据元素类型一般要求相同,称为同构线性表的相邻元素之间存在着前后顺序关系,其中第一个元素无前驱,最后一个元素无后继,其余每个元素有且仅有一个直接前驱和...

2019-09-01 17:54:57 314

原创 时间复杂度

时间复杂度在我们进行编程学习的初期,肯定编写过一个程序是求1+2+3+…+100,C语言代码为#include<stdio.h>int main(void){ int i, sum = 0, n = 100; for(i = 1; i <= n; i++){ sum = sum + i; } printf("%d", sum);} 但是我们也可以使用等差数...

2019-08-30 23:30:51 150

原创 数据结构

数据结构数据结构的起源早期人们都把计算机理解为数值计算的工具,就是感觉计算机当然是用来计算的,所以计算机解决问题,应该就先是从具体问题中抽象出一个适当的数据模型,设计出一个解此模型的算法,然后按照算法编写程序,得到一个实际的软件可现实中,我们更多的解决的不是数值计算的问题,而是需要一些更科学的有效的手段,比如(表、树和图等数据结构)的帮助,才能很好的处理问题,所以数据结构是一门研究非数值计算...

2019-08-30 19:38:42 116

原创 Spring MVC常用注解

在我的上篇博客中《Spring MVC简介》中,我们做了一个特别简单的项目,来大概描述了一下Spring MVC的原理和处理请求的流程,但是我们是通过让controller包下的类通过实现Controller接口来实现的控制器,这个控制器可以处理单一的请求但是如果我们有多个请求的话,就需要创建多个类来继承Controller接口,这就比较复杂,所以在实际开发中我们推荐使用 注解 来进行开发Sp...

2019-08-23 19:26:05 90

原创 Spring MVC简介

Spring MVC简介Java Web发展历程Java Web应用程序的结构经历了Model I和Model II两个时代,从Model I 发展到Model II 是技术发展的必然。Model I在早期的Java Web应用开发中,JSP文件即要负责处理业务逻辑和控制程序的运行流程,还要负责数据的显示,即用JSP文件来独立自主地完成系统功能的所有任务。传统的Model I模式,如图所示...

2019-08-19 19:20:42 560

原创 Spring中数据库编程

在之前讲解了Spring中的两大重要元素:IOC和AOP,接下来我们需要讲解一下Spring中的数据库编程Spring中数据库编程传统的JDBC代码即使执行一条简单的SQL语句也并不简单,首先要打开数据库连接执行SQL语句,然后组装结果,最后关闭数据库资源,但是太多的try、catch、finally语句造成了代码泛滥在Spring出现后,为了解决这些问题,Spring提供了自己的方案,那就...

2019-08-18 12:20:47 507

原创 Spring中AOP思想

在之前讲解了Spring中的IOC思想,接下来我们讲解Spring的另外一大要素就是AOP,Spring最为重要的两个组成就是IOC和AOPAOP什么是AOPAOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向切面编程。可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。AOP实际是GoF设计模式的延续,设...

2019-08-15 13:48:07 290

原创 Spring中IOC思想(2)和依赖注入详解

在上次更新完《Spring中IOC思想(1)》博客后,也有段时间了,结合我对IOC更深层次的理解,我再写一篇关于IOC的博客IOCSpring框架的一个特点之一就是IOC思想IOC思想其实就是将创建对象的权利进行转变,也就是控制反转,另外一个名称是依赖注入在我们之前的博客讲解中,我们讲解到了个别案例,使用的是三层dao–>service–>前端在service层中我们需要对d...

2019-08-11 00:25:23 309 2

原创 Vue

VueVue概述框架是一个软件的半成品,在全局范围内给了大的约束。库是工具,在单点上给我们提供功能。框架是依赖库的。Vue是框架,而jQuery则是库。什么是MVCMVC的核心理念是:你应该把管理数据的代码(Model)、业务逻辑的代码(Controller)、以及向用户展示数据的代码(View)清晰的分离开通过MVC框架又衍生出了许多其它的架构,统称MV*,最常见的是MVVMVue与...

2019-08-06 17:25:12 152

原创 Json

JsonJson是什么JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。在我之前的一篇博客中有所讲解,在我们学习面向对象时,我们往...

2019-08-06 00:01:30 92

原创 ssm整合案例Spring(2)

ssm整合案例Spring(2)在上篇博客中我们已经将ssm项目和MyBatis进行整合,这篇博客会将Spring进行导入我们需要导入Spring及相关的包在resources目录下创建Spring目录,用来存放子文件,再创建一个applicationContext.xml来作为总文件,因为约定大于配置的原则在将这些文件创建完成后我们就需要给这些文件导入官网上给定的SpringMVC的配置...

2019-08-02 08:56:39 139

空空如也

空空如也

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

TA关注的人

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