java web
文章平均质量分 58
努力的小星星
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
单元测试:脱离Springboot环境加载属性文件样例转至元数据结尾
背景单测的例子仅涉及属性文件的加载,不涉及数据库等,所以不希望启动整个spring boot环境样例 代码如下: // 脱离springboot启动环境如何加载属性文件 @Import(value = {TestProperties.class}) @EnableConfigurationProperties @ContextConfiguration(initializers = ConfigFileApplicationContextInitia原创 2022-03-10 16:46:37 · 927 阅读 · 0 评论 -
java web:Broken Pipe问题排查始末
声明首次,查找到博客等材料,只有 BrokenPipe错误终极解释,比较靠谱,但是实际的操作中,发现表现并不一样,具体的可见该博客的评论,或者自己实现下。接下来就是尝试,不过事先声明,不要在windows os上测试,该问题无法完全复现,均会报“Connection reset by peer: socket write error”。结论好了,不废话,上结论,原因是:socket的client单方面关闭(不论是client所在进程崩溃还是timeout)后,且已经向server发送了RST原创 2022-02-16 19:17:24 · 2612 阅读 · 0 评论 -
Spring boot项目中排除自动配置类失败问题始末
正常情况下,在Spring boot项目中,对于多个自动配置类冲突问题,使用@EnableAutoConfiguration的exclude即可。如下,存在两个配置类构造同一dataSource:1.某包下DruidDataSourceAutoConfigSelf配置类(使用spring.factories进行的自动配置) packagecom.example.framework.autoconfigure.druid; @Configuration @Con..原创 2020-08-03 10:48:01 · 5348 阅读 · 2 评论 -
feign动态切换url方式实现
1、定义调用接口(主要使用@RequestLine) 2、使用(Feignbuilder) 3、调用方式与原feignCLient无异:springcloud中feignClient对原生feign进行了上层封装,得以在Spring环境下对开发人员有较好的细节屏蔽,如果想要跳出该封装,进行灵活的使用,如下场景:需要根据用户的配置,在不重启机器的情况下完成服务的切换 大量的基础参数重复在各个接口间,或其他定制化操作(拦截器等)这种情况下,需要使用原生feign,按以下几步即可:1、定义调用接原创 2020-07-30 17:39:39 · 9850 阅读 · 0 评论 -
Jsp之Servlet中forward和sendRedirect区别【经典面试问题】
这两者的区别是经典面试问题,我们在servlet或JSP编程中也经常用到,接下来看下他们的接口定义所属类。sendRedirect(String url),定义在HttpServletResponse中 该方法用于将客户端请求重定向到其他位置进一步处理,新位置可以在其他服务器或不同上下文,并且该请求是在结束本次请求后,由浏览器重新发起的一次请求,因此也称为客户端重定向。这样说可能更直白,...翻译 2020-04-16 15:10:23 · 375 阅读 · 0 评论 -
记一次feignClient导致的启动失败经历
spring cloud starter feign 1.4.4.RELEASE一、基本排错过程及原因项目启动报错如下:org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'xService' defined in class path res...原创 2020-03-09 11:31:29 · 3549 阅读 · 0 评论 -
logback日志级别控制
日志级别及代表整数值:off-intMaxValue error-40000 warn-30000 info-20000 debug-10000 trace-5000 all-intMinValue项目启动时,我们设置的日志打印级别为有效级别,比如设置为debug(10000),那么服务运行过程中,打印的trace(5000)级别将不再打印,以下是源码(ch.qos.logbac...原创 2020-03-06 14:45:46 · 623 阅读 · 0 评论 -
Web安全问题梳理
一、XSS(Cross-Site Scripting)跨站脚本攻击,与CSS缩写一样,故叫XSS。它是指通过存在安全漏洞的web网站,在注册/登录用户的浏览器内运行非法的HTML标签或javascript脚本的一种攻击。原理恶意攻击者在web页面里插入可执行的网页脚本代码,当用户浏览该页之时,嵌入其中的脚本代码就会被执行,从而可以达到攻击者盗取用户信息或其他隐私的目的。目的在正...原创 2020-01-02 19:45:30 · 493 阅读 · 0 评论 -
feign在springCloud场景下进行动态url变更
springcloud中feignClient对原生feign进行了上层封装,得以在Spring环境下对开发人员有较好的细节屏蔽,如果想要跳出该封装,进行灵活的使用,如下场景:需要根据用户的配置,在不重启机器的情况下完成服务的切换 大量的基础参数重复在各个接口间,或其他定制化操作(拦截器等)这种情况下,需要使用原生feign,按以下几步即可:定义调用接口(关键点:RequestLine...原创 2019-12-12 10:58:56 · 4047 阅读 · 0 评论 -
eureka服务注册慢、剔除服务慢问题解决
一、服务注册慢、剔除慢,使用减少延时方式(各自进行配置)1、eureka-server# 服务端剔除间隔eureka.server.eviction-interval-timer-in-ms=5002、eureka-service# 实例续期持续多久后失效eureka.instance.lease-expiration-duration-in-seconds=2# 实例续期心跳...原创 2019-08-13 19:39:30 · 3502 阅读 · 1 评论 -
spring cloud:feign预配置路径
使用feign的过程中,经常会需要引入别人的feign-client,请求接口,这样不可避免的就需要将需要的feign所在路径在项目中配置齐全,本文解决在源头如何避免使用的人每次都需要增加自己提供的feign所在路径问题。1、首先,了解springboot的一个机制,就是自动配置功能,该功能可在项目的resources/META-INF下增加spring.factories文件,按如下方式将自...原创 2019-07-23 13:54:25 · 740 阅读 · 0 评论 -
Spring:基于aop和this调用的区别
有这样一种场景,我的某个Service中加了注解,且根据该注解做了切片,增强了方法,如下那么,问题来了,除了service.func()方式外,可能我的注解是加在了私有方法上,即通过类内其他方法this指针调用该方法,通过测试,发现,this方式调用后,该注解原本加强的功能没有了,到底怎么回事呢?接下来我们一起来揭秘,看看Spring的aop到底做了什么。这样,我们先抛出几个问...原创 2019-06-12 15:48:46 · 1594 阅读 · 0 评论 -
Spring @ControllerAdvice 使用及源码分析
ControllerAdvice作为Spring中默认的注解,提供对所有(你的项目包扫描范围内)Controller的异常捕获功能。使用时,如下:@Order(Integer.MAX_VALUE)@ControllerAdvicepublic class DefaultExceptionHandler { protected Logger log = LoggerFacto...原创 2019-06-11 11:43:00 · 2140 阅读 · 0 评论 -
Spring:validate和messages消息源统一化
统一validator和Spring国际化消息源原创 2019-06-17 17:20:14 · 3669 阅读 · 0 评论 -
redisson缓存序列化几枚“坑”说明
1、返回值为Map<T, K> 的方法增加@Cacheable后,T和K被类型擦出了,为啥?redisson结合Spring使用时,会有RedissonSpringCacheManager,将redissonClient自动注入,另外还有codec的概念,即序列化和反序列化,可以查看实现类,就几种实现,假设我们使用org.redisson.codec.JsonJacksonCode...原创 2019-07-02 18:56:24 · 2430 阅读 · 0 评论 -
Spring Boot:Condition使用及环境变量作为判断依据
目前有个需求,国际化过程中,我将我的messageSource单例Bean上增加了属性开关,即@ConditionOnProperty,相信大家都会用,然后需求来了,使用者不想挨个项目配置这个属性,想读取环境变量,这时问题就来了,我需要更健壮的condition!这时,想到了spring-context中有Condition,可以自己实现条件筛选,nice!其实之前没怎么接触过java中获...原创 2019-07-04 19:00:59 · 1608 阅读 · 0 评论 -
spring boot 运行、打包报循环依赖错误异常
最近的springboot项目开发时运行没问题,打包运行时报错:抛出BeanCurrentlyIn CreationException异常:Requested bean is currently in creation: Is there an unresolvable circular reference? 查了下原因是循环依赖问题。什么是循环依赖?当我们有两个(当然也可能是多个)类...转载 2019-07-29 14:21:11 · 1533 阅读 · 0 评论 -
eureka高可用方案及测试
首先,eureka的ha基本解决方案是通过部署多eureka实例,并且使任何一实例均注册到其余所有eureka中,互相注册,达到注册列表多备份。然后,对于client端,启动时,eureka.client.service-url.defaultZone需要将各eureka实例均配置上,通过“,”间隔即可。预备工作:以下是ha测试过程:eureka实例:实例1:所在宿主机:1...原创 2019-07-25 11:08:43 · 705 阅读 · 0 评论 -
Spring:自定义扫描器
spring 下扫描自定义注解并生成bean该如何做?首先,定义扫描类@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)public @interface Group { /** group值 */ String value();}然后,编写扫描器class GroupClassPath...原创 2019-07-31 12:47:44 · 376 阅读 · 0 评论 -
java web生态系统简析
java web首先遵循由外向内的方式进行剖析。1.web容器容器当属tomcat最为普遍,web容器给我们做了什么呢,监听端口,基于servlet规范,将接收的请求包装成request,经过过滤链,向下传达到servlet容器,狭义上也就是我们的网站,我们所熟知的HttpServlet就是常用的servlet。如下,是请求经过tomcat的层次及关系:图上的Servlet.doService(...原创 2018-04-14 15:10:36 · 811 阅读 · 0 评论
分享