- 博客(105)
- 收藏
- 关注
转载 urlEncoder和urlDecoder的作用和使用
背景说明:用rsa加密了一个参数传到前端,前端通过get请求将参数放在url中传给后端,结果后端解密的时候失败了,是因为浏览器会自动对url中的特殊字符进行转义,所以我们需要将数据以一种格式进行编码,然后以相同的格式进行解码,这样就能够得到原始数据。URLEncoder.encode(String s, String enc)使用指定的编码机制将字符串转换为 application/x-www-form-urlencoded 格式URLDecoder.decode(String s, Stri
2021-12-29 16:30:31 535
原创 如何解析URI到字典中
引入httpclient依赖<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.0.2</version> </dependency>代码示例public.
2021-12-29 16:09:37 272
原创 Charles抓取HTTPS请求出现unknown
Charles抓取HTTPS请求出现unknownhttp正常抓包,https则出现unknown安装证书Help->SSL Proxying->Install Charles Root Certificate;这里主要要将Keychain设置成systemCharles配置抓取HTTPS端口Proxy -> SSL Proxying Settings...
2021-11-01 10:56:38 518
原创 get和Post的区别是什么
相同点:POST和GET都是向服务器提交数据,并且都会从服务器获取数据不同点:传输方式:get通过地址栏传输,post通过报文传输传送长度:get参数有长度限制,而post无限制GET产生一个TCP数据包(对于GET方式的请求,浏览器会把http header和data一起发送出去,服务器相应200返回数据)POST产生两个TCP数据包(对于POST,浏览器先发送header,服务器相应100 continue,浏览器再次发送data,服务器相应200 ok 返回数据)get请求参数会被完成
2020-12-21 14:07:02 138
原创 接口自动化用例怎么写?
一 接口自动化测试用例设计方法1.1 接口参数覆盖接口测试通过输入使用参数组合,获得服务器返回值,并更具预先设置的规则判断是否符合预期值。在接口测试中,根据接口的功能不同,需要侧重检测的方面也不同。主要从以下几个方面考虑测试用例设计:1)参数类型(数值型,字符型,布尔型,枚举型,组合类型)eg:特定接口字段对入参的参数类型有要求2)异常值:null,空字符eg:必要参数不允许为空,比如账号/密码登陆3)边界值eg:有限定取值范围的字段4)默认值eg:非必选参数,未传值时采用默认值5)
2020-12-21 13:50:25 1342
原创 为什么是List list = new ArrayList() 而不直接用ArrayList
为什么是List list = new ArrayList(),而不直接用ArrayList?编程是要面向对象编程,针对抽象(接口),而非具体。List 是接口,ArrayList是实现。实现List接口的有ArrayList、LinkedList、Vector等,所以用哪个就直接new 一个接口实现这是一种很好的设计模式.一个接口有多种实现,这种写法是java面向对象的一种思想,依赖倒置原则,即依赖于抽象不依赖于实现(具体)。给调用者提供的应该是接口或者抽象类,而实现者可以实现或者继承接口或者抽象
2020-12-14 14:19:55 544
原创 定义和使用注解
如何定义Annotation第一步,用@interface定义注解:第二步,添加参数、默认值:第三步,用元注解配置注解:1:定义一个注解类@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.FIELD)public @interface Range { int min() default 0; int max() default 255;}2:定义bean对象public class Person {
2020-12-11 15:12:13 112
原创 Gson序列化和反序列化以及泛型以及byte字节流
import com.google.gson.Gson;import java.io.Serializable;public class BodyCodec implements IBodyCodec {private static Gson gson = new Gson();@Overridepublic <T> byte[] serialize(T obj) throws Exception { //1. jdk 序列化 //2. json //3.自定义算法(Hessi
2020-11-19 16:58:20 2343
原创 Redis的缓存穿透 缓存雪崩
缓存穿透:是指当大量请求在缓存中去查询一个不存在的值的时候,查询会直接落到数据库,给数据库服务带来很大的压力。解决方式:在缓存中查到即使返回值为null的结果值,也把null值写回缓存缓存中存在大量的key值,占用内存解决方式1:设置key的TTL解决方式2:设置hash散列来维护key缓存雪崩:当缓存的所有的key的TTL在同一时间失效,那么所有的查询请求都会落到数据库,造成服务不能工作解决方式:可以给key设置随机的TTL,避免所有的key都在同一时间过期。ps:随机数Long time
2020-10-13 10:50:33 95
原创 SpringBoot拿到配置文件中的两种方式
1:@Value 注解@Value("${server.port}") private String port;2:Environment@Autowired private Environment env; env.getProperty("server.port")
2020-10-09 11:01:40 159
原创 使用hibernate实现参数的自动校验
1:引入相关依赖 <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> </dependency>2:在entity class的属性上加上对应的注解@ToStringpublic class OrderRecord { private Integer
2020-10-08 21:23:46 208
原创 在springboot中找到一个配置类的底层代码
spring-boot-autoconfigure->spring.factories->redis.RedisAutoConfiguration->RedisProperties.class在RedisProperties.class这里面列出来了可以在配置文件里面配置的所有属性值
2020-09-30 11:07:54 218
原创 Redis的事务问题
在Redis中,单个命名是具有原子性的,但是整个事务不具有原子性。因为整个事务是一系列命令组成的,一旦这些命令当中某些明令出现运行时异常,其他命令依然可以执行成功,因此整个事务不具有原子性。另外可以用watch命令实现乐观锁第一个线程OK127.0.0.1:6379> watch moneyOK127.0.0.1:6379> multiOK127.0.0.1:6379> decrby money 10QUEUED127.0.0.1:6379> incrby mone
2020-09-29 15:22:50 204
原创 如何打包部署一个tomcat项目
1:添加依赖 <!-- 打包成war--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.6</version&
2020-09-23 14:15:59 1471
原创 配置文件变量与对象映射@ConfigurationProperties
@ConfigurationProperties(prefix = "system.entity.variable")
2020-09-23 13:23:55 194
原创 @PathVariable和@RequestParam的区别
写一下使用时候的区别,原理不会写1:@PathVariable:占位符,在URL中异步请求2:@RequestParam:request的参数=======================================================
2020-09-22 22:09:41 88
原创 用外置的tocat运行springboot项目的四个步骤
1:添加依赖 <!-- jsp 支持 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope>
2020-09-22 21:53:32 177
原创 在tomcat deployment中添加不了server:war
今天遇到一个很silly的问题,在tomcat deployment中添加不了server:war,原因是在pom文件中没有添加 <packaging>war</packaging>
2020-09-22 21:17:02 388 1
原创 SpringBoot:mybatis在控制台输出日志配置
1:如果是在application.yml文件中配置com.pt.mapper:是mapper接口所在包2:如果实在xml文件中配置 <setting name="logImpl" value="stdout_logging" />
2020-09-22 16:23:26 1768
原创 win10 idea中mybatis生成逆向工程
1:添加generator.properties文件注意点:jdbc.connectionURL里面的database里需要指明,并且需要该database下面的表有数据qiejdbc.driverLocation=D:\\workspace\\MAVEN\\repository\\mysql\\mysql-connector-java\\5.1.47\\mysql-connector-java-5.1.47.jarjdbc.driverClass=com.mysql.jdbc.Driverjdb
2020-09-22 10:54:38 80
转载 ThreadLocal的用法和作用
https://blog.csdn.net/jaryle/article/details/51434418?utm_medium=distribute.pc_relevant.none-task-blog-title-3&spm=1001.2101.3001.4242
2020-09-21 11:10:23 55
原创 Spring对bean对象的管理细节
Spring通过配置文件创建bean对象的三种方式1:第一种方式,通过默认构造函数的方式2:第二种方式,使用普通工厂中的方法创建对象(使用某个类中的方法创建对象,并存入spring容器)<bean id=“xxxx” factory-bean=“xxxA” factory-method=xxxM"/>3:第三种方式,使用工厂中的静态方法(使用某个类中的静态方法创建对象,并存入spring容器)Bean的作用范围(scope)bean标签的scope属性:作用:用于制定.
2020-09-18 18:08:17 82
原创 @Autowired和@Resource的区别
1:@Autowired是Spring体系的注解 @Resource是javax也就是javaEE自身的注解@Autowired:作用:自动按照类型注入。只要容器中有唯一的一个bean对象类型和要注入的类型匹配,就可以成功注入;如果容器中有多个类型匹配时,再用注入的变量名称按照名字匹配,下图:在AccountService当中入住AccountDao@Qualifier:属性是value,在按照类型注入的基础之上再按照名称注入。它在给类成员注入时不能单独使用。但是在给方法参数时可以单独使用@A
2020-09-18 12:24:16 156
原创 win10 ERROR: node with name “rabbit“ already running on “localhost“解决方法
用管理员打开cmd先停止,再启动net stop RabbitMQnet start RabbitMQ浏览器访问:http://localhost:15672
2020-09-14 15:00:57 275
原创 org.springframework.web.HttpMediaTypeNotSupportedException: Content type ‘text/plain;charset=UTF-8‘
在做spring boot项目时用postman进行json调用测试时出现以上错误:这表达的意思是说上下文的类型格式不对,后台要求为json格式,而上传的是text/plain格式。所以将调用路径的header加上key Content-Type,value为application/json。如下图:...
2020-09-14 13:50:00 728 1
转载 idea启动tomcat无效:Unable to ping server at localhost:1092
https://blog.csdn.net/maoyuanming0806/article/details/78154551
2020-09-10 17:13:36 195
原创 如何重置mysql密码
1:issue:一直无法启动mysql 服务方法:将my.ini文件移到bin文件下面2:如何重置密码1.修改本地mysql目录中的my.ini文件添加skip-grant-tables2.在win +r 输入cmd,进行mysql的重启启动操作3.直接输入mysql -u root -p然后不输入密码直接回车就可以进入数据库执行sql修改root用户的密码:update user set authentication_string = password(“123456”) wher
2020-08-24 21:30:59 781
原创 MAVEN常用命令
mvn clean:清理mvn compile:编译主程序mvn test -compile:编译测试程序mvn test:执行测试mvn package:打包mvn install:将jar包放入本地maven仓库
2020-07-06 11:14:37 75
原创 List和Array的相互转化
1:List转化成Array方法1:用toArray() List<String> list =new ArrayList<>(); list.add("apple"); list.add("pear"); list.add("banana"); String[] strings=list.toArray(new String[list.size()]); for(String s:strings){ System.
2020-06-16 12:14:36 978
转载 Mac下的环境变量配置
https://www.jianshu.com/p/f1adedbda0d3使用惯了win,在用mac系统添加环境变量总觉得麻烦,而且几个配置文件也没弄到底有什么区别,今天就来总结一下1.环境变量的作用:我们先来看这样的一个使用场景1,我们有一个程序Java,需要读取某个文件(/data/file.txt)。 那么我们在运行的时候是不是需要做如下的步骤:cd 到Java的目录下;执行Java命令;但是,当我们需要同时使用多个工具的时候,比如又有java、maven、git等等,而且是多台机器的时
2020-06-09 21:32:12 302
原创 JavaBasic:List的求交集和去重操作
// 求交集 List<String> list1=new ArrayList<>(); List<String> list2=new ArrayList<>(); list1.add("Hello"); list1.add("Lucy"); list1.add("Lucy"); System.out.println(list1); l
2020-06-09 18:06:19 99
原创 动态代理
package com.pt;import com.sun.xml.internal.xsom.XSUnionSimpleType;import org.aopalliance.intercept.Invocation;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;public class Main { public
2020-06-09 12:48:29 80
原创 事务整合BeanNotOfRequiredTypeException: Bean named must be of type [] but was actually of type
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'accountController': Unsatisfied dependency expressed through field 'accountService'; nested exception is org.springframework.beans.factory.BeanNotOfRequiredTyp
2020-06-07 16:44:58 291
原创 SpringMVC:resources下面springmvc.xml文件内容
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="h
2020-06-03 16:44:12 246
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人