技术杂谈
互联网工作常用的技术笔记
Java开发之旅
穿过鲜花,走过荆棘
展开
-
Spring Boot集成支付宝(最新版SDK)—— 手机支付
前言前些日子写了一篇关于H5网页集成支付宝的文章:Spring Boot集成支付宝(最新版SDK)—— H5/网页支付当时写了好久,往那一坐就是俩小时,写完直接就发布了,发布之后才感觉少点啥——只写了网页支付,忘了写移动端APP支付!APP集成支付宝,还是很简单的(当然建立在上一篇文章的基础上),本文应该写在上一篇文章的,但是上一篇文章的篇幅已经很长了,读起来会很累。所以此文将作为上一篇文章的下集,请先看我的上一篇文章再回来读此文,再次贴出链接:Spring Boot集成支付宝(最新原创 2020-10-01 18:58:37 · 2144 阅读 · 1 评论 -
Spring Boot集成支付宝(最新版SDK)—— H5/网页支付
闲言碎语最近有朋友咨询第三方支付相关的开发,心血来潮想疾书一番。正好支付宝有提供沙箱环境,我们个人开发者也可以进行开发、测试,不需要你有企业资质,降低了学习门槛。支付宝的Java SDK换成了较新的版本,我个人觉得新版本的SDK和旧版本相比很简洁,值得更换。但是现在网上大量的教程,普遍都是老版本SDK,这是因为新版本才刚出来没多久。所以笔者也想趁这个时机,写下此文,希望后来者集成支付宝的时候能少走弯路。一些重要的网址或文档1、支付宝支付官网:https://www.alipay.c.原创 2020-09-08 22:46:07 · 13001 阅读 · 20 评论 -
Java生成二维码并以IO流的形式返回给前端展示(不需写入服务器),以及下载二维码图片
目录场景方案分析第一步——引入依赖第二步——编写工具类第三步——编写API接口第四步——访问测试第五步——下载图片场景最近笔者做的项目中,有一个需求:在系统中生成一个二维码,用户保存下来并分享出去,其他人扫描之后跳到我们的一个活动详情页,查看此活动的内容。从以上的需求中,可以提炼出以下几点:当用户点击生成二维码的时候,我们要拿到用户生成的二维码...原创 2019-08-24 17:10:48 · 14247 阅读 · 21 评论 -
使用Java导出Excel表格并由浏览器直接下载——基于POI框架
目录背景描述技术准备导出Excel——尝鲜版导出Excel——封装版(通过反射)导出Excel——深度封装(设置下拉选项)扩展——多个列分别是不同的下拉选项怎么封装2019-10-28 更新,必看!!!2019-12-18更新,修复小概率的文件名乱码问题背景描述最近博主在做的Web项目中,有一个导出数据到Excel表格的需求,之前用纯JS实现过,这次打算...原创 2019-08-05 14:24:49 · 17284 阅读 · 23 评论 -
javax.management.InstanceNotFoundException: Catalina:type=Server
今天运行项目的时候,发现报了这个错,顿时就懵逼了,老子啥都没改啊,怎么就成这样的……网上有说JDK版本与Tomcat版本不一致的,有说运行了另一个Tomcat导致两个冲突了的,有说jar包冲突的,有说web.xml配置出错的……很遗憾,博主都试了一遍,依然不行,就差重装系统了。正当博主快要通宵加班解决它之时,突然脑子就冷静了下来,开始回想自己干了哪些沙雕操作,凡事总有因果嘛,不可能随便就抛...原创 2019-06-12 18:03:23 · 14086 阅读 · 4 评论 -
同一Tomcat下部署多个项目,通过不同域名直接访问
最近博主所在的公司上线了两套系统,因为这两个系统不是很复杂,所以将两个Web项目部署在了同一个Tomcat上,那么问题就来了,部署在同一个Tomcat目录下的webapps中的项目,总不能每次都通过在访问路径后面加项目名称进行区分吧?而且两个项目是两个不同的域名,那么可不可以通过一种配置,让……好了废话不多说,既然大家看到了这篇博文,就一定遇到了同样的问题,也许你会想到加一个Nginx这种类型...原创 2019-04-01 09:18:03 · 1342 阅读 · 0 评论 -
踩坑日记——MyBatis获取自增主键失败
最近博主遇到一个需求,用户在发布一条文章的时候,可以上传图片,那么将用户上传的图片写入到图片服务器之后,需要将这些图片的路径写入到图片表中,而且图片表有一个字段是标明这张图片属于哪一篇文章,所以就需要获取到这个新插入的文章的ID,由于这个ID是自增的,所以就通过MyBatis获取,但是遇到了一个问题:插入文章数据成功之后,通过文章对象的getId()方法,始终获取的是0。为什么呢?原因在于...原创 2019-03-23 09:42:32 · 1424 阅读 · 0 评论 -
使用Jsoup框架基于Java语言进行爬虫
背景市面上的爬虫框架有很多,大都是基于Python的,不得不说Python在处理数据方面很出色,尤其是在把数据做成可视化的图表方面。但是作为Java程序员,对Java情有独钟,我觉得关于Java的爬虫框架也要或多或少的了解,而且平常在工作中有时候需要从网上爬一点数据拿过来用,这个时候来回切换语言也是很不适的,我直接在当前的开发环境扒点数据入库,多好……简单介绍Jsoup是一个Java爬...原创 2018-12-23 00:11:27 · 772 阅读 · 0 评论 -
Tomcat配置虚拟路径,访问外部文件夹
最近在做项目的时候,有一个需求,用户可以上传图片、视频、音频等,这种情况下,如果用户比较多或者用户上传的资源比较大,直接放到服务器中会使服务器的压力增大,所以这里做的处理是将这些资源存放在服务器之外,在Tomcat中配置虚拟路径实现访问外部文件夹,在读取的时候通过数据库表或者XML文件获取一下存储路径+文件名即可,这里做一下记录。 很简单,只需要在Tomcat的配置文件server.xml...原创 2018-07-08 18:33:50 · 2741 阅读 · 0 评论 -
使用Java发送邮件(IO流方式携带多个附件)
目录场景与方案分析开启QQ邮箱的SMTP服务实体类准备工具类准备测试场景与方案分析最近博主做了一个项目,有一个业务场景是这样的:后台管理员发布活动的时候可以上传与此活动相关的几个文件,用户报名某活动之后,将这些文件以附件的方式发送到其邮箱。综上需求,我先介绍一下我们系统的情况:1、文件可能上传多个,所以邮件的发送涉及到多附件上传;2、我们的系统是前后端分...原创 2019-12-03 16:19:17 · 2988 阅读 · 0 评论 -
Java根据日期计算年龄——精确到天
最近遇到一个需求,根据孩子的出生日期,计算出孩子当前多大,要求精确到天,如“2岁8个月6天”。这里做一下记录,以防以后用到。以下是博主从简书搜到的一篇代码,奈何找不到原链接了~~~如果作者看到了这篇文章,可联系我,我会把出处标上,如有侵权也可删除~~~package com.dosion.smart.future.utils;import java.util.Calendar;i...转载 2019-09-23 14:18:07 · 6543 阅读 · 1 评论 -
Java访问HTTPS类型的URL
在工作中,难免会遇到调用第三方接口的时候,而这些第三方接口可能为了安全,用的是https协议,那么此时必须要做一些手脚,才能对这些接口调用成功,这里自己做一下笔记。有很多HTTP/HTTPS请求的插件,反正博主在Java中喜欢用okhttp3,关于okhttp3的API这里不再介绍,主要是下面的这个类和创建client的过程。首先在pom.xml引入依赖:<!-- https:...原创 2019-05-25 11:49:52 · 3142 阅读 · 0 评论 -
Java高并发——使用Lock锁实现并发安全
前言并发,在一个成熟的系统中是必不可少的,这也是广大程序猿探讨的热点,高并发下的数据安全尤为重要。博主最近也在巩固这方面的知识,特此整理一下博客,做一下记录。什么是并发?并发有哪些问题?提到并发,就不得不提到线程,关于多线程想必大家都知道,如果一个程序开启多个线程,执行多个任务,那么我们就说这个程序存在并发。并发场景下,最需要注意的问题就是数据安全性,即线程安全,那么什么是线程安全...原创 2019-05-07 19:06:49 · 1835 阅读 · 0 评论 -
Java从字符串中获取整数或浮点数
package com.lianqiao.dahuo.util;public class FormatUtil { /** * 解析str,获得其中的整数 * @param str * @return */ public static int getIntValue(String str) { int r = ...转载 2019-04-28 17:23:20 · 2064 阅读 · 0 评论 -
Java对API接口进行限流
package com.shuixian.jianghao.utils;import com.google.common.util.concurrent.RateLimiter;public class LimitUtil { //每秒发出100个令牌,限制并发量为100 private static RateLimiter rateLimiter=RateLimite...原创 2019-04-18 17:58:01 · 2116 阅读 · 0 评论 -
Java中使用雪花算法生成全局唯一ID
package com.shuixian.jianghao.utils;import org.apache.commons.lang3.RandomUtils;import org.apache.commons.lang3.StringUtils;import org.apache.commons.lang3.SystemUtils;import java.net.Inet4Addr...转载 2019-04-18 16:34:28 · 5312 阅读 · 0 评论 -
Java后端进行Base64码加密、解密及MD5加密
Base64码加密、解密:package com.shuixian.jianghao.utils;import java.io.UnsupportedEncodingException;import java.util.Base64;/** * base64码加密工具类,主要用于从数据库查询出用户名和密码后,进行加密然后传给SIEM平台 * */public class B...原创 2019-04-18 16:33:29 · 2572 阅读 · 0 评论 -
Java获取用户的IP地址
package com.lianqiao.dache.util;import javax.servlet.http.HttpServletRequest;/** IP工具类,获取用户的IP地址 * @author 秋枫艳梦 * @date 2019-04-10 * */public class IPUtil { /** 静态方法,获取IP地址 * @param...原创 2019-04-10 09:31:42 · 487 阅读 · 0 评论 -
通过Java代码的方式获取Request和Response
在做项目的时候,如果前端传来的参数没有对应的实体类做封装,控制器获取前端传来的参数还是很常见的,但是在Controller的每一个方法中都将HttpServletRequest或者HttpServletResponse对象传入,代码特别不美观,所以我这边封装了一个工具类,有两个方法分别返回HttpServletRequest和HttpServletResponse。网上一搜一大堆,这里只做一个...原创 2019-04-10 09:28:38 · 2430 阅读 · 2 评论 -
JDBC操作数据库—工具类封装
最近在做ETL的时候,用到了传统的JDBC,对某些模块做了一些封装,这里做一下记录。大家拿回去用的话,直接copy过去,改一下DataConf就行了,这就是封装的魅力!1、数据库配置类——DataConfpackage com.bq.data.kmx.conf;public class DataConf { public static final String DR...原创 2019-03-19 10:06:56 · 1189 阅读 · 1 评论 -
JDBC批量插入数据(100W+条数据)
背景描述最近在做ETL数据清洗的时候,遇到一个很大的数据源,每10分钟就有10W+的数据要写入数据仓库,传统的JDBC插入操作需要半个小时左右才能插入完,效率很低,甚至因为长时间占用Connection连接,引出其他异常。后来想到了JDBC的批处理,在自己的本机上测试了一下,10W条数据只需4秒左右,50W条数据8秒左右,100W条约15秒,当然博主的电脑还是比较垃圾的,在真正的服务器上将...原创 2019-03-03 00:00:50 · 8951 阅读 · 6 评论 -
解决maven项目打成jar包后找不到程序入口
在pom.xml中增加如下构建配置即可:<build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <appendAssem...原创 2019-02-28 10:02:19 · 2390 阅读 · 2 评论 -
根据阳历获取农历(Java实现)
package com.bq.siem.common.util;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Calendar;public class LunarCalendarUtil { private...转载 2019-02-27 16:58:42 · 2589 阅读 · 1 评论 -
单例模式杂谈
前言今天来聊聊一种经常用的设计模式——单例模式,以及它的两种实现方式,饿汉模式和懒汉模式。那么什么是单例模式?单例模式又有哪些优点?接下来我们一点点来讲解。目录前言单例模式一、单例模式简介二、单例模式的简单实现单例模式的实现——懒汉模式单例模式的实现——饿汉模式单例模式的实现——饿汉模式+静态内部类总结单例模式一、单例模式简介假如我们在一个项...原创 2018-09-25 11:56:02 · 643 阅读 · 0 评论