Java学习
文章平均质量分 59
学习记录
侧身左睡
我们的征程是星辰大海
展开
-
SpringBoot报错:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/l
自己电脑上一直用IDEA配置的Tomcat跑的SSM项目,今天同事让我跑一下他的SpringBoot项目,就把整个代码包拷给我,使用IDEA导出后却跑步起来,启动报错,一样的代码怎么就跑步起来呢。。。 后来才发现SpringBoot使用内置Tomcat,但是会缺少servlet-api.jar,所以导致getVirtualServerName()方法找不到,一直报错。 报错信息如下:2021-02-05 14:40:46.801 ERROR org.apache...原创 2021-02-05 15:33:48 · 2677 阅读 · 2 评论 -
抽象类和接口的区别
抽象类: 1、抽象类使用abstract修饰; 2、抽象类不能实例化,即不能使用new关键字来实例化对象; 3、含有抽象方法(使用abstract关键字修饰的方法)的类是抽象类,必须使用abstract关键字修饰; 4、抽象类可以含有抽象方法,也可以不包含抽象方法,抽象类中可以有具体的方法; 5、如果一个子类实现了父类(抽象类)的所有抽象方法,那...原创 2019-01-09 21:33:34 · 5243 阅读 · 0 评论 -
如何向Maven仓库(私服)中上传第三方jar包
本文详细介绍如何向maven仓库中上传第三方jar包。1、在本地maven安装路径中找到conf文件夹下面的setting.xml文件,里面有访问maven仓库的路径和账号、密码;2、浏览器打开第一步中找到的路径;3、打开页面后点击页面右上角的Log In按钮输入username、password进行登录。4、登录后在左边选项卡中选择"Repositories"选项卡,然后...原创 2019-01-09 21:39:23 · 1343 阅读 · 0 评论 -
MyBatis中的条件查询(动态sql)
本文将介绍使用MyBatis框架,编写DAO层接口类和接口类对应的sql映射文件,使用动态sql查询满足条件的用户集合。首先,需要创建一个实体类User,供封装数据使用;package com.xyfer.pojo;public class User{ private String name; private int age; private ...原创 2019-01-09 21:43:37 · 1630 阅读 · 0 评论 -
使用MyBatis在控制台动态打印执行的sql语句
使用MyBatis进行数据库操作的时候,sql语句都是写在相应的mapper文件中,参数也是使用占位符取值表示的,mapper文件中看不到实时执行的完整sql,有时候sql语句错误或者参数类型不对的时候,由于看不到完整执行的sql,所以无法确定到底是sql的问题,还是参数数值或者类型的问题。 为了方便快速确定动态执行sql的问题,我们可以把动态执行的sql和参数打印到控制...原创 2019-07-18 15:05:56 · 336 阅读 · 0 评论 -
HashMap概述及其三种遍历方式
一、HashMap概述;1.HashMap是一个散列表,它存储的是键值对(key-value)映射;2.HashMap继承AbstractMap,实现了Map,Cloneable,Serializable接口;3.HashMap的实现不是同步的,线程不安全,但是效率高;4.HashMap允许null键和null值,是基于哈希表的Map接口实现;5.哈希表的作用是用来保证键的唯一...原创 2019-07-17 09:47:40 · 181 阅读 · 0 评论 -
Iterator和Enumeration的区别
本文介绍一下Iterator和Enumeration的区别及其效率Iterator是一个接口,它的源码如下:package java.util;import java.util.function.Consumer;public interface Iterator<E> { //返回迭代器刚越过的元素的引用,返回值是Object,需要强制转换成自己需要的类型...原创 2019-07-17 09:50:55 · 263 阅读 · 0 评论 -
Git push时报错 ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push s
今天在使用Git回退到之前某个版本的代码时,进行push时出现如下错误:! [remote rejected] master -> master (pre-receive hook declined)......查阅相关资料发现,是由于当前用户没有push权限,就是[master]代码默认是被保护的,所以进行push的时候会报错;解决方案:登录gitlab,选择对应的项目...原创 2019-07-17 09:53:31 · 3768 阅读 · 0 评论 -
git常用命令
git config user.name ---查看用户名;git config user.email ---查看邮箱;git config --global u...原创 2019-07-17 09:54:26 · 93 阅读 · 0 评论 -
解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xyfer.dao.Use
在使用Spring整合MyBatis的时候遇到控制台报错:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xyfer.dao.UserDao.findById详细信息如下:org.apache.ibatis.binding.BindingException: Inva...原创 2019-09-02 23:33:43 · 1872 阅读 · 0 评论 -
SSM(SpringMVC+Spring+MyBatis)三大框架使用Maven快速搭建整合(实现数据库数据到页面进行展示)
本文介绍使用SpringMVC+Spring+MyBatis三大框架使用Maven快速搭建一个demo,实现数据从数据库中查询返回到页面进行展示的过程。技术选型:SpringMVC+Spring+MyBatis+MySql+Maven+JSP+IDEA+Tomcat7+JDK1.8+Navicat for MySql下面开始搭建项目:一、数据库环境搭建1、首先使用Navicat f...原创 2019-09-04 01:43:27 · 736 阅读 · 0 评论 -
SpringBoot初体验之整合MyBatis和SpringMVC
使用过SpringBoot的同学都知道,SpringBoot的pom.xml中的坐标都是按功能导入的,jar包之间的依赖SpringBoot底层已经帮我们做好了,例如我们要整合SprngMVC,只需要导入SpringMVC的起步依赖就可以了,SpringBoot会帮我们导入Spring和SpringMVC整合需要的jar包。 SpringBoot是基于Spring4.0设计的,不仅继承了...原创 2019-09-12 01:29:39 · 344 阅读 · 0 评论 -
RabbitMQ六种工作模式的对比与实践
最近学习RabbitMQ的使用方式,记录下来,方便以后使用,也方便和大家共享,相互交流。RabbitMQ的六种工作模式:1、Work queues2、Publish/subscribe3、Routing4、Topics5、Header 模式6、RPC一、Work queues多个消费端消费同一个队列中的消息,队列采用轮询的方式将消息是平均发送给消费者;特点:1...原创 2019-09-25 23:13:26 · 684 阅读 · 0 评论 -
MyBatis开发Dao层的两种方式(Mapper动态代理方式)
MyBatis开发原始Dao层请阅读我的上一篇博客:MyBatis开发Dao层的两种方式(原始Dao层开发)接上一篇博客继续介绍MyBatis开发Dao层的第二种方式:Mapper动态代理方式Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象,代理对象的方法体同上一篇博客中Dao接口实现类方法。Mappe...原创 2019-01-09 21:25:03 · 885 阅读 · 0 评论 -
MyBatis开发Dao层的两种方式(原始Dao层开发)
本文将介绍使用框架mybatis开发原始Dao层来对一个对数据库进行增删改查的案例。Mapper动态代理开发Dao层请阅读我的下一篇博客:MyBatis开发Dao层的两种方式(Mapper动态代理方式)本次使用的mybatis版本为mybatis-3.2.7,开发工具为eclipse,数据库为mysql,jdk版本jdk1.8.0_151。1、首先,使用eclipse新建一个java工...原创 2019-01-09 21:19:56 · 1655 阅读 · 0 评论 -
创建一个JDBC连接
本文介绍如何建立一个jdbc连接进行数据库查询操作。 创建一个java工程,导入jar包。 作者使用mysql数据库,建立jdbc连接需要mysql数据库驱动jar包和jdbc连接jar包。 建立jdbc连接过程如下: 1、加载数据库驱动 2、创建并获取数据库连接 3、创建jdbc stattement 对象 4、设置sql语句 5、设置...原创 2018-12-12 21:03:46 · 2228 阅读 · 0 评论 -
ajax同步请求与异步请求
在前后台请求数据交互的时候,我们经常用到ajax来进行数据的请求与返回,ajax请求的async字段是boolean类型,用来标识ajax请求是同步请求或者异步请求。async默认为true,异步请求。 两者的区别如下: 异步请求:异步请求的好处是代码不用等待ajax返回数据结果,代码就继续往下执行,这种做法的好处是页面数据相互不影响,不会因为某个模块的数据...原创 2018-08-30 16:21:07 · 2040 阅读 · 1 评论 -
IE浏览器报错:'rowspan'为空或不是对象,'colspan'为空或不是对象
IE浏览器报错:'rowspan'为空或不是对象,'colspan'为空或不是对象这种错误一般在IE浏览器中出现,在Google Chrome中就不会出现该错误。出现这种错误一般是columns最后一列的结尾多了一个 ',' 造成的,删掉即可。columns:[[ {field:'name',title:'姓名',with:100}, {field:'age',tit...原创 2018-08-27 11:53:19 · 1942 阅读 · 0 评论 -
HashMap简单理解
HashMap是一个常用的Map集合,它的底层是数组和链表的结合。 HashMap是非线程安全的,允许有一个key值为空,多个value值为null。 当我们向HashMap中put元素的时候,会首先根据元素的key值的hashcode计算hash值,然后根据hash值确定元素在数组中的位置,如果该位置上已经存在元素,就会以链表的形式储存该元素,新加入的元素在链头,先加入的元素在链...原创 2018-08-27 17:07:42 · 224 阅读 · 0 评论 -
java中重载与重写的区别
重载(overload) 方法重载是一个类中有多个同名方法,但是参数列表不同(参数类型或个数不同),通过传入的参数不同来调用不同的方法。 重载是一个类多态性的表现。方法重载不要求返回值类型相同,所以不能以返回值类型作为区分重载的标准。 重写(override) 方法重写是方法名和参数列表(参数类型和参数个数)和被重写的方法相同,则成为方法重写。 重载(...原创 2018-09-04 11:29:56 · 138 阅读 · 0 评论 -
TCP协议的三次握手与四次挥手
三次握手 一次完整TCP连接包含三个阶段:请求连接、传送数据、关闭连接。 客户端client在与服务端server建立连接时,首先会发送一个建立连接的请求,如果存在这样的情况,客户端client发送的请求报文因为网络原因在某个节点滞留了一段时间,但是请求连接的报文并没有丢失,最后到该连接被释放后才到达服务端server。服务端server会以为这是客户端新的请求连接,于是会向客...原创 2018-09-04 19:49:00 · 194 阅读 · 0 评论 -
easyui-textbox绑定keyup事件实现搜索框值实时获取
最近工作中遇到一个需求,需要做一个搜索框,有提示语提示用户输入用户名进行搜索,一开始考虑使用easyui的searchbox来实现搜索框,但是需求中还要根据搜索框中的值来进行实时判断,当搜索框中的值重新变化为空时,隐藏搜索结果列表,展示全部用户树。 searchbox不支持keyup、oninput之类的事件,所以改写成input输入框。<input id='search...原创 2018-09-19 16:16:44 · 2831 阅读 · 0 评论 -
easyui-textbox绑定keyup事件
easyUI textbox不能直接绑定keyup事件,但是实际中遇到这种需求怎么办?下面给大家介绍一种绑定keyup事件的方法,亲测有效:<input id='search' style='width=150px;' type='text' class='easyui-textbox'></input>js中绑定keyup事件:$(function(){...原创 2018-09-19 16:37:33 · 2250 阅读 · 0 评论 -
esayui-textbox获取实时输入值
esayui-textbox获取实时输入的值,当键盘按键抬起的时候获取textbox中实时输入的值:textbox输入框:<input id='search' style='width=150px;' type='text' class='easyui-textbox'></input>实时获取输入值:$(function(){ $("#searc...原创 2018-09-19 16:45:34 · 1430 阅读 · 1 评论 -
easyui-datagrid取消所有选中行
easyui-datagrid取消所有选中行:$("#userGrid").datagrid('clearSelections');下面这种写法不生效:userGrid.datagrid('clearSelections');原创 2018-09-20 11:10:34 · 9032 阅读 · 1 评论 -
详解创建Java多线程的两种方式
多线程的创建与使用是java工作学习中常见的内容,一直对多线程怀有神秘感,今天就把自己对多线程的理解分享给大家,供学习交流。 进程:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 线程:是程序中一个单一的顺序控制流程,是cpu调度的最小单位。 多线程:在单个...原创 2018-09-21 14:52:34 · 322 阅读 · 0 评论 -
String字符串删除开头结尾的数字0
工作中经常遇到电话号码加拨数字0的情况,这时前台加拨数字0的号码传递到后天就需要把数字0删掉,下面介绍一种简单方便的方法。package com.xyfer;public class TestDeleteNumber{ public static void main(String[] args){ String number = "0001230004...原创 2018-11-19 11:32:28 · 2185 阅读 · 0 评论 -
配置JDK1.7开发环境
学习java知识,首先要安装jdk来配置开发环境和java运行环境,本文介绍一下JDK配置流程和验证配置成功的方法。 一、配置JDK 1、首先下载jdk1.7压缩包并解压到D盘。 2、我的电脑--右键--属性--高级系统设置--高级,单击环境变量 3、选择“系统变量”中的新建选项卡 4、在弹出的提示框中,输入变量名(建议:JAV...原创 2018-12-05 09:31:49 · 405 阅读 · 0 评论 -
Java接口和抽象类的区别
抽象类:1、含有抽象方法的类一定是抽象类,抽象类不一定含有抽象方法。2、子类必须重写父类的所有抽象方法。3、抽象类能被实例化。4、单继承,子类只能继承一个抽象类。5、对整个类进行抽象。6、使用abstract关键字修饰。7、抽象方法只有声明但无方法体,使用abstract关键字修饰。接口:1、接口不能被实例化。2、多实现,子类可以实现多个接口。3、对类的...原创 2018-08-27 14:47:06 · 173 阅读 · 0 评论