- 博客(15)
- 收藏
- 关注
原创 文件上传漏洞
路径遍历漏洞修复方案总结:针对文件路径处理问题,建议采取多层防护措施。核心修复包括:文件大小限制(建议5M内)、扩展名白名单校验、过滤"../"等路径遍历字符、重命名防覆盖、隐藏真实路径。技术实现上推荐使用FileUtil工具类处理路径,同时需注意上传目录禁用执行权限、延迟存储至验证通过后。其他可选措施包含病毒扫描(性能考量)和内容检测。通过以上综合防护可有效防范路径遍历风险。
2025-09-20 10:59:04
221
原创 1.Vue开发常见问题与技巧
摘要:本文总结了前端开发中的常见问题与解决方案,包括: jQuery获取数据时的多引号处理方式 Controller参数传递的正确写法 URL参数获取的两种方法 HTML字符串拼接技巧 POI导入Excel的异常处理 Vue基础使用(指令、过滤器、计算属性等) Vue项目创建与配置(脚手架、Element-UI安装) Vue组件化开发要点 涵盖了从基础语法到项目配置的开发技巧,对前端开发中的典型场景提供了实用解决方案。
2025-06-01 12:14:40
140
原创 3.Mybatis一对多与一对一配置详解
本文摘要:主要介绍了MyBatis和Spring MVC的常用配置与操作技巧。1) MyBatis关联查询配置,包括一对多(collection)和一对一(association)映射;2) 分页实现方式:RowBounds对象分页和SQL物理分页;3) 主键自增处理:@Options注解和select LAST_INSERT_ID();4) 动态SQL编写方法,包括条件查询和trim标签使用;5) 模糊查询的CONCAT实现;6) 事务控制(@Transactional)和批量操作(foreach);7)
2025-06-01 12:08:08
129
原创 4.JavaBean转换技巧:BeanUtils与Date处理
JavaBean封装与类型转换摘要 JavaBean需满足:无参构造器、private成员、public get/set方法。使用BeanUtils进行数据封装时,String类型可直接通过BeanUtils.populate()处理,而非String类型(如Date)需自定义转换器。转换器需实现Convert接口的convert方法,完成格式转换(如SimpleDateFormat处理日期),并通过ConvertUtils.register()注册。注意处理日期格式多值情况(如date1.date多02.
2025-06-01 12:02:00
214
原创 5.分布式核心技术全解析:CAP到Seata
本文摘要:文章系统介绍了分布式系统的核心技术与解决方案。首先阐述CAP理论和BASE理论,以及Paxos、Raft等一致性算法。其次详细解析API网关的功能及主流实现框架(如Spring Cloud Gateway、Kong等)。在分布式ID方面,重点分析了雪花算法及其应用场景。针对分布式锁,对比了Redis、Zookeeper等不同实现方案的优劣。最后深入探讨分布式事务,包括2PC/3PC协议、TCC模式和基于消息中间件的最终一致性方案。全文为构建分布式系统提供了全面的技术参考和实践指导。
2025-06-01 11:49:23
1036
原创 6.Spring核心知识全解析:IOC/AOP/事务/循环依赖
本文总结了Spring框架的核心知识点,包括IoC控制反转、AOP面向切面编程、事务管理等内容。IoC通过依赖注入实现,常见注解如@Component和@Bean用于声明bean,bean作用域包括单例和原型等。AOP通过动态代理实现,用于日志、事务等通用逻辑。事务管理支持编程式和声明式两种方式,涉及传播行为和隔离级别等概念。Spring Boot自动装配原理基于条件注解按需加载配置类。文章还介绍了常见设计模式、循环依赖解决方案、统一异常处理、HTTP状态码以及CAP理论。
2025-06-01 11:46:58
1255
原创 7.Kafka面试高频30问,轻松搞定分布式消息队列
Kafka核心问题解析摘要:本文汇总了Kafka常见技术问题及解决方案,涵盖核心概念(生产者/消费者/分区/副本)、消息可靠性保障(ack机制/数据丢失预防/顺序消费)、集群管理(Zookeeper作用/主从同步/高可用机制)等关键知识点。重点包括:1)消息系统与MySQL的本质差异在于消息排序和异步处理能力;2)通过多副本机制(replication.factor≥3)和精确ACK配置(all)确保数据不丢失;3)消费端通过手动提交offset和幂等设计避免重复消费;4)Zookeeper负责元数据管理和
2025-06-01 11:45:06
720
原创 8.spring cloud gateway
为此我们实现了 StaticLoadBalancerClientFilter ,它的功能与 Gateway 自己的 ReactiveLoadBalancerClientFilter 类似,区别在于它不是通过 Eureka 获取服务实例的,而是通过手动配置的服务实例信息来做服务实例发现的,这些手动配置的服务实例信息保存在数据库里。因为 RouteDefinitionMonitor 是定时检查的(默认 30 秒),所以 RouteDefinition 的更新并不是实时的,会有一定的延迟。
2025-06-01 11:43:59
1153
原创 9.Java面试高频考题解析2
当你设置SqlSessionFactory的configuration.setExecutorType(ExecutorType.Batch)时,Mybatis将会把所有的SQL语句缓存起来,然后在一次数据库交互中执行,这样可以显著提升批处理的效率。这种方式适合于单条记录的操作,但并不适合大批量的数据操作,因为每次迭代都会创建一个新的SQL语句,这会导致大量的内存消耗和较慢的处理速度。在使用的地方注入,只能用@Resource注入,而且变量名称必须和xml中的util:list的声明的id一样。
2025-06-01 11:35:21
727
原创 10.Java面试高频考题解析1
Exception 又可以分为 Checked Exception (受检查异常,必须处理) 和 Unchecked Exception (不受检查异常,可以不处理)。Checked Exception 即 受检查异常 ,Java 代码在编译过程中,如果受检查异常没有被 catch或者throws 关键字处理的话,就没办法通过编译。D. 针对某类中方法的调用,使用了AOP 增加调用记录的功能,a()同b()方法同方法调用b0,则Advice 不会在b()方法执行。但在末尾进行插入和删除操作效率较高。
2025-06-01 11:25:35
719
原创 16.字符流与字节流:Java文件处理全解析
摘要:本文介绍了Java中的字节流和字符流操作。字节流以字节为单位处理任意文件,字符流则需结合解码处理文本文件。详细讲解了FileInputStream和FileOutputStream的构造方法、常用操作及文件拷贝实现。字符流方面介绍了Reader/Writer类及其子类FileReader/FileWriter的功能。特别强调了缓冲流的使用优势,以及不同操作系统下的换行符差异。对于文件操作的基本流程(确定文件、建流、读写、关闭)和常见问题(中文乱码、追加写等)也进行了说明。
2025-06-01 11:05:51
285
原创 17.Git新手必学:基础命令快速入门
本文介绍了Git的基本初始化配置和文件提交流程。首先通过git -version查看版本,然后配置全局用户名和邮箱。接着创建1.txt文件,使用git init初始化仓库,git add添加文件,git status查看状态,最后用git commit -m提交文件。若无法退出编辑器,可按ESC键退出。这涵盖了Git的基本设置和文件提交操作。
2025-06-01 10:42:19
180
原创 21.unix server log search
本文介绍了5种在Linux系统中查询日志内容的常用命令:1)使用cd切换到日志目录;2)通过find和xargs组合搜索日志内容;3)使用cat和grep管道过滤日志;4)grep -r递归搜索目录下所有日志文件;5)tail -f实时查看日志更新。这些命令涵盖了从静态日志搜索到动态日志监控的常见需求,适用于不同场景的日志排查工作。
2022-11-28 22:01:09
46
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅