自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required

java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required出现这种错误主要是由于MySQL驱动过高,与当前MySQL版本不匹配,在创建项目时,IDEA会自动添加依赖,但并没有指明版本号,可在pom.xml中查看<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java&lt

2021-07-30 21:23:55 7891 1

原创 EL表达式

EL表达式EL表达式简介EL(Expression Language) 是为了使JSP写起来更加简单。它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化。EL表达式内置对象表达式内置对象说明1pageContext表示javax.servlet.jsp.PageContext对象2pageScope表示从page属性范围查找输出属性3requestScope表示从request属性范围查找输出属性4sessionScope表示从se

2021-07-24 15:54:24 186

原创 Jsp&Servlet 用户登录功能实现

Jsp&Servlet 用户登录功能实现在登录界面输入用户名、密码,与数据库中的用户名密码进行匹配,若匹配成功,则跳转到主页界面;若匹配失败,则提示用户名或密码错误,输入框内显示输入信息。创建数据库CREATE TABLE `t_user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(20) DEFAULT NULL, `password` varchar(20) DEFAULT NULL, PRIMAR

2021-07-18 20:39:12 1514 1

原创 Servlet

Servlet是什么Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。Servlet的使用在web.xml中配置文件<servlet> <servlet-name>HelloWorldServlet</servlet-nam

2021-07-18 17:51:33 147

原创 JavaBean

JavaBeanJavaBean组件引入JavaBean 是使用 Java 语言开发的一个可重用的组件,在 JSP 开发中可以使用 JavaBean 减少重复代码,使整个JSP 代码的开发更简洁。jsp:useBean 创建 javabean<jsp:useBean id=“实例化对象名称” scope=“保存范围” class=“类完整名称”/>Scope,一共有 page,request,session 和 application4 个属性范围,默认是 page;创建实体pac

2021-07-18 16:23:34 119

原创 JSP 九大内置对象及四个作用域

JSP 九大内置对象及四个作用域Jsp 九大内置对象及四大作用域概述在 Jsp 开发中,Jsp 提供了 9 个内置对象,这些内置对象将由容器为用户进行实例化,用户直接使用即可。这个9 个内置对象分别是pageContext,request,response,session,application,config,out,page,exception;常用的是前面 5个,需要熟练掌握;在 Jsp 开发中,可以保存数据,Jsp 提供了四种数据保存范围;分别是 page,request,session,app

2021-07-18 09:51:24 373

原创 Java集合

集合Java集合框架作为Java应用程序中工具类,为开发人员提供了一个良好的应用程序接口。Java集合框架提供了大量的数据结构,包括列表(LIst)、队列(Queue)、栈(Stack)以及一个键值映射结构(Map)。Set:集合中的对象不按特定方式排序,并且没有重复对象。List:集合中的对象按照索引位置排序,可以有重复对象,允许按照对象在集合中的索引位置索引对象,List与数组有些相似。Map:集合中的每一个元素包括一对键对象和值对象,集合中没有重复的键对象,值对象可以重复。集合是容器,可以存

2021-03-30 21:56:53 120

原创 异常

异常Java中的的异常(Exception)又称为列外,是一个在程序执行期间发生的事件,它中断程序的正常指令流。为了能够及时有效地处理程序中的运行错误,必须使用异常类。如果程序没有有效的处理异常情况,则异常会一直往上抛,最后被JVM抓住,从而中断程序。特别像人生病的过程,人的免疫系统是抓异常的过程。学习异常:了解有那些异常;如何处理异常。异常分两大类:1.非运行异常(编译异常)2.运行时异常两大类异常要熟记三到五个异常类。非运行时异常出现的场景:1.IO输入输出异常(处理文件或网络时)2.解

2021-03-30 19:45:15 96

原创 Integer

Integerint的包装类,JDK5之前需要手动拆封箱,int是原始数据,Integer是把int封箱后的结果,反之,int是Integer的拆箱的结果,JDK5之后,Java可以自动拆封箱。public class IntegerDemo { public static void main(String[] args) { // 自动封箱 等同于 n = new Integer(1); Integer n = 1; // 让一个int类型的变量

2021-03-18 22:54:40 198

原创 StringBuffer

StringBufferStringBuffer是可变长的,这是和String的区别,如果代码中有比较多的字符串拼接,建议用StringBuffer效率好StringBuffer初始大小是16个字符的数组,如果数组满了后,新的容量是原来容量的2倍+2运行以下两段代码,比较String与StringBuffer的区别String类public class StringBufferDemo { public static void main(String[] args) { S

2021-03-18 22:53:20 228

原创 Calendar日历类

Calendar日历类Calendar是java util包下的一个工具类,提供了很方便的不同日期格式的处理。例如:获取当前时间,并输出其具体的年月日时分秒import java.util.Calendar;public class DateDemo2{ public static void main(String[] args) { Calendar cal = Calendar.getInstance(); System.out.println("年:"

2021-03-18 22:46:35 225

原创 时间DATE

时间DATE日期页面展示日期,用合适的日期格式;把页面输入的日期存入数据库中如果不转换日期,页面显示的日期格式不合理,页面向后台传入的数据都是字符串,如果是日期信息,就要把字符串转换为日期对象。获取当前时间引入工具包中Date类获取当前时间import java.util.Date;public class DateDemo{ public static void main(String[] args) { Date date = new Date();

2021-03-18 22:21:11 131

原创 常用类

String常用类equals比较两个字符串内容是否相同。不是两个字符串对象是否相等。对象是否相等比较的是对象的地址。public class StringDemo { public static void main(String[] args) { String str1 = "abc"; String str2 = "abc"; System.out.println(str1.equals(str2)); // true Sy

2021-03-17 19:58:41 84

原创 内部类

内部类包1下定义一个类,该类不是public,时默认的,包2无法访问。内部类:定义在一个类内部的类。它可以定义在一个类中的属性的区域,或方法中,或一个代码块中(if,for)内部类可以有名称,可以没名称(匿名内部类)匿名内部类多用于抽象类或接口的实例化(抽象类和接口本身是不能创建对象的,不能实例的,但是可以通过匿名内部类间接实现)内部类的优点:它可以具有类的功能,但是只限于当前类使用,不对外,否则就定义成一个外部的类。内部类可以绕开Java类的单继承,如果外部类继承了一个类,而此时还想继承另一个类

2021-03-16 19:38:41 72

原创 包和权限

包和权限包是用来管理类的,可以避免上同名类的冲突,每个包有相应的功能,包下的类就是这相应功能的类。通常工程中的类有几大功能:控制器类,业务类,数据库类,POJO类。根据这些功能建对应的包:controller包,service包,dao包,bean包不同的包下放同一类功能的类。包的另一个功能,管理权限。修饰符,访问修饰符:private<default(不写)<protected<public包内:包里有A、B两个类,A中的public,protected,default成员

2021-03-16 19:30:20 213

原创 接口

接口什么是接口接口是Java的数据类型(引用数据类型之一),有自己独立的语法,称作:interface。(interface的中文含意:接口、界面);特别注意:接口不能创建对象。接口的语法规则1.使用interface关键字2.接口中属性必须明确赋值3.接口中的属性是常量,不能更改值4.接口中的属性默认被public、static、final修饰5.接口中的方法要么是抽象的,要么是default默认方法、要么是static方法6.接口中的方法默认被public、abstract修饰pub

2021-03-15 20:56:11 113

原创 Super

Super创建一个子类对象时,先执行父类的构造方法class Father{}class Son extends Father{}Son son = new Son();执行new Son()时先执行new Father();以上代码是默认构造方法,JVM可以自动调用,用不上super真实运行是这样的:class Son extends Father(){public Son(){super();}}以上的Son方法是JVM自动调用的。以上是默认的构造方法,如果父类没有默认构造方法

2021-03-15 11:12:41 81

原创 抽象

抽象abstract没有方法体的方法是抽象方法,有抽象方法的类必须是抽象类。抽象类可以没有抽象方法抽象类没有无法创建实例,不能new。abstract class A{abstract void work();}work是一个抽象方法,这个方法什么都没有做。假设让A a =new A();a.work();为了避免什么都不能做的情况,就不能抽象类初始化,创建对象。抽象类存在的意义是被继承。抽象可以应用在模板中例:Car为抽象类,有tyre(),engine()两个抽象方法,将两个方法总装

2021-03-15 10:58:48 101

原创 静态

静态staticpublic static void main(String[] args){}当一个类中有一个静态的成员时,这个类被加载到JVM中时,会首先初始化静态的成员public class Student { /** * 静态的成员 */ protected static int num; /** * 增加学生 * @param student */ protected static void add(St

2021-03-15 10:49:44 167

原创 多态

多态多态是用父类声明的变量指向子类的实现,改变量随着实现的子类不同,对于相同的行为(方法)表现出不同的现象,就是多态(多种形态)Father有三个子类Son1,Son2,Son3,Father类中的say行为(方法)在三个子类中都被重写,表现不同Father person = new Son1(); person.sqy()表现出大声说话Father person = new Son2(); person.sqy()表现出小声哼哼Father person = new Son3(); pe

2021-03-15 10:35:11 93

原创 冒泡排序

冒泡排序冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。伪代码for (int i=0;i<arr.length-1;i++){ for (int j=0;j<arr.length-i-1;j++){ if (arr[j] > arr[j+1]){ in

2021-02-24 17:13:25 165

原创 动态数组

动态数组数组本身是固定元素个数的,但是为了存储数据,这个数组可能会满,解决这个问题。发现数组满了,就新建一个更大的数组,把原数组的数据复制过来,并销毁原数组数组就像一个仓库。一次性新建超大仓库不可取,会浪费空间。每次比原来的大一点,也不可取,会效率低下。新建仓库是原来仓库的1.5倍比较合适。比如原数组int[] arr = new int[]{1,2,3,4};新数组的大小是它的1.5倍是6. 4+(4/2) 4+(4>>1)arr.length + (arr.len

2021-02-24 16:58:19 125

原创 运算优先级

运算优先级所有的数学运算都认为是从左向右运算的,Java 语言中大部分运算符也是从左向右结合的,只有单目运算符、赋值运算符和三目运算符例外,其中,单目运算符、赋值运算符和三目运算符是从右向左结合的,也就是从右向左运算。乘法和加法是两个可结合的运算,也就是说,这两个运算符左右两边的操作数可以互换位置而不会影响结果。运算符有不同的优先级,所谓优先级就是在表达式运算中的运算顺序。一般而言,单目运算符优先级较高,赋值运算符优先级较低。算术运算符优先级较高,关系和逻辑运算符优先级较低。多数运算符具有左结合性,单

2021-02-23 20:57:37 3533

原创 赋值运算符

赋值运算符byte b = 1;b = b + 2;错误的,因为2是int型,会把整个表达式的数据类型进行提升至int型,而赋值的左边是byte型,此时会报错。b = (byte)(b + 2);(b + 2)是int型,通过(byte)进制强制转换为byte型b += 2; 不存在上述问题,一种语法糖的现象,JVM自动帮程序员做了一些处理...

2021-02-23 20:33:15 123

原创 逻辑运算符

逻辑运算符&& || 和 & | 之间的区别&和|是位运算符,是对数字进行运算&& 和 || 是逻辑运算符,是对布尔值运算&&和||有短路的现象A&&B如果A为false,则B不被检查,A||B如果A为true则B不被检查public static void main(String[] args) { boolean result =A() &&& B(); Sy

2021-02-23 20:32:06 144

原创 位运算符

位运算符首先要知道数字在计算机中的存储形式,转化为二进制,正数(原码,补码),负数以补码形式存在对于一个负数,进行位运算首先把数字换成它的原码形式,然后再反码,再补码,对补码进行位运算,然后,把结果反码再原码,再十进制。&与运算符如果相对应位都是1,则结果为1,否则为0public static void main(String[] args) { int n = 2; int m = 3; // n: 0010 // m: 0011 // &

2021-02-22 21:05:00 756

原创 算术运算符自增自减

自增num++ 输出后+1++num +1后输出public class C1 { public static void main(String[] args) { int num = 1; // 在JVM中先取num的值,再对值进行运算 // 在效果上相当于两个语句,第一个是直接打印num,第二个是对num进行加一 System.out.println(num++); //1 System.out.println

2021-02-22 20:42:35 150

原创 Oracle触发器

触发器是附加在数据库对象上的一段代码,它指定了触发的时机和事件。自动触发(指定触发的事件,增,删,改,登录,登出,重启,关闭)可以在某个事件前,后触发(还有一个替代)指定在什么对象上建触发器触发器执行的力度是语句级的还是行级(DML)DDL没有,系统级的也没有行级触发器比较隐蔽,发生问题不好定问,可以考虑是否用存储过程或其它技术来替代。根据触发器作用的对象分为三种:1.DML触发器;2.替代触发器;3.系统触发器。DML触发器DML触发器有语句级和行级两种语句级触发器建一个日志表,给emp表创建

2021-01-27 20:46:55 1604

空空如也

空空如也

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

TA关注的人

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