
Java杂记
文章平均质量分 73
主要记录在实际开发过程中,记录遇到的难题和新的技术攻克,希望能够帮助到你
Asurplus
我每天睡醒了就去打工,打完工就回去睡觉
展开
-
Java中AutoCloseable接口的使用详解
AutoCloseable 接口是 Java 7 引入的一个接口,主要用于定义一种可以被自动关闭的资源。这个接口只包含一个方法:close(),该方法用于释放与该资源关联的系统资源。当实现了 AutoCloseable 接口的对象在使用完毕后,Java 的 try-with-resources 语句能够确保这些资源被正确关闭,即使在使用资源的过程中抛出了异常。原创 2024-11-26 15:00:37 · 373 阅读 · 0 评论 -
Java中将字符串写入文件中的几种方式
以下是几种不同的实现方法将字符串写入文件中的Java代码原创 2024-06-26 13:32:31 · 2029 阅读 · 0 评论 -
API 接口参数签名的几种方案
在涉及跨系统接口调用时,我们容易碰到以下安全问题:请求身份被伪造、请求参数被篡改、请求被抓包,然后重放攻击原创 2023-09-26 09:27:32 · 29251 阅读 · 7 评论 -
巧用Lambda表达式获取对象属性名告别魔法值
在我们日常开发中,使用 MyBatis-Plus 写 SQL 执行的时候,难免会用到表字段,虽然 MyBatis-Plus 提供了 LambdaQueryWrapper 帮助我们使用 Lambda 方式调用对象属性名,但有的时候还是不免用到魔法值,当对象的属性名更改了之后,我们难免会漏掉,引发生产事故原创 2023-09-13 15:09:21 · 33107 阅读 · 3 评论 -
拼接字符串?试试 StringJoiner
我们通常需要拼接字符串的时候呢,多半都是使用 StringJoiner 或 StingBuilder 进行循环遍历拼接,这样既费时又费力,本次推荐 Java8 中推出的 StringJoiner1、使用 StringBuffer 拼接字符串public static void main(String[] args) { // 需要拼接的list List<String> list = new ArrayList<>(); for (int i = 0; i原创 2021-05-10 21:59:49 · 201593 阅读 · 0 评论 -
请求地址中主动携带Cookies信息通过登录验证
一、背景最近在做一个机关单位的项目,他们的项目基本都是部署在内部网络中,并且都做了单点登录验证,即就是该网站上挂载了许多的系统和应用,访问其中的某一个系统和应用的时候,都会被单点登录拦截在登录页面,必须登录该网站,才能访问其中的系统及应用二、问题描述该项目中使用了第三方插件,即在线 Office 插件,在线 Office 插件的原理无外乎也就是和浏览器兼容一个插件,在浏览器中通过该插件调取本地的 Office 软件,例如 WPS 等。代码如下:// 初始化插件var Application;Ap原创 2020-11-27 11:30:42 · 201825 阅读 · 0 评论 -
Java中找出List集合中属性名为key属性值为value的对象
前言:在日常开发中,我们需要从一个 List 集合中找出其中某一个对象,下面就介绍如何从 List 集合中找出属性名为 key 属性值为 value 的对象1、方法 getObjectByKeyAndValue/** * 在一个实体list中,找出属性是key,值为value的实体 * * @param list * @param key * @param value * @param <T> * @return */private static <T> T g原创 2020-08-28 11:20:28 · 208665 阅读 · 59 评论 -
你应该知道的这些Mybatis-Plus使用技巧
最近在用 Mybatis-Plus,嗯,真香!!!今天就来说说 Mybatis-Plus 的那些使用技巧1、条件查询(QueryWrapper)QueryWrapper<UserInfo> queryWrapper = new QueryWrapper<>();queryWrapper.eq("age", 20);List<UserInfo> list = userInfoMapper.selectList(queryWrapper );以上就是查询用户表,用原创 2020-08-19 10:17:07 · 218864 阅读 · 112 评论 -
Java中重定向传参与取值问题
重定向:不仅可以重定向到当前应用程序中的其他资源,还可以重定向到同一个站点上的其他应用程序中的资源,甚至是使用绝对URL重定向到其他站点的资源1、重定向语法@PostMapping(value = "/test")public String index() { return "redirect:index";}当我们请求 test 时,重定向到 index 请求中,当然,也...原创 2020-04-14 22:17:00 · 202721 阅读 · 2 评论 -
Java中将base64编码字符串转换为图片
一段时间,在做摄像头拍照上传,摄像头拍的照片为base64编码格式的字符串,需要上传至项目中,则需要使用到将base64编码字符串转换为图片1、将base64编码字符串转换为图片的代码如下 ImageUtil.java:package util;import javax.servlet.http.HttpServletRequest;import java.io.FileOutputSt...原创 2020-03-24 10:25:11 · 232672 阅读 · 16 评论 -
Java中浮点数转大写金额工具类
做财务模块时,客户要求使用大写金额来显示数字金额,这时便用到了浮点数转大写金额工具类1、浮点数转大写金额工具类 AmountUtil.java:import java.math.BigDecimal;/** * 浮点数转为大写金额 * * @author lizhou */public class AmountUtil { private static final S...原创 2020-03-24 09:58:10 · 199572 阅读 · 0 评论 -
Java中文字转拼音工具类
有时,我们需要将中文汉字转为拼音存储,例如用于检索时,直接输入拼音或者首字母也能检索出我们想要的结果,这时我们便需要将汉字转拼音1、首先我们在 pom.xml 文件中引入需要的 maven 依赖<!-- 汉字转拼音 --><dependency> <groupId>com.belerweb</groupId> <artifactI...原创 2020-03-24 09:49:09 · 200074 阅读 · 1 评论 -
Java中使用Shiro实现对密码加盐并使用MD5加密处理
我们在保存用户密码等敏感信息的时候,需要进行加密处理保存,才能更安全地保护用户个人信息安全Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。1、引入 shiro 的 maven 依赖<!--权限验证Shiro--&g...原创 2020-03-23 21:23:15 · 200182 阅读 · 49 评论 -
IDEA中SVN的使用大全
SVN 在日常工作中,给我们带来许多的方便和高效,今天特此记录一下在 IDEA 中如何使用 SVN一、IDEA 连接 SVN打开 IDEA,选择菜单:File–>Settings,搜索:Subversion:如图所示:我们在后侧的框中,找到你本地安装 SVN 的 svn.exe 文件的绝对路径,例如我的路径为:D:\SVN\svn1.9\bin\svn.exe然后点击 OK...原创 2020-02-21 16:17:03 · 228437 阅读 · 3 评论 -
Viewer,一款好用的图片预览插件
在项目中,需要点击查看图片,本次我用了 viewer 这款插件本次用到的 css,js 文件已经上传至百度网盘:链接:https://pan.baidu.com/s/1N5cvkk0mHV-8gDk240oByA 提取码:l6kw1、引入 css 和 js 文件<!-- 图片查看器 css --><link rel="stylesheet" href="&l...原创 2020-01-08 16:14:03 · 200525 阅读 · 10 评论 -
JavaScript中使用Lodop打印
我们在项目中,会需要用到连接打印机进行打印订单数据信息等,本次我使用的是 Lodop 进行打印我们会用到 Lodop 的依赖文件1、安装软件CLodop_Setup_for_Win32NT.exe2、32版本的运行文件install_lodop32.exe3、64版本的运行文件install_lodop64.exe4、JS文件LodopFuncs.js以上文件已经放在百度网...原创 2020-01-08 15:58:00 · 200843 阅读 · 20 评论 -
Log4j中禁止打印某一类日志
目前我们在项目中使用的日志管理大多都是 Log4j ,它确实让我们对日志的管理更加的方便,快捷最近项目中需要新增导出Excel功能,我们使用的是模块导出的方式,当有的字段值为空时,便会打印如下日志:这样的日志并不是你的代码出错了,而是导出的数据中有的字段为空导致的,这样数据多的时候,日志就会打印一大片,非常不利于我们翻看其它的日志打印,于是便想着要禁止打印这一类日志1、我们找到打印这...原创 2019-12-18 21:36:20 · 202795 阅读 · 0 评论 -
JavaScript中操作后端用ModelAndView返回的List数据
在JavaWeb项目中,我们经常使用ModelAndView装入请求页面的地址和传入页面的数据,我们在HTML中可以用JSTL来操作装入在ModelAndView中的List数据例如我们在渲染select的option选项时:1、在后端我们将list数据装入ModelAndView中:ModelAndView mav = new ModelAndView("/store/list")...原创 2019-12-18 20:54:47 · 202021 阅读 · 1 评论 -
前端加密传输数据,后端解密还原数据
在项目中,我们需要在前端传入参数到服务器后端去,传入的参数带有特殊符号的话会被系统默认转义,导致我们获取不到正确的数据。例如:‘+’,‘&’等符号会被自动转义。这时候我们就需要在前端将数据进行加密,后端获取到数据后,再进行解密,即可获得正确的数据。1、我们在前端页面中将需要传输的数据通过以下方法加密:var str = encodeURI(encodeURI(param).repl...原创 2019-10-16 22:44:11 · 204935 阅读 · 4 评论 -
Java中获取两个字符数组的差值
在开发中遇到的问题,在此记录一下。在销售过程中,每件商品都有自己的序列号,序列号往往是唯一的,营业员在页面扫码或输入多个序列号的时候,需要将该序列号发送到后台跟库存信息进行比较,并将库存信息进行更新,就需要将数据库存储的序列号和接收到的序列号进行比较,再删掉已经销售的序列号。代码如下import java.util.ArrayList;import java.util.Arrays;imp...原创 2019-04-11 16:47:58 · 198271 阅读 · 1 评论 -
Java中关于自定义标签在JSP中的使用
一、使用背景1、当JSP的内置标签和JSTL标签库中的标签都满足不了我们的业务需求时,我们就需要使用自定义标签来方便快捷地帮助我们完成业务需求。2、自定义标签就是让我们以标签的形式在JSP页面中去调用Java代码,每一个标签在背后都对应一个标签处理器类,有时候我们需要一些个性化的需求,所以我们还需要在JSP动作标签以外,来自定义标签。二、开发自定义标签这里模拟地做一个权限控制的自定义...原创 2019-08-29 19:28:01 · 197394 阅读 · 0 评论 -
Centos7中使用FTP+Nginx搭建图片服务器
一、安装FTP服务1.1 查询是否系统已经自带了vsftpd :rpm -q vsftpd1.2 如果有,则删除错误的FTP:rpm -e vsftpd1.3 使用命令安装FTP:yum -y install vsftpd1.4 出现以下图片则为成功1.5 为FTP设置账户:useradd ftpuser(此为账户)1.6 为此账户设置密码:passwd...原创 2019-09-18 21:42:31 · 197998 阅读 · 0 评论 -
Centos7中搭建JDK环境
1、下载jdk,下载地址:http://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz2、将下载的jdk安装包放在/usr/local/src/目录下3、解压jdk安装包至/usr/local/目录下:tar -zxv...原创 2019-09-18 22:09:49 · 197713 阅读 · 0 评论 -
Centos7中搭建Tomcat服务器环境
1、在安装前要安装JDK,并一定要配置环境变量JAVA_HOME!安装JDK可以参考我的前一篇文章:https://blog.youkuaiyun.com/qq_40065776/article/details/1010001012、下载apache-tomcat-7.0.82.tar.gz,并传至linux的/usr/local/src下3、解压apache-tomcat-7.0.82.tar....原创 2019-09-18 22:14:35 · 197743 阅读 · 0 评论 -
Java中利用Set判断List集合中是否有重复元素
在开发工作中,我们有时需要去判断List集合中是否含有重复的元素我们不需要找出重复的元素,我们只需要返回一个Boolean类型就可以了如果使用循环遍历的方式,将会消耗大量的性能我们只需要将List集合转化为Set集合,再进行比较就可以实现了原创 2018-12-05 20:05:36 · 219631 阅读 · 78 评论