自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (5)
  • 收藏
  • 关注

原创 Mybatis查询SQL将Double保留小数点后两位

需求:Mybatis查询SQL将Double保留小数点后两位实现思路:首先创建一个自定义类继承org.apache.ibatis.type.DoubleTypeHandler类,重写方法,实现数据类型转换,逻辑处理,这里只做保留2位小数。(PS:当然大家想转换其他类型,也是同样的方法,继承org.apache.ibatis.type下的对应的类即可,方法大同小异)1.自定义TypeHander继承DoubleTypeHandler。public class TypeHander extends Dou

2021-11-25 10:56:38 5413

原创 CentOS7安装JDK各个版本(示例1.8)

目前JDK已经更新到17版本,下载地址中包含7-17版本,下载对应的JDK包1.官网下载:http://jdk.java.net/java-se-ri/8-MR32.上传文件到centos,这里教程中存储在/usr/local/java 文件夹下不一定是这个路径,只是一个存放位置而已,后面只要路径配置对即可。3.解压文件tar -zxvf jdk文件包可以修改一个好记的文件夹名称,这里就变更为jdk1.8mv 刚才解压的文件夹 jdk1.84.配置环境变量vi /etc

2021-11-05 12:41:55 1030 1

原创 使用Nginx配置来动态解析Nginx/Html目录下文件夹做为二级域名的前缀

同一台服务器可能需要部署多个程序,这里使用nginx解析php程序,反向代理tomcat java程序。可以实现动态解析域名,经过Nginx配置来动态解析Nginx/Html目录下的文件夹,做为二级域名。准备工作:需要提前装好nginx,部署好程序,程序放在nginx/html目录下。user nginx;worker_processes auto;error_log /var/log/nginx/error.log;pid /run/nginx.pid;include /usr/share/

2020-12-16 16:48:01 2116

原创 LayDate时间控件应用,解决闪烁不刷新等问题

在使用LayUI开发时,经常在页面中会使用到LayDate时间控件点击有时候显示,有时候不显示,闪烁,显示位置不对等。这里记录处理闪烁问题和时显示试不显示的解决方法。layui.use('laydate', function(){ var laydate = layui.laydate; laydate.render({ elem: '#jiesuany' //指定元素 ,type: 'month' //类型 ,format: 'yyyyMM' //格式 ,trigger:

2020-12-16 16:07:09 470

原创 easyUI table datagrid 选中取消全选触发事件

根据 easyUI 绑定table id,datagrid 选中取消全选触发事件$(function(){ $("#businessbillgrid").datagrid({ //选中单个 onCheck :function(rowIndex,rowData){ var selectedrows= $('#businessbillgrid').datagrid('getChecked'); var je = 0; var suiE = 0;

2020-12-14 18:10:05 1213

原创 JAVA将数据拆分开写入多个excel,并压缩成ZIP

package com.invoice.action;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import java.util.HashMap;import java.util.List;import java.util.Map;import

2020-12-02 13:18:11 501

原创 Java后端将数据每500条写一个工作簿,输出一个excel文件。或者分别输出多个文件

从后端查出数据,每500条写一个工作簿。输入文件思路:先查询出总条数,然后计算有几个500,循环次数里创建工作簿,使用分页查询出数据,每循环一次就将数据写入一个工作簿。package com.invoice.action;import java.io.IOException;import java.io.OutputStream;import java.util.HashMap;import java.util.List;import java.util.Map;import javax

2020-12-02 09:56:12 532

原创 使用layui.upload上传文件与使用layer.open方式上传文件

使用layui.upload上传文件与使用layer.open方式上传文件。上传文件的方式有很多种,这里简单介绍以下两种方式。第一种:layui.upload上传文件layui.use(['layer','upload'], function () {var upload = layui.upload; //指定允许上传的文件类型 upload.render({ elem: '#uploadExcel'//绑定导入按钮 ,

2020-11-09 16:20:58 3258

原创 layui表格导出excel文件,记录直接将前端已有数据导出的两种简单方便的方法

layui表格导出excel文件,记录直接将前端已有数据导出的两种简单方便的方法。第一种 :使用layui 的 table.exportFile 导出方法。<head>//1.需要引入相关文件<script type="text/javascript" src="../js/jquery.min.js"></script><link rel="stylesheet" href="../js/styles/lib/layui/2.4.3/css/layui.

2020-11-09 15:43:22 2527 1

原创 Java后端进行POST请求接口示例

Java后端对接口进行POST请求封装了一个httpPost处理工具,需要将请求的接口URL,与装有请求参数的list传进来,请求处理之后最终返回String类型的结果。private String httpPost(String url,List list) { // 创建HttpClient HttpClientBuilder httpClientBuilder = HttpClientBuilder.create(); CloseableHttpClient httpClient

2020-10-30 16:57:27 2703

原创 前后端分离开发JAVA后端使用CORS技术解决跨域请求

前后端分离开发开发,不可能随时部署到服务器上进行测试。。为了前后可以高效绑定接口,肯定是再本地直接调用是最快捷的了。那么本地路径和接口地址再浏览器就会有同源策略限制,这时如果使用的非src的不受限制之外的方式,如ajax等,就会产生跨域。那么本例就是使用CORS来解决跨域问题。同源策略1、同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。2、所谓

2020-10-27 14:53:58 370

原创 JAVA后端使用MultipartFile类接收处理上传图片【超级简单】

本例子再SpringBoot项目上,使用Spring MVC的MultipartFile类再JAVA后端 接收前端上传文件请求。1.MultipartFile 单文件图片上传。例子中接收对象与文件,先保存文件,再把文件保存到对象,再保存对象,最后返回执行结果 @RequestMapping("/addArticle") public Map<String,Object> addArticle(Article article,MultipartFile mfile){ Map<S

2020-10-26 15:08:13 10576 1

原创 Spring Boot集成Mybatis使用PageHelper分页查询

在web开发中经常用到分页查询,比如当某个页面查询返回的数据量较大时,为了提高性能和用户体验我们肯定不能将数据库中所有的数据一次性返回给前端,这样如果数据量大的话就会比较耗时。所以我们就需要用到分页查询,从而可以提高查询性能。这里为什么会使用PageHelper插件。是因为PageHelper是一款开源的Mybatis第三方物理分页插件,使用起来很方便,可以自动拼接mapper.xml配置里的对应的sql语句,也就是说不用我们去写sql语句的一些配置,直接使用原来的查询所有的sql语句就行。Spring

2020-10-22 15:41:29 159

原创 spring boot项目创建,集成mybatis配置mysql连接,编写测试代码完成访问接口查询数据库

springboot项目创建mybatis配置mysql,完成查询数据库测试准备工作:1.去https://start.spring.io/创建项目,本例使用的是 springboot 2.4.0-SNAPSHOT ,Maven,JAVA 8,依赖WEB MVC。2.JAVA开发工具导入Maven项目,本例使用的是eclipse。3.resources文件夹下创建mapper文件夹备用4.本地要有jdk8环境便于测试一.首先引入mysql和mybatis的jar包 <!--mysql数据

2020-10-22 10:51:16 372

原创 使用JS 禁止键盘快捷方式和禁止鼠标右键操作弹窗提示

使用JS 禁止键盘F12打开控制台和禁止右键操作。虽然防御不了专业人员,但是装装逼还是有必要的,呵呵!document.oncontextmenu = new Function("return false;");//禁用浏览器 默认右键菜单function tc() { layer.alert("你好!你有什么需要帮忙的吗?请联系技术人员!");}document.onmousedown = function(event) {//监听右键事件 var e = event || win

2020-10-20 12:15:18 569

原创 使用Java解决跨域问题

1.可解决跨域问题(前端请求本地地址,后端请求跨域URL)。2.读取properties配置文件,调用webservice接口,发送soap xml格式数据,接收返回soap xml格式数据,正则取出json串,解析json保存到数据库。// 创建HttpClientHttpClientBuilder httpClientBuilder = HttpClientBuilder.create();CloseableHttpClient httpClient = httpClientBuilder.bu

2020-10-17 00:51:02 305

原创 Java JSON字符串格式解析,数组取值

//使用的是阿里的 fastjson 包<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.9</version></dependency>//转换成为JSONObject对象JSONObject jsonObj = new JSONObject(jsonStr)

2020-10-17 00:33:32 1466 2

原创 JAVA判断字符串是否经过Base64编码

为了避免Base64解码时异常,可以再解码前先判断一下该字符串是否是Base64编码过。base64编码之后的字符串具有以下特点:字符串只可能包含A-Z,a-z,0-9,+,/,=字符字符串长度是4的倍数=只会出现在字符串最后,可能没有或者一个等号或者两个等号正则判断private static boolean isBase64(String str) { String base64Rule = "^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za

2020-10-13 17:19:07 2573 1

原创 HOST头攻击防御,JAVA白名单拦截过滤全站所有请求

再这里不对HOST头攻击多做阐述。本文做白名单方式对比host地址是否被篡改。过滤拦截请求host地址是否存在白名单中,存在就正常访问,否则返回403。1.serverWhiteList.json配置ip文件[ "localhost:8443"]2.引入gson-2.8.5.jar包3.读取白名单文件/** * HOST头白名单* @author 王小东 * @date 2020年9月15日 下午3:00:44* @version 1.0 */public clas

2020-10-10 11:54:23 1085

原创 sql查出重复数据,删除重复数据只留一条(小白专用)

查表中多余重复记录,根据单个字段(username)来判断select username,count() as num from tusertest group by username having COUNT()>1删除重复DELETE FROM tusertest WHERE id NOT IN(SELECT MIN(id) FROM tusertestGROUP BY username);...

2020-10-10 10:53:39 445

原创 前端MD5加密,MD5加密JS以及如何使用(小白专用)

md5.js加密文件var hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */var b64pad = ""; /* base-64 pad character. "=" for strict RFC compliance */var chrsz = 8; /* bits per input character. 8 - ASCII; 16 - Unicode */function

2020-09-22 11:57:01 1299

原创 未知前端参数名时JAVA后端获取请求中所有的参数名

再一些需求中,我们再未知前端参数名时JAVA后端要获取参数值。那就必须先拿到参数名。什么情况下用到呢?比如再做一些数据传输安全处理时,前端将参数名与参数值都进行了加密,后端常规中用的直接请求参数名取值的方法就失效了,因为不知道加密后的参数名的密文是什么。这里记录两种方法request拿到当前接口请求的所有参数名。当然也可以用其他的遍历方式。1、使用request.getParameterNames()方法Enumeration enu=request.getParameterNames(); wh

2020-09-16 11:38:45 551

原创 页面监听事件:$(document).ready和window.onload=function(){}的区别

在jQuery里面,我们可以看到两种写法:$(function(){}) 和 $(document).ready(function(){}),这两个方法的效果都是一样的,都是在dom文档树加载完之后执行一个函数,(注意,这里面的ready 是 DOM树加载完成,不是onload的页面资源加载完成的)。使用原生的window.οnlοad=function(){}在没定义方法之前,它只是一个值为null的属性具体的区别页面监听事件:$(document).ready和window.οnlοad=fun

2020-09-10 11:06:23 550

原创 CSRF攻击防御,JAVA程序利用token前后端验证每一次请求进行防御

整体思路是:访问页面就生成token,保存到session,并且前端将token放进header或者追加到请求地址最后面。后端拿到header或者请求中的token后比对session与herder或者请求中的token是否一致,一致测是同一次请求。有效的防止了,攻击者不从规定页面请求接口进行篡改利用。每次请求,地址或者header携带TOKEN到服务端验证,防止CSRF攻击下面是JAVA后端工具类package com.invoice.util;import java.io.IOException

2020-09-02 17:27:54 3043

原创 SQL过滤JAVA工具类,防止SQL盲注,XSS反射型攻击

SQL过滤JAVA工具类,防止SQL盲注,XSS反射型攻击大家都知道,攻击者擅长寻找网站漏洞,如从接口上sql盲注,如果没用后端没用防御,轻则信息泄露,重则删表删库。这是最近工作需要,做的一个工具类。package com.invoice.util;import java.util.Date;import java.util.HashMap;import java.util.Map;import java.util.regex.Matcher;import java.util.regex.P

2020-09-02 16:48:10 833

原创 Ajax请求方式与JS请求方式(提供给前端小白参考)

Ajax请求方式与JS请求方式(提供给前端小白参考)ajax请求$.ajax({ cache: false, async: false, dataType: 'json', type: 'get', url: "../checkPrivilege.action", data:{curl:url+urlparam}, success: function (data){ console.log(data.msg); if(da

2020-09-02 11:58:23 291

原创 JS获取浏览器输入框当前页面的地址

JS获取浏览器输入框当前页面的地址整理:<script> var url; url = window.location.href; /* 获取完整URL */ alert(url); /* http://127.0.0.1:8080/Test/index.html#test?name=test */ url = w

2020-09-02 10:34:13 1214

原创 js替换字符串指定索引位置的字符,单字符成指定的多个字符

js替换字符串指定索引位置的字符,替换掉String.prototype.replaceAt=function(index, replacement) { return this.substr(0, index) + replacement+ this.substr(index + replacement.length);}var str = "广州;上海;北京";var index1 = buyeraddtelstr.indexOf(";");//获取首次出现位置str.replace

2020-08-27 13:39:07 6493 1

原创 Tomcat8.5配置Https证书(使用jdk生成)记录,配置CA根证书再受信任储存区

首先要有数字证书,没有的话可以购买阿里云,腾讯云,百度云等服务器域名厂商的证书。下面记录的是本人用jdk自带的生成数字证书的工具进行生成加密文件,tomcat进行配置。首先再jdk/bin目录下找到keytool.exe,再cmd命令窗口内运行keytool.exe进行创建"%JAVA_HOME%\bin\keytool" -genkey -alias tomcat -keyalg RSA -keystore tomcat.keystore这里的Java_home已经配置好地址path。-keyst

2020-08-14 13:46:01 673 1

原创 Java之MD5加密的三种方法记录

第一种apache方法适用固定16进制的MD5加密第二种JDK方法适用可设置进制长度的MD5加密第三种依旧是apache的方法,性能好,对原串拼接字符串加密再拼接再加密,2次MD5加密,是为了更好的增加密文的安全性(为什么不随机字符串随机数字串呢,是因为考虑到后续原串与数据库储存的密文可以对比)。import java.math.BigInteger;import java.security.MessageDigest;import java.security.NoSuchAlgorithmExc

2020-07-10 11:34:25 258

原创 Redis缓存技术集成到Java SSM项目(包括centos上redis安装远程连接开启等配置)

首先安装Redis,官网下载:https://redis.io/download 下载安装包,或者直接使用wget下载wget http://download.redis.io/releases/redis-4.0.2.tar.gz设置redis以支持远程登录vi redis-4.0.2/redis.conf将bind 127.0.0.1注释掉,就支持远程连接了。redis.conf添加配置以支持redis作为守护进程一直跑在后台需要改no为 daemonize yes要本地远程连接服务器

2020-07-09 16:58:58 292

原创 DES加密工具编写以及解密XML配置文件JDBC的配置

DES即数据加密标准,是一种使用密钥加密的块算法。目的:数据库账户密码我们一般会写在项目jdbc.properties配置文件中,而明文就有了很大的风险。本文记录在JAVA项目中编写DES工具类,以及对加密后的jdbc.properties解密并能远程连接。1.DESUtil 加密解密package cn.richwit.o2o.util;import java.io.UnsupportedEncodingException;import java.security.Key;import jav

2020-07-09 12:14:55 240

原创 Eclipse远程调试相关配置详细教程

再一些情况下需要使用到远程调试,不然每次看服务器上的日志也太low了。比如使用了第三方API,必须要将程序放到服务器,并有域名才可以,因为要有外网可以访问,这样才可以使用相关API。这里记录一下将开发过程中的程序放到服务器上,运行起来再本地Eclipse里DEG调试的相关配置。1.首先将centos系统上的tomcat的运行权限进行修改,因为root权限太大,容易出问题创建普通账户adduser work设置密码passwd work**如果已有tomcat,那么先停掉2.安装新的一个

2020-07-08 19:05:47 475

原创 Java微信开发测试号校验TOKEN配置获取微信用户基本信息

欢迎使用Markdown编辑器访问微信测试号登录页面,通过打开自己手机的微信,扫一扫登录https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login***在Java程序里面编写servlet以响应微信号在测试号里面设置接口配置信息的URL,微信公众号便会发请求到我们设置好的URL去,我们必须编写程序应答才能顺利连通微信公众号,因此咱们需要编写相应的响应程序WechatUtilpackage cn.richwit.o2o.util.w

2020-07-08 12:22:05 654

原创 centos7.4使用yum安装PHP+Mysql+Nginx+Apache环境记录

Nginx1.Nginx安装yum install -y nginx注:检查是否有源 yum search nginx ,如无源,则添加源 rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm2.启动Nginxsystemctl start n...

2019-12-13 11:41:25 558

原创 vue环境搭建,构建vue初始项目

安装node.js1.先进入官网,选择并下载安装node.js,官网:https://nodejs.org/en/2.验证node.js是否装好,用管理员身份打开cmd,输入命令node -v 查看安装版本npm包管理器是集成在Node.js中了,所以在安装Node.js的时候就已经自带了npm,输入npm -v可得到npm的版本。输入以下命令npm -g install ...

2019-12-04 12:08:45 249

原创 微信开发、申请微信号测试账号

1.微信测试官方网址:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login进入网址后,会分配一个appID和appsecret账号2.需要一个外网映射工具,可在此链接中下载https://natapp.cn/login。然后将你的外网映射地址修改对应的URL中:注意只修改前面的路径,保留后面的/wx/portal,第一次...

2019-11-19 14:54:00 624

原创 服务器CentOS忘记密码重置密码方法

在开机启动的时候按键盘上的“E”键会进入如下界面。选择相应的内核,再次按“E”,选择第二项,再次按“E”键编辑,在信息的最后加“空格”,然后键入“single”,或者直接输入数字的“1”,“S”或“s”等并回车确定进入下一步这里按键盘的"B"键,进入引导系统然后进入系统后输入passwd root,重新设置root的密码...

2019-05-11 17:12:28 1836

原创 【人脸识别】Android Studo+OpenCV人脸检测调用前置摄像头笔记(二)

上一篇:实现效果是后置摄像头的调用,进行人脸检测效果。1.调用前置摄像头比较简单,直接在onCreate方法里设置调用前置摄像头,参数0为后置,参数1为前置。mOpenCvCameraView.setCameraIndex(1);使用OpenCV的Android接口,要想显示从摄像头输入的视频,可以使用CameraBridgeViewBase类,mOpenCvCameraView就是Cam...

2019-03-10 15:39:58 1789

原创 【人脸识别】Android Studo+OpenCV实现人脸检测笔记(一)

开发环境:Window7与Window10都可以安装:Android Studio3.0,OpenCV3.21.导入OpenCV 人脸检测模块 face-detection(Eclipse项目),解决报错问题。①更改gradle-wrapper.propreties中的gradle版本。②更改build.gradle中的compileSdkVersion,minSdkVersion,tar...

2019-03-10 14:47:11 844

使用js导出带样式的excel表格

使用js导出带样式的excel表格模板,有demo

2020-12-25

excel转换成pdf的spire.xls包,包含spire.xls.free-2.2.0.jar版本的jar,和Spire.Xls.jar 3.9.1

包含spire.xls.free-2.2.0.jar版本的jar,和Spire.Xls.jar 3.9.1版本的jar,都在lib下

2020-12-25

微信判断浏览器自动弹出遮罩层【完整代码】.zip

微信打开页面弹出遮罩层,微信打开页面连接后,提示去浏览器打开。有指示箭头,完美漂亮。js多种选择弹窗。下载添加url地址即可使用。完整版本的

2020-09-17

Java开发手机短信验证码完整API文档(小白专用)

短信验证码对接平台的API文档,操作教程,java开发手机短信验证。

2019-01-08

趣味套牛小游戏素材

套牛素材,可以用来做手机端的套牛小游戏。原本是用在微信小游戏上的套牛游戏素材

2019-01-08

空空如也

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

TA关注的人

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