自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DOGIOOH的博客

//真的不会Java啊

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

原创 Spring学习(二)---代理模式/AOP面向切面编程

Spring学习(二)—代理模式/AOP面向切面编程01 代理模式在学习AOP之前,我们需要先学习代理模式,因为AOP的底层机制就是基于动态代理实现的。什么是代理模式?代理模式是7种结构设计模式之一,其目的是提供一个代理对象,以控制客户对某个被代理的真实对象(委托类)的直接访问。通常,代理类负责为被代理的真实对象预处理消息,过滤消息并转发消息,以及消息被真实对象执行后的后续处理。但是核心...

2019-08-24 01:41:50 386

原创 Spring学习(一)---Spring Framwork入门/IoC思想和DI/基于注解的注入方式

Spring学习(一)—Spring Framwork入门/IoC思想和DI/基于注解的注入方式1. Spring Framwork入门​ 2002年,Rod Johnson首次推出了Spring Framwork的前身Interface21。2003年,Spring Framwork公司以Interface21为基础,进行重新设计并发布了Spring Framwork的1.0正式版。​ 值...

2019-08-09 00:33:26 416

原创 Mybatis学习(五)---动态SQL/缓存

01 动态SQLMyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其它类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句的痛苦。动态SQL就是指根据不同查询条件,生成不同的SQL语句MyBatis 3 大大精简了元素种类,现在只需学习原来一半的元素便可。MyBatis 采用功能强大的基于 OGNL 的表达式来淘汰其它大部分元素。if:提供一种可选的查找文...

2019-07-24 22:50:18 278

原创 Mybatis学习(四)---多对一的处理/一对多的处理

准备工作:在数据库中创建测试需要的数据表CREATE TABLE `teacher` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=INNODB DEFAULT CHARSET=utf8INSERT INTO teacher(`id`, `name`) V...

2019-07-24 22:47:51 250

原创 Mybatis学习(三)---Java日志(log4j)的实现/分页的实现/Mybatis的优化使用(事务/别名/注解)

Mybatis学习(三)—Java日志(log4j)的实现/分页的实现/Mybatis的优化使用(事务/别名/注解)01 Java日志的实现Mybatis 的内置日志工厂提供日志功能,内置日志工厂将日志交给以下其中一种工具作代理:SLF4JApache Commons LoggingLog4j 2Log4jJDK logging准备步骤:Maven仓库下载log4j的依赖...

2019-07-24 22:44:09 304

原创 Mybatis学习(二)---配置文件详解/如何解决属性名和字段名不一致问题

Mybatis学习(二)—配置文件详解/如何解决属性名和字段名不一致问题01 标签属性<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" ...

2019-07-23 17:52:14 762

原创 MyBatis学习(一)---Mybatis简单入门/Mybatis操作数据库(增删改查)

MyBatis学习(一)—Mybatis简单入门/增删改查01 什么是Mybatis?推荐参考官方文档学习该框架。Mybatis原名是ibatis,三代之后改名为Mybatis。Mybatis3被托管在GitHub上,附GitHub托管地址。目前最新的版本是Mybatis-3.5.2,最新的版本一般不太稳定,这里,使用Mybatis-3.5.1进行学习。MyBatis 是一款优秀的持久层框...

2019-07-23 16:17:33 336

原创 Git学习(三)---如何在IDEA中使用Git

Git学习(三)—如何在IDEA中使用Git首先,打开IDEA,在setting中搜索Git,配置Git,然后点击Test,如果配置成功会提示Git版本号。打开一个项目,在顶部工具栏中的VCS里将项目继承到Git中配置完之后,打开项目路径,如果产生了一个.git目录,则说明该项目成功配置为了一个git项目。项目的推送方式有两种,一种是在git bash here中手动推送至远程仓库...

2019-07-21 17:48:29 141

原创 Git学习(二)---Git的工作流程/如何搭建Git本地仓库/如何获得远程仓库/如何搭建自己的远程仓库/如何操作远程仓库

Git学习(二)—Git的工作流程/如何搭建Git本地仓库/如何获得远程仓库/如何搭建自己的远程仓库/如何操作远程仓库01 Git是如何工作的Git的工作目录有哪些?**本地工作目录:**本地电脑上属于Git的文件夹。暂存区: 由本地推送的文件会暂存在这里。Git本地仓库: 存放由暂存区推送过来的文件或由远程仓库克隆的文件。Git远程仓库: GitHub、码云等等,负责远程托管项目,需...

2019-07-21 16:59:18 158

原创 Git学习(一)---Git简介/Git的下载与安装(附阿里云镜像下载地址)/Linux常用命令/如何给Git设置用户名和邮箱

Git学习(一)—Git简介/Git的下载与安装(附阿里云镜像下载地址)/Linux常用命令/如何给Git设置用户名和邮箱01 Git简介Git是目前世界上最先进的分布式控制系统。Git最牛逼最高大上的优点是可以进行版本控制。举例说明,小明在修改一份文档,每次修改都产生了一个新的版本,过了一段时间,小明想要找回删除的文字,或者文档中有一部分需要小红去完成,此时小明需要把文档发给小红,发给小红...

2019-07-21 15:59:00 3062

原创 JavaWeb学习(十二)---如何上传文件(附注释超详细的源码)

JavaWeb学习(十二)—如何上传文件(附注释超详细的源码)01 源码展示Servlet源码:准备工作:需要导入common-io和common-fileupload组件package com.hooi.servlet;import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload...

2019-07-20 14:24:39 224

原创 JavaWeb学习(十一)---邮件的发送与接收

JavaWeb学习(十一)—邮件的发送与接收01 邮件的发送与接收原理要在Internet上提供电子邮件功能,必须有专门的电子邮件服务器。电子邮箱(E-Mail地址)的获得需要在邮件服务器上进行申请。以QQ邮箱为例,需要从账户设置中开启POP3/SMTP服务。用户连接上邮件服务器之后,要想给它发送一封电子邮件,需要遵循一定的通讯规则,SMTP协议就是用来定义这种通讯规则的。用户若想从邮件服...

2019-07-19 19:01:23 1525

原创 JavaWeb学习(十)---EL表达式/Filter过滤器

JavaWeb学习(十)—EL表达式/Filter过滤器01 EL表达式**EL 全名为Expression Language。**EL主要作用:  1、获取数据    EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域中检索java对象、获取数据。​ 语法:${标识符}​ EL表达式语句在执行时,会调用pageContext.findAttribute方法,用...

2019-07-18 23:16:40 421

原创 Maven的下载安装/在IDEA下创建Maven项目

Maven的下载安装/在IDEA下创建Maven项目**在JavaWeb的开发中,随着项目越来越大,相应的,项目管理也随之变得十分复杂繁琐。如果有一个可以管理项目的工具,会极大的简化一些诸如导包这类琐碎的工作。 **01 下载与安装下载地址:http://maven.apache.org/download.cgi下载成功后进行解压02 配置环境变量添加环境变量编辑path在...

2019-07-18 23:15:45 134

原创 JavaWeb学习(九)---JSP原理/JSP基本语法/JSP指令/JSP标签

JavaWeb学习(九)—JSP原理/JSP基本语法/JSP指令/JSP标签01 JSP原理JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据。...

2019-07-18 21:10:49 247

原创 JavaWeb学习(八)---案例:Servlet实现注册和登录页面的处理

JavaWeb学习(八)—案例:Servlet实现注册和登录页面的请求处理本案例主要实现了以下功能:​ 1.首页点击注册跳转至注册页面,点击登录跳转至登陆页面。​ 2.注册页面提交表单验证,注册成功跳转至登录页面,注册失败提示错误信息,重定向至注册页面。​ 3.登陆页面提交表单验证,登陆成功跳转至用户信息页面,登录失败提示错误信息,重定向至登陆页面​ 4.用户信息页面动态读取用户数据,点...

2019-07-18 20:58:17 5397 2

原创 JavaWeb学习(七)---会话/Cookie对象/Session对象/多个Web资源通过Session共享数据/如何注销Session

JavaWeb学习(七)—会话/Cookie对象/Session对象/多个Web资源通过Session共享数据/如何注销Session​ 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。通常会话是长期保持的,无论用户关闭多少次浏览器,这个会话都要存在。每个用户在使用浏览器与服务器进行会话的过程中,不可避免各自会产生一些数据,程...

2019-07-18 20:42:35 233

原创 JavaWeb学习(六)---Request对象/Response对象/重定向和转发请求的区别

JavaWeb学习(六)—Request对象/Response对象/重定向和转发请求的区别Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象、和代表响应的response对象。因此,如果我们想要获取客户端的请求数据,只需要通过request对象就可实现,如果想向客户端响应回传某些数据,使用response对象即可。01 Request对象当客...

2019-07-18 15:22:55 214

原创 JavaWeb学习(五)---ServletContext对象/通过servletContext对象读取配置文件

JavaWeb学习(五)—ServletContext对象/通过servletContext对象读取配置文件01 ServletContext对象WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的`ServletContext`对象,它代表当前web应用。一个WEB应用中的所有`Servlet`共享同一个`ServletContext`对象,`Servlet`对象之间可以通过`Ser...

2019-07-18 15:22:27 541

原创 JavaWeb学习(四)---Servlet概念/Servlet运行过程/Servlet实现类/使用IDEA开发Servlet

JavaWeb学习(四)—Servlet概念/Servlet运行过程/Servlet实现类/使用IDEA开发Servlet01 Servlet概念由sun公司开发的用于开发动态web资源的技术开发动态WEB资源需要完成两个步骤:编写一个Java类,实现Servlet接口。IDEA2018版本可以直接创建一个servlet把开发好的Java类部署到web服务器中(配置web.xm...

2019-07-16 22:17:07 243

原创 JavaWeb学习(三)---如何发布一个WEB项目浏览器与服务器的交互原理

JavaWeb学习(三)—如何发布一个WEB项目/浏览器与服务器的交互原理01 如何发布一个WEB项目Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射。方式1:打war包,发布至Tomcat的webapps目录下,具体步骤可参考https://www.cnblogs.com/morewindows0/p/8280865.htm...

2019-07-16 17:58:29 868

原创 JavaWeb学习(二)---如何在IDEA中搭建JavaWeb应用开发环境

JavaWeb学习(二)—如何在IDEA中搭建JavaWeb应用开发环境01 准备为什么要安装服务器?本地上的web资源是无法被用户访问的,任何Web资源想要被远程计算机访问,必须通过一个与之对应的网络通信程序将数据发送给访问者,而服务器就是帮我们完成了网络通信这部分工作。准备:1.1 服务器:Tomcat 9进入http://tomcat.apache.org/在downlo...

2019-07-16 16:43:42 1060

原创 JavaWeb学习(一)---WEB开发入门

JavaWeb学习(一)—WEB开发入门01 概念什么是WEB?WEB的分类?顾名思义,WEB就是网页。网页用于表示网络主机上供外界访问的资源。WEB资源可以分为静态WEB和动态WEB。静态WEB是指网页中的供客户浏览的数据始终保持不变,一般通过html技术实现,JavaScript可以在静态页面的基础上实现一些动态特效,但是这些特效都是在客户端上借助于浏览器展现给用户的,所以在服务器上...

2019-07-16 16:18:08 151

原创 JDBC学习(四)---MySQL事务/MySQL的事务控制/JDBC操作事务

JDBC学习(四)—MySQL事务/MySQL的事务控制/JDBC操作事务01 事务MySQL事务:将一组SQL语句放在同一批次内去执行,如果一个SQL语句出错,则该批次内的所有SQL都将被取消执行。MySQL事务处理只支持InnoDB和BDB数据表类型。事务的原则:原子性(Atomic):整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。一致性(con...

2019-07-13 00:58:56 197

原创 MySQL学习(五)---MySQL备份数据库/三大范式

MySQL学习(五)—MySQL备份/数据库三大范式01 MySQL备份数据库备份的必要性:1.保证重要数据不丢失 2.数据转移MySQL数据库备份方法:1.mysqldump备份工具 2.数据库管理工具,如SQLyog 3.直接拷贝数据库文件和相关配置文件mysqldump客户端的使用:#导出一张表mysqldump -u用户名 -p密码 库名 表名 > 文件名(D:...

2019-07-13 00:55:17 151

原创 JDBC学习(三)---SQL注入问题/PreparedStatement对象

JDBC学习(三)—SQL注入问题/PreparedStatement对象01 SQL注入问题所谓SQL注入,就是通过把SQL命令插入到Web表单提交,最终达到欺骗服务器执行恶意的SQL命令。程序示例:以SQL语句:select * from users where name = ‘不存在的用户名’ or 1=1;为例public class TestDemo1 { public...

2019-07-12 23:16:09 364

原创 JDBC学习(二)---将JDBC优化为工具包/数据库的增删改查

JDBC学习(二)—将JDBC优化为工具包/数据库的增删改查01 JDBC的优化为了优化对JDBC的使用,避免代码的重复率,将创建JDBC的繁琐过程简化为工具包中的各个方法。具体步骤如下:新建配置文件:内容包括创建连接时所需的驱动,数据库的用户名和密码,以及url在src下建立db.properties,内容如下driver = com.mysql.jdbc.Driveruse...

2019-07-12 23:15:08 147

原创 JDBC学习(一)---JDBC的概念/JDBC相关类/如何使用JDBC

JDBC学习(一)—JDBC的概念/JDBC相关类/如何使用JDBC01 JDBC概念JDBC:Java Data Base Connectivity,Java数据库连接SUN公司为了简化、统一对数据库的操作,定义了一套Java操作数据库的规范(接口),称之为JDBC。应用程序必须要通过相应的数据库驱动程序与数据库进行交互。因此,开发人员想要操作数据,需要通过jdbc加载具体的驱动。...

2019-07-12 23:14:37 281

原创 MySQL学习(四)---常用MySQL函数

MySQL学习(四)—常用MySQL函数常用MySQL函数函数一般与查询语句嵌套使用数学函数绝对值: ABS()向上取整:CEILING()向下取整:FLOOR()随机数:RAND()符号函数(负数返回-1,正数返回1,0返回0):SIGN()字符串函数 CHAR_LENGTH(str);返回字符串str包含的字符数 CONCAT('char1','char2')...

2019-07-12 23:13:41 91

原创 MySQL学习(三)---使用join进行连接查询/内连接/左外连接/右外连接/自连接/排序和分页/子查询

MySQL学习(三)—使用join进行连接查询/内连接/左外连接/右外连接/自连接/排序和分页/子查询01 连接查询等值连接:适用于两个表或者是多个表有关系的情况,where子句中使用=等号为限定条件非等值连接:where子句中使用模糊匹配为限定条件02 内连接# 语法:inner join# 结果:查询两个表中的结果集中的交集# 示例:查询参加了考试的同学信息(学号,学生姓名,...

2019-07-12 23:13:03 502

原创 MySQL学习(二)---使用DQL查询数据

MySQL学习(二)—使用DQL查询数据01 DQL语言介绍DQL(Data Query Language 数据查询语言)可用来查询数据库数据,进行简单的单表查询或者多表的复杂查询和嵌套查询。02 SELECT# 查询表中所有的数据列结果,采用通配符*# 示例1:查询student表中的所有信息select * from student;# 示例2:查询student表中的指定列(...

2019-07-12 23:12:36 168

原创 MySQL学习(一)---数据库的概念/基本操作命令/数据表的增删改/外键

MySQL学习(一)—数据库的概念/基本操作命令/数据表的增删改/外键01 概念数据库相关概念DB:DataBase数据库(一个数据“仓库”,能够保存并安全管理数据。数据有组织,可共享。)SQL :关系型数据库 (关系型数据库通过外键关联来建立表与表之间的关系)NOSQL :Not Only SQL 非关系型数据库 (非关系型数据库通常指数据以对象的形式存储在数据库中,而对象之间的关...

2019-07-12 23:12:02 294

原创 零Linux基础突击RHCSA认证考试---傻瓜式总结

零Linux基础突击RHCSA认证考试—傻瓜式总结准备步骤进入考试系统前,需要先进行注册,填写自己的相关信息,注册时填写的名字为证书上的名字,邮箱填写建议填写QQ邮箱。附加题进入考试系统//点击Manage VMS--->开启classroom--->开启desktop//点击view desktop 进入redhat页面 选择notlist 使用用户名root密...

2019-07-11 18:13:03 4068

原创 Java从入门到放弃39—Java内存分析/类的加载过程/类的主动引用和被动引用/Classloader

Java从入门到放弃39—Java内存分析/类的加载过程/类的主动引用和被动引用/Classloader01 Java内存分析Java内存区可大致分为堆内存,栈内存以及方法区。堆内存:用于存放new的对象和数组,可以被所有的线程共享,不会存放别的对象引用。栈内存:存放基本变量类型和引用对象变量,存放基本变量类型会包含这个基本类型的具体数值,而存放引用对象的变量会存放这个引用在堆内存中的具...

2019-07-02 16:54:42 162

原创 Java从入门到放弃38---Class类

Java从入门到放弃38—Class类01 Class类概念Class类是Reflection的根源,针对任何你想动态加载,运行的类,唯有先获得相应的Class对象在Object类中定义了以下方法,此方法被所有子类继承public final Class getClass()//返回此 Object 的运行时类。从程序的运行结果来看也很好理解,即:可以通过对象反射求出类的名称。理解C...

2019-07-01 19:33:46 186

原创 Java从入门到放弃37---反射机制

Java从入门到放弃37—反射机制01 静态语言和动态语言动态语言:运行时结构可变 如Object-C C# JavaScript PHP Python等静态语言:运行时结构不可变 如Java C C++等**Java不是动态语言,但Java可以称之为准动态语言。**Java可以通过反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部...

2019-07-01 19:33:08 118

原创 Java从入门到放弃36---内置注解/元注解/自定义注解

Java从入门到放弃36—内置注解/元注解/自定义注解01 注解的概念Annotation是从JDK5.0开始引入的技术Annotation的作用:可以对程序做出解释(这一点和注释comment没什么区别)可以被其他程序读取格式:@注解名(value=""),还可以添加一些参数值位置:可以附加在package class method field等上面#...

2019-07-01 19:32:43 166

原创 JavaScript系列之操作DOM对象/面向对象

JavaScript系列之操作DOM对象/面向对象01 操作DOM对象DOM : Document Object Model ( 文档对象模型 )由于HTML文档被浏览器解析后就是一棵DOM树,要改变HTML的结构,就需要通过JavaScript来操作DOM。获取DOM节点在操作一个DOM节点之前,先要获取到这个DOM节点。最常用的方法有document.getElem...

2019-07-01 19:31:49 295

原创 JavaScript系列之程序调试/函数/事件/操作BOM对象

JavaScript系列之程序调试/函数/事件/操作BOM对象01 程序调试JavaScript的代码可以在网页中直接调试,方法步骤如下:打开网页—>右键点击检查—>sources—>打断点—>刷新网页—>开始调试Chrome开发人员工具提供多种调试方式:停止断点调试单步调试跳出当前函数移除断点除了使用开发人员工具外,还可以通过alert...

2019-07-01 19:31:27 167

原创 JavaScript系列之JS入门基本语法

JavaScript系列之JS入门/基本语法01 JavaScript入门JavaScript是一门基于对象和事件驱动的,并具有安全性能的脚本语言常见误区:我们通常见名猜意会认为JavaScript与Java有所联系,而事实上,JavaScript除了语法上有点像Java,其他部分基本上没啥关系。JavaScript发展过程中的关键节点1995年,网景公司的Brendan Eich只...

2019-06-26 17:46:45 237

空空如也

空空如也

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

TA关注的人

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