Java JSON解析特性分析
JSON是一种轻量级资料交换格式,其内容由属性和值所组成,因此也有易于阅读和处理的优势,JSON也是目前最为流行的C/S通讯方式。JavaEE的规范中制定了Java API for JSON Processing (JSON-P,JavaEE7+)和Java API for JSON Binding (JSON-B,JavaEE8+)规范,但是在JavaEE的request中无法直接获取JSON请...
阅读全文JSON是一种轻量级资料交换格式,其内容由属性和值所组成,因此也有易于阅读和处理的优势,JSON也是目前最为流行的C/S通讯方式。JavaEE的规范中制定了Java API for JSON Processing (JSON-P,JavaEE7+)和Java API for JSON Binding (JSON-B,JavaEE8+)规范,但是在JavaEE的request中无法直接获取JSON请...
阅读全文自从Oracle把Java EE捐给Apache后新版本的JavaEE也就正式的改名为了"Jakarta® EE"。值得注意的是2020年2月Tomcat发布了第10个版本,Tomcat 10 m1将JavaEE也换成了**Jakarta® EE**(Jakarta Servlet 5.0、Jakarta Server Pages 3.0、Jakarta Expression Language 4...
阅读全文`JPDA(Java Platform Debugger Architecture)` 是 Java 平台调试体系结构的缩写,通过 JPDA 提供的 API,开发人员可以方便灵活的搭建 Java 调试应用程序。 大概在2015年左右用tangscan扫到了很几次jdwp服务端口,当时只是简单的测试过这个服务。 这个jdwp服务提供来对java程序调试的功能,只要有程序启动时使用了jdwp参数且端口...
阅读全文最近几年开发RASP产品期间整理了很多的Java语言的特性,不过一直都没有时间写文章,可能真的是变懒了吧~ JDK9开始提供了一个叫jshell的功能,让开发者可以想python和php一样在命令行下愉快的写测试代码了。JDK9已经发布距今(2019年9月)了2年时间了,但在生产环境下使用JDK8以上的应用依旧寥寥无几。不过我们只需要利用这一特性其实是可以实现任意代码执行了,也就是说正真意义上的原...
阅读全文上一篇文章写了如何使用Unsafe来创建任意类对象的实例,这篇文章接着写如何使用Unsafe来定义一个类对象。 正常情况下我们可以重写ClassLoader类来实现定义任意的类,但是某些时候我们无法通过自定义ClassLoader来定义类的时候可以使用这种方式来定义一个class,但是前提条件是在JDK11之前的版本。 如果我们需要定义一个名为`com.anbai.lingxe.agent.AbT...
阅读全文最近使用Fastjson的时候遇到一个类无空构造方法导致无法反序列化类对象,试了下Fastjson和Jackson都无法创建,而Gson确可以无视构造方法反序列化对象。 **测试类:TestRequest.java** ```java public class TestRequest implements Serializable { private String method; private ...
阅读全文这个Java代码审计系列是年前公司内部最后一次技术分享,开源到了Github(包含了代码和文章)也在凌天实验室公众号发布过,因为时间不够并未写完,年后若有时间会将剩下的部分完成。 Git地址: [javaweb-codereview](https://github.com/anbai-inc/javaweb-codereview) 文章地址: [JavaSecureCodeReview](http...
阅读全文web.xml初始化 ![img](https://www.yzmm.net/uploads/image/20181026/20181026071155_87.png) web.xml需要配置Spring的listener(ContextLoaderListener),ContextLoaderListener是Spring的初始化加载类,如果未在web.xml中配置“context-para...
阅读全文Spring Data Elasticsearch默认采用了Jackson作为对象序列化方式,但是为了保持Json序列化一致性就不得不修改Spring Data Elasticsearch的序列化结果了,这里讲下如何使用的是Fastjson来序列化Spring Data Elasticsearch查询出来的数据。 Spring Data Elasticsearch中,默认会调用`org.sprin...
阅读全文今天看Spring的Multipart处理发现一段比较奇怪的代码: ![img](https://www.yzmm.net/uploads/image/20180803/20180803094501_282.png) 奇怪的是Spring为什么会对“=?”、“?=”进行特殊处理?跟进后发现这玩意是QP编码,用来解决邮件内附件编码问题。Spring调用了java mail的api对文件上传的附件文件...
阅读全文