experience
JSON多以fastjson为例
*注意:jdk1.8之前的版本(不包括1.8)需要使用fastjson 1.的版本,与其后版本不兼容
json字符串转为json对象一个将json字符串转为json对象并将其中的json数组取出并处理的例子
1234567891011// 将json字符串转为json对象 JSONObject originalJsonObject = JSONObject.parseObject(originalJsonString); // 获取json数组 JSONArray array = originalJsonObject.getJSONArray("jsonArray"); // 遍历处理 JSONArray targetArray = new JSONArray(); for (int i = 0; i < array.size(); i++) { JSONObject jsonObject = array.getJSONObject(i); JSONObject tar ...
JavaUtilsClass
json匹配123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134import com.alibaba.fastjson2.JSONArray;import com.alibaba.fastjson2.JSONObject;import java.util.*;public class JsonModifyUtil { /** * 存放模板路径的集合 */ static HashSet<String> frame ...
aidlux 配合 nginx 搞一个小服务器用
内网渗透工具选择一款的内网渗透工具,such as 飞鸽,点击注册,注意客户端要下载arm64的免费的基本能用,不过速度比较慢,对速度有要求比如想要远程控制aidlux的建议付费上高速通道。
nginx反向代理aidlux 已经安装了nginx,其配置文件在:/etc/nginx/下我们可以在这个文件夹下创建一个conf结尾的文件:其中末尾斜杠可参考nginx如何配置代理转发
服务自启在/root/下找到 .rc.local文件编辑后台启动部分可以参考Linux nohup 命令
aidlux上部署mirai
aidlux上部署miraijdk11安装
注:如果遇到失败的情况可以尝试换源,我没有换源安装成功了
apt-get update
apt install openjdk-11-jdk
安装mirai
(感谢AidLux开发者技术1群的网友 “受、死 ” 提供的思路)
先下载windows版本的iTXTech MCL Installer
运行后会生成这些文件
将这些文件(安装器,文档,cmd文件可以除外)通过aidlux网页端的文件管理器上传到aidlux中
如存入/home/mirai/目录下
前往/home/mirai/目录,运行./mcl执行安装(或者java -jar mcl.jar执行安装)
安装完成(直接启动)
./mcl 启动
自动登录设置
vim打开/home/mirai/config/Console/AutoLogin.yml文件
编辑账号密码,:wq保存退出
滑动验证码问题
参考mirai (mamoe.net ...
arm架构linuxdeploy使用selenium
linuxdeploy使用selenium参考文章https://blog.csdn.net/nopname/article/details/99484475
由于我的手机是arm架构,而谷歌浏览器没有提供arm版本,所以使用firefox2.系统:Ubuntu
安装
apt install firefox-esr # 安装火狐浏览器
sudo apt-get install iceweasel xvfb -y # 虚拟显示
sudo pip3 install selenium==2.53.6 pyvirtualdisplay pytest
安装驱动 i. 驱动下载:Release v0.23.0 · mozilla/geckodriver (github.com) ii. 其中v0.23.0还提供arm版本,后面的版本就没有arm的了 iii. 使用wget 下载: 1) 没有wget:apt-get install wget iv. 12345wget https://github.com/mozilla/geckodriver/releases ...
linux_deploy安装并ssh连接教程
参考教程https://blog.csdn.net/weixin_40842492/article/details/107288522https://www.jianshu.com/p/687ba1e11ab5https://pluhuxc.github.io/2020/10/23/linuxdeploy-guide.html同时本文中一些图片来自于这些教程
准备工作机型选择这里建议采用配置较高,安卓版本较新且内存较大的手机,最好支持内存卡扩展的手机。本案例使用的机型为小米3移动版,该机型安卓版本较旧,所以在找合适的Linux deploy版本时花了不少时间。且该机型不支持内存卡扩展。该机型安卓系统为4.4.4,miui8开发版。
手机root其他机型的手机请自行搜索root方法,小米手机需要系统为开发版,如果你的手机为稳定版请手动刷成合适的开发版。切记刷成开发版之后不要再点击升级系统了,不然很大可能会升成稳定版。小米手机开发版可以直接获得root权限。之后需要给busybox和linux deploy root权限。
busybox 下载busybox一 ...
edge浏览器使用pyecharts_snapshot_selenium渲染成图片
pyecharts渲染成图片
snapshot-selenium 是 pyecharts + selenium 渲染图片的扩展,使用 selenium 需要配置 browser driver,这部分可以参考 selenium-python 相关介绍,推荐使用 Chrome 浏览器,可以开启 headless 模式。目前支持 Chrome, Safari
由于个人用的浏览器是edge,但selenium-python不支持edge,所以做了如下配置:
下载edge web driver:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
将解压得到的文件放入一个文件夹中,将其中的exe文件重命名为MicrosoftWebDriver.exe, 然后将此文件夹放入path环境变量
对snapshot源码做一点修改,添加edge相关的配置,期间通过查看webdriver的init文件得知获取edge浏览器驱动的方法为webdriver.Edge():
传入browser参数:
运行结果
...
一个cmd快捷小工具的开发
原因本意是想通过cmd窗口更快的启动一些软件或者文件夹,之前使用dos命令编写一个一个的bat文件放入一个文件夹中,然后将整个文件夹放入path环境变量中,但这样每次想要添加一个新的快速启动的内容都比较麻烦,于是就想写一个小工具来实现更便捷的使用。
C实现语言选择选择了c语言,一是用java的话不太符合快速启动的初衷(我只学过这俩),二是顺便可以复习一下已经差不多还给老师的c。
工具选择之前跟随老师使用的vc++6.0,但前几天刚卸载,同时也想尝试一下新的工具,最后选择了Devcpp,使用下来感觉还行,主题选择挺好玩。
需求分析12345678910111213/** 需求分析* 在一个文件中添加文件名与路径还有自定义启动参数 * 此程序带参数 s 启动后会输出一个列表:* -------------QuickStart-------------* ID name parameter path * 1 test test E/test/test.exe * 2 test1 test1 E/test/test.exe1 * 3 test ...
JavaWebSession空指针异常
单独调试的时候数据库可以连接,表也可以成功创建,但通过servelet访问时就会发生找不到数据库驱动类以及session空指针的问题,经过一下午调试,终于明白原来需要将jdbc驱动导入webinf中的lib中,而不是说仅仅导入项目就行。
遇到的其他问题:1. hibernate核心配置文件中,访问数据库的链接需要针对不同的数据库驱动
sqlserver的数据库链接配置为:
<property name="hibernate.connection.url">jdbc:sqlserver://localhost:1433;DatabaseName=webtest1</property>
2. jsp中action填写servlet的url,而不是name
Java多态
什么是多态• 接口的多种不同的实现方式即为多态。• 多态性是允许你将父对象设置成为一个或更多的他的子对象相等的技术。• 我们在程序中定义的引用变量所指向的具体类型和通过该引用变量的方法调用在编程的时候并不确定,当处于运行期间才确定。就是这个引用变量究竟指向哪一个实例对象,在编译期间是不确定的,只有运行期才能确定,这样不用修改源码就可以把变量绑定到不同的类实例上,让程序拥有了多个运行状态,这就是多态。• 其中:不用修改源码就可以把变量绑定到不同的类实例上,让程序拥有了多个运行状态,这就是多态。
多态又分为 编译时多态和运行时多态。编译时多态:比如重载运行时多态:比如重写
参考链接:https://www.jianshu.com/p/68ddb5484ca2
多态的三个条件• 继承• 重写• 父类引用指向子类对象:Parent p = new Child();