
java
hello_world_Q
wx:Q953111523
展开
-
微信支付(JSAPI支付)/支付宝支付(手机网站支付)实现思路及实现方案-无源码
临时车费用缴费二维码需要通知支持微信及支付宝。用户缴纳的停车费直接到各个商户的账户上,不经过停车系统开发公司。原创 2023-06-19 17:10:29 · 1915 阅读 · 0 评论 -
Mac内网穿透(ngrok)
背景:由于需要测试微信支付接口,所以需要用到内网穿透,(https内网穿透)。export PATH=$PATH:/xxxngrok的路径/ngrok;3.确认邮箱(会在登陆的主界面弹出邮箱确认)6.需要给ngrok权限(直接终端执行即可)5.若出现 如下报错,则需要配置环境变量。4. 配置authtoken。2.登陆下载mac客户端。......原创 2022-08-29 17:25:05 · 5941 阅读 · 3 评论 -
M1芯片的Mac安装jdk8(oracle版jdk)
网上很多教程,但都是安装zulu的openjdk,可能会导致各种离奇错误,跑项目失败,却字体包等等。2.直接下一步下一步安装即可,环境变量自动配置。1.oracle官网下载jdk8。原创 2022-08-29 17:12:34 · 5749 阅读 · 5 评论 -
微信小程序开通并对接微信支付教程及核心源码
注册商户号,后期用户支付的钱会自动进入商户号中,并在次日打入注册商户号时所用的银行卡中。小程序界面中申请开通微信支付(如下图,我这边已开通) 小程序绑定商户号 证书申请需要下载微信官方的工具,具体操作如下: 证书生成完成后会得到一个压缩文件。解压后如下:依赖:微信支付相关配置文件如下:(放在resources文件夹下) 配置类,用于在springboot启动时加载配置文件中的内容小程序拉起支付时调用的接口支付结果通知的业务处理方法小程序端代码注意:微信支付结果的通知只能原创 2022-07-13 15:08:31 · 2851 阅读 · 0 评论 -
ws转wss
微信小程序中用到了websocket,上线时发现配置接口时只支持wss使用nginx,将ws转为wss,可以类比http转https。接下来的操作是在http已成功转为https的基础上进行的。http转https(ngxin配置与此类似)若ws路径如上,则配置如下ngxin -s reload 即可。注意:由于nginx中最大空闲时间为60s,所以最好设置个心跳机制...原创 2022-07-11 16:38:32 · 2910 阅读 · 0 评论 -
微信多人聊天及轮盘小游戏(websocket实现)
概况:用户可选择 【创建房间】、【加入房间】两个选项,每个房间最多容纳8人同时游戏或聊天。具体实现思路:客户端发起socket连接时路径会带上参数:gameRoomNum_OpenId_type,解释:(gameRoomNum:房间号;OpenId:用户openId,type:用户类型【0房主用户,1房客用户】),此参数会在后台作为session的唯一标识,后台的每个socket对应的session会放在一个Map中,其key为gameRoomNum_OpenId_type,value为socket的ses原创 2022-06-21 20:52:03 · 3694 阅读 · 0 评论 -
SpringBoot中使用Netty实现TCP通讯,服务器主动向客户端发送数据
简述:Springboot项目的web服务后台,web服务运行在9100端口。后台使用netty实现了TCP服务,运行在8000端口。启动截图如下:netty服务代码import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.*;import io.netty.channel.nio.NioEventLoopGroup;import io.netty.channel.socket.SocketChann.原创 2022-04-30 11:06:10 · 19275 阅读 · 17 评论 -
java读写文件
//向指定文件中写入数据 public static void writeDataToFile(String content, String filePath) { try { //创建一个文件输出流 FileOutputStream fileOutputStream = new FileOutputStream(filePath); //获取文件输入流的通道 FileChannel c.原创 2022-04-26 15:16:56 · 359 阅读 · 0 评论 -
springboot中报错:The valid characters are defined in RFC 7230 and RFC 3986
启动类加代码:之后重启即可@Bean public ConfigurableServletWebServerFactory webServerFactory() { TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory(); factory.addConnectorCustomizers(connector -> connector.setProperty("re原创 2022-04-15 17:40:37 · 436 阅读 · 0 评论 -
Springboot中使用RestTemplate接收响应参数中文乱码
解决办法:修改成:@Bean public RestTemplate getIntance() { RestTemplate restTemplate = new RestTemplate(); List<HttpMessageConverter<?>> list = restTemplate.getMessageConverters(); for (HttpMessageConverter<?>...原创 2022-03-02 11:31:47 · 834 阅读 · 1 评论 -
DES/CBC/PKCS5Padding加密解密
package com.dpkj.util;import lombok.extern.slf4j.Slf4j;import org.apache.commons.codec.binary.Base64;import javax.crypto.Cipher;import javax.crypto.SecretKeyFactory;import javax.crypto.spec.DESKeySpec;import javax.crypto.spec.IvParameterSpec;impo.原创 2022-02-25 15:52:00 · 2577 阅读 · 0 评论 -
三用EasyExcel将数据保存到excel(动态表头及数据)
最近公司的项目需要给客户公司的员工做考勤,并且需要将系统中的考勤导出成excel。动态表头及插入数据 public static void main(String[] args) { String fileName = "dynamicHeadWrite" + System.currentTimeMillis() + ".xlsx"; EasyExcel.write(fileName) // 动态表头,类型: List<List原创 2022-01-04 16:52:46 · 1517 阅读 · 0 评论 -
人人开源中invalid Code
背景自己添加文件下载功能时向后台发送文件下载接口时返回此json。导致原因没有权限了,主要原因是没有传token,或者token错了解决办法1.带上token2.后台除去对该路径的过滤原创 2021-11-14 20:58:11 · 317 阅读 · 0 评论 -
再用EasyExcel读取excel文件(包括时间类型)
1.导依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> <dependency>原创 2021-09-07 18:04:42 · 3211 阅读 · 0 评论 -
tomcat8.5配置https
1.准备一下材料Tomcat8.5(官网自行下载),SSL证书(腾讯云提供免费使用一年服务)2.腾讯云申请SSL证书腾讯云免费申请SSL证书下面需要去域名申请的平台添加DNS配置,将主机记录、记录类型、记录值添加上即可(方法自行百度)。之后回下图界面点击 查看域名验证状态 按钮,直到验证成功即可。3.证书下载,tomcat配置将证书中的tomcat文件夹中的jks文件拷贝到本地tomcat的conf文件夹中,在本地tomgcat中的server.x...原创 2021-08-20 09:26:40 · 1275 阅读 · 0 评论 -
Windows Server 2012 R2安装jdk时踩坑
1.jdk8安装时报错就很离谱,第一次在安装jdk的时候报错,正常情况都是 下一步 点到安装完成为止。若不理会此错误,也可以正常安装,但肯定是无法正常使用的,环境变量配置完成后,cmd中输入javac验证会报各种dll缺失错误!解决办法:百度很久,解决办法是下载vc_redist.x64.exe修复,下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=48145对应系统的版本选择 64位 or 32位 即可。原创 2021-08-02 17:22:30 · 3262 阅读 · 1 评论 -
java中使用Dom4j操作Xml,封装成bean对象集合
1.工具类 /** * 把xml转集合 * * @param xml * @return */ public static List<TestPojo> getXmlInfoList(String xml) { Document doc = null; List<TestPojo> list = new ArrayList<>(); try {原创 2021-05-24 17:16:27 · 522 阅读 · 0 评论 -
Web调用海康威视摄像头
1.第三方插件下载:https://streamedian.com/#downloads需要下载客户端源码及服务器端exe文件。(客户端源码用于二次开发,服务器端exe文件需要安装在服务器上供客户端调用)2.exe文件安装后双击运行开启如下界面:在上方输入框输入海康威视的rtsp地址 点击 set 按钮,即可看到摄像头的视频。3.源码界面提供的界面比较复杂,业务中只要使用到视频即可,所以最大程度使源码简洁:项目中引入streamedian.min.js文件(下载的源码中有)原创 2021-05-21 16:10:54 · 7156 阅读 · 3 评论 -
SpringBoot项目获取resources/static目录真实路径
背景:Springboot后台,Vue前台,小项目,所以没做前后端分离,Vue代替jQuery。项目最终打war包。 private static String SET_JSON_PATH; static { try { SET_JSON_PATH = ResourceUtils.getURL("classpath:static/set.json").getPath(); } catch (FileNotFoundExcept原创 2021-05-19 11:15:20 · 1772 阅读 · 0 评论 -
SpringBoot项目中发布WebService接口
相关jar包 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.8.RELEASE</version> <relativePath/> <!-- l原创 2021-04-13 11:41:25 · 3006 阅读 · 1 评论 -
java中使用pdfBox打印pdf;java web打印pdf;静默打印;jar程序打包成exe文件;exe4j的使用
web打印一直是个棘手的问题,市面上的第三方打印插件也是贵的离谱,这里给出一个可行的解决方案。SpringBoot项目的web服务,实现的功能:获取电脑可用的打印机列表 设置使用的打印机 实现静默打印,打印时可以设置{打印份数、打印方向(横向、纵向)、双面 or 单面打印}需注意的操作:这是java web项目,所以需要打印的客户端电脑需要配置jdk、tomcat、以及设置服务自启(可自行百度,简单)。 另一个办法是将jar程序使用ex4j转成可执行文件。@RequestMap.原创 2021-04-08 16:51:07 · 2759 阅读 · 8 评论 -
JSR303数据校验(分组校验)
分组校验应用场景: 添加操作时不需要指定实体类的id 修改操作时需要指定实体类的id1.建两个接口,作为添加及修改的标识2.在使用JSR303注解时添加group属性3.在添加及编辑操作时使用@Validated注解并指定其value值注意:由于注解指定了value值,所以该注解只会校验group为该类型的属性值,所以没有指定group的属性值不会被校验。...原创 2021-03-09 17:18:22 · 1298 阅读 · 2 评论 -
JSR303数据校验
1.在实体类上添加校验规则注解javax包下的所有注解如下:2.在controller层接收数据时添加@valid注解,并使用BindResult类型参数接收校验结果原创 2021-03-09 17:10:39 · 86 阅读 · 0 评论 -
SpringBoot统一异常处理
@Slf4j@RestControllerAdvice(basePackages = "指定需要统一处理异常的类所在包路劲")public class HandleExceptionAdvice { //ExceptionHandler:此方法捕获的异常类型 @ExceptionHandler(value = MethodArgumentNotValidException.class) public R handleValidException(MethodArgumentN.原创 2021-03-09 16:52:28 · 110 阅读 · 0 评论 -
Springboot项目中使用nacos实现配置中心
1.导入依赖 <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency>2.在resources文件夹下新建bootstrap.properties配原创 2021-03-05 11:56:49 · 757 阅读 · 0 评论 -
SpringBoot项目中使用feign实现远程服务调用
前提是将服务注册到nacos1.引入依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>2.写个接口,接口内限定需要远程调用的方法的方法签名原创 2021-03-05 10:27:03 · 1528 阅读 · 3 评论 -
springboot项目配置nacos注册服务中心
1.导SpringCloudAlibaba版本依赖管理器 <!--引入Spring cloud Alibaba依赖管理--> <dependencyManagement> <dependencies> <dependency> <groupId>com.alibaba.cloud</groupId> <art原创 2021-03-04 17:29:23 · 695 阅读 · 1 评论 -
SpringBoot+vue项目打war包发布(vue-element-admin)
其他步骤与打jar包相似。可参考此博客,SpringBoot+vue项目打war包发布需要修改vue的publicPath参数,如下:为了在开发时能够正常访问请求,可以在application.properties文件中加上以下配置原创 2021-02-22 16:38:58 · 773 阅读 · 0 评论 -
SpringBoot+vue项目打jar包发布(vue-element-admin)
1.vue项目打包npm run build若使用的vue-element-admin后台通用模板使用如下命令打包# 打包正式环境npm run build:prod# 打包预发布环境npm run build:stage打包成功标志:2.将打包好的vue项目放到springboot项目中的resources文件夹下修改application.properties配置文件(若index.html文件放在templates文件夹下,则路径随之变动)3.启动s原创 2021-02-06 10:50:42 · 2028 阅读 · 1 评论 -
使用jdk8中stram()将表中的数据整理成树形结构(n深度)
获取所有数据{ "success": true, "code": 20000, "message": "成功", "data": { "list": [ { "id": "1", "title": "sql语法", "parentId": "1349999055653961730", "sort": 0, "gmtCreate": "2021-01-16 10:02:11",原创 2021-01-16 15:46:32 · 552 阅读 · 0 评论 -
EasyExcel入门读写操作
1.引入依赖<!--easyExcel使用相关jar包。poi的版本3.17对应easyExcel版本的2.1.1--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version>原创 2021-01-15 17:11:55 · 2109 阅读 · 0 评论 -
Nginx的请求转发使用步骤
1.Nginx下载nginx下载地址2.解压即可使用3.运行nginxngxin根目录地址栏输入cmd,之后enter,进入命令行4.运行nginx.exe可执行文件运行后可在进程中查看5.关闭nginx命令行中输入 nginx.exe -s stop6.配置请求转发打开配置文件,下面是配置文件中的重要参数...原创 2021-01-15 12:00:32 · 1981 阅读 · 0 评论 -
mybatis-plus逻辑删除
逻辑删除、物理删除简介物理删除:真实删除,将对应数据从数据库中删除,之后查询不到此条被删除数据 逻辑删除:假删除,将对应数据中代表是否被删除字段状态修改为“被删除状态”,之后在数据库中仍 旧能看到此条数据记录配置步骤1.数据库中添加逻辑删除标记字段ALTER TABLE `user` ADD COLUMN `deleted` boolean2.属性上添加@TableLogic注解3.在application.properties配置文件中添加配置mybatis-plus.原创 2021-01-12 09:16:34 · 587 阅读 · 0 评论 -
mybatis-plus乐观锁实现方式
悲观锁、乐观锁简介:悲观锁:同步操作。即用户A在操作某条数据时,为其上锁,限制其他用户操作,用户A操作完成提交事务后其他用户方可操作此数据。 乐观锁:使用版本控制字段。更新某条数据时,先判断此数据的version是否符合条件,若符合则更新反之更新失败。mybatis-plus乐观锁实现方式1.向数据库中添加版本控制字段versionALTER TABLE `user` ADD COLUMN `version` INT2.实体类中对应此字段添加@Version注解特别说明:原创 2021-01-12 09:07:55 · 905 阅读 · 0 评论 -
mybatis-plus配置自动填充
1.在需要自动填充的实体类属性上加上注解@TableField(fill = FieldFill.INSERT)2.新建一个类实现元对象处理器接口并重写其方法package com.wq.mybatisDemo.mateObject;import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;import org.apache.ibatis.reflection.MetaObject;import org.spring原创 2021-01-12 08:57:03 · 786 阅读 · 0 评论 -
Mybatis打印执行sql
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl原创 2021-01-12 08:50:00 · 342 阅读 · 0 评论 -
java操作XML字符串 简单、复杂字符串,对象接收,对象集合接收
java操作XML字符串注意:用于接收xml解析后的对象,其属性名必须与对象节点名一致!1.操作xml字符串,获取对象。工具类 /** * @Description: 解析xml字符串,用对象接收。要求接收的对象的属性名与xml的节点名一致 * @Param: [obj 解析xml后封装到的对象, xmlStr xml字符串] * @return: java.lang.Object */ public static Object par原创 2020-12-25 17:13:56 · 1560 阅读 · 0 评论 -
java web报表,jasperReport使用简介
转载请注明出处!!!jasperReport使用简介需求简介:java web需生成报表,然后打印出来。报表用的jasperReport,编辑报表的可视化工具用的iReport。其次,web的打印是个比较棘手的问题,网上有很多第三方控件,经过不懈努力,找到了不少控件,但是支持直接打印(不跳预览)的免费版好像没有,无奈,用java手写了一个打印控件。控件实现的功能:自动使用客户端电脑的默认打印机打印出指定的文件。【直接打印(不展示预览)】。 可指定双面打印。 可执行文件。打开一次后自动设置成开原创 2020-12-14 15:47:22 · 3951 阅读 · 4 评论 -
java合并两个pdf
合并两个pdf这里用到的第三方工具包:点此下载。实践证明,用maven的形式无法成功添加jar包。本人是将jar包下载后手动添加到本地maven仓库,然后再在pom.xml文件中引用。手动向本地maven库添加jar包教程 /** * @Description: 合并两个pdf文件 * @Param: [合并后pdf文件路径及名称, 输入pdf文件1, 输入pdf文件2] * @return: java.lang.String * @Date: 20原创 2020-12-14 11:41:12 · 295 阅读 · 0 评论 -
java中文件转Base64字符串及Base64字符串转文件
文件转Base64字符串及Base64字符串转文件 import org.apache.commons.codec.binary.Base64; /** * @Description: 文件转为base64字符串。filePath:文件路径 * @Param: [filePath] * @return: java.lang.String * @Date: 2020/12/14 */ public static String原创 2020-12-14 11:35:56 · 1862 阅读 · 1 评论