Java
灯火栏栅处
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
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 · 3076 阅读 · 0 评论 -
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 · 6060 阅读 · 0 评论 -
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 · 1189 阅读 · 1 评论 -
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 · 600 阅读 · 0 评论 -
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 · 663 阅读 · 0 评论 -
前后端分离开发JAVA后端使用CORS技术解决跨域请求
前后端分离开发开发,不可能随时部署到服务器上进行测试。。为了前后可以高效绑定接口,肯定是再本地直接调用是最快捷的了。那么本地路径和接口地址再浏览器就会有同源策略限制,这时如果使用的非src的不受限制之外的方式,如ajax等,就会产生跨域。那么本例就是使用CORS来解决跨域问题。同源策略1、同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。2、所谓原创 2020-10-27 14:53:58 · 481 阅读 · 0 评论 -
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 · 11267 阅读 · 1 评论 -
Spring Boot集成Mybatis使用PageHelper分页查询
在web开发中经常用到分页查询,比如当某个页面查询返回的数据量较大时,为了提高性能和用户体验我们肯定不能将数据库中所有的数据一次性返回给前端,这样如果数据量大的话就会比较耗时。所以我们就需要用到分页查询,从而可以提高查询性能。这里为什么会使用PageHelper插件。是因为PageHelper是一款开源的Mybatis第三方物理分页插件,使用起来很方便,可以自动拼接mapper.xml配置里的对应的sql语句,也就是说不用我们去写sql语句的一些配置,直接使用原来的查询所有的sql语句就行。Spring原创 2020-10-22 15:41:29 · 231 阅读 · 0 评论 -
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 · 466 阅读 · 0 评论 -
使用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 · 407 阅读 · 0 评论 -
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 · 1646 阅读 · 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 · 2980 阅读 · 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 · 1510 阅读 · 0 评论 -
未知前端参数名时JAVA后端获取请求中所有的参数名
再一些需求中,我们再未知前端参数名时JAVA后端要获取参数值。那就必须先拿到参数名。什么情况下用到呢?比如再做一些数据传输安全处理时,前端将参数名与参数值都进行了加密,后端常规中用的直接请求参数名取值的方法就失效了,因为不知道加密后的参数名的密文是什么。这里记录两种方法request拿到当前接口请求的所有参数名。当然也可以用其他的遍历方式。1、使用request.getParameterNames()方法Enumeration enu=request.getParameterNames(); wh原创 2020-09-16 11:38:45 · 640 阅读 · 0 评论 -
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 · 3638 阅读 · 1 评论 -
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 · 996 阅读 · 0 评论 -
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 · 332 阅读 · 0 评论 -
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 · 351 阅读 · 0 评论 -
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 · 329 阅读 · 0 评论 -
Eclipse远程调试相关配置详细教程
再一些情况下需要使用到远程调试,不然每次看服务器上的日志也太low了。比如使用了第三方API,必须要将程序放到服务器,并有域名才可以,因为要有外网可以访问,这样才可以使用相关API。这里记录一下将开发过程中的程序放到服务器上,运行起来再本地Eclipse里DEG调试的相关配置。1.首先将centos系统上的tomcat的运行权限进行修改,因为root权限太大,容易出问题创建普通账户adduser work设置密码passwd work**如果已有tomcat,那么先停掉2.安装新的一个原创 2020-07-08 19:05:47 · 557 阅读 · 0 评论 -
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 · 778 阅读 · 0 评论 -
Java后端 Excel导出表格
笔记:Java后端 Excel导出表格 public ReturnMsg derivedForm(JSONObject record){ ReturnMsg msg=new ReturnMsg(); Map&amp;lt;Object,String&amp;gt; map=new HashMap&amp;lt;Object,String&amp;gt;(); String sw=Befo...原创 2018-12-22 10:20:08 · 555 阅读 · 0 评论
分享