- 博客(23)
- 收藏
- 关注
原创 实现服务器(JAVA)+移动端(HBuilder开发的app)之间的数据加密(AES对称加密)详细过程以及遇到的坑,另附带HttpServletRequestWrapper类使用
由于之前app业务着急上线,再加上以前做的项目都是web项目,且前后端不分离,对数据加密这一块始终没有一个深刻的认识,现在终于回过头来有时间做数据加密这一块,不然数据全都是在互联网上“裸奔”,心里着实没有安全感。言归正传, 开始进入正题。一、加密前的准备(如果只想了解标题说的重点,可以忽略这第一段直接从第二段开始看)在进行数据加密之前我知道有几种可选择的加密方式,也可以参照我之前的文章网络...
2020-02-26 13:21:45
778
转载 C#, Java, PHP, Python和Javascript几种语言的AES加密解密实现
参考地址:https://www.cnblogs.com/mao2080/p/10500612.html解决跨平台之后aes加密之后内容不一致的情况。跨语言加解密的要求是:AES/CBC/ZeroPadding 128位模式,key和iv一样,编码统一用utf-8。不支持ZeroPadding的就用NoPadding....
2020-02-16 19:44:35
252
转载 Maven update project后jdk版本改变(1.4)解决办法
转自:https://www.cnblogs.com/fanshuyao/p/8565504.html一、问题描述使用maven时,当使用Maven中的update project…功能时,jdk版本会变成1.5版本二、解决方案:1、方法一:在pom.xml文件中加上plugins插件:<plugins> <plugin> ...
2020-01-20 20:00:02
1338
原创 JAVA23种设计模式——策略模式
当针对同一场景在不同条件下有不同解决方案的时候,就可以使用策略模式。比如双十二大促的时候,商品优惠打折的算法和平时的算法不同,我们就可以使用策略模式,根据不同的使用条件使用不同的算法策略;再比如物体识别的AI算法,当检测判断出是活物时,调用活物的具体判断算法,当判断出是物体时,调用具体物体的判断算法。策略模式就是把多种算法和调用算法的逻辑封装起来,使调用算法和算法本身耦合度降低,便于扩展。...
2019-12-30 15:29:21
151
原创 JAVA23种设计模式——装饰者模式
在讲装饰者模式之前建议先看另一篇文章:JAVA23种设计模式——代理模式,因为这两种模式在类图结构上甚至说代码实现上有太多相似,以至于刚接触的时候会搞不清为什么要分成两种模式来说,但是反过来讲,以代理模式为切入点,装饰者模式就更容易理解了。接下来会讲两个内容,一个是介绍装饰者模式,第二个就是讲装饰者模式和代理模式之间的区别以及各自的适用场景。一、装饰者模式其实就是在保持原有功能的情况下,增加...
2019-12-26 21:21:54
172
原创 JAVA23种设计模式——责任链模式
实际上,责任链模式是 一个请求(不管是用户的请求,系统的请求还是哪里来的请求),可以有很多个接收者,这些接受者自身每个都有适合处理这个请求的场景,如果满足自身的场景自己就会处理,如果不满足自己的使用场景就会调用下一个接收者的引用,并把请求传递给下一个接收者来处理,下一个接受者以此类推,所以责任链上的每一环都有对下一环的引用。比如Struts2的拦截器,一个Action过来,第一道接收者是处理字...
2019-12-24 20:21:22
164
原创 JAVA23种设计模式——命令模式
命令模式,就是把客户端(看作main方法)操作一个功能类的过程,单独抽出来作为一个独立的对象。比如我们用游戏手柄打游戏,我们操控游戏手柄上的前进、后退、攻击等按键来发送我们的请求到游戏角色(请求接收者),游戏角色进行前进、后退、攻击的行为,先看图:归纳一下基本结构:玩家,视作main方法游戏手柄,invoke类,有着所有操作的按钮(对命令类的引用)命令接口(把各种命令独立出来作为单...
2019-12-21 10:45:49
126
原创 JAVA23种设计模式——中介者模式
中介者模式,我觉得也可以称之为平台、调度等等。局域网里一个最原始的聊天室,两个人(A和B),无需加入一个消息中间平台,直接两个人你按ip发给我,我按ip回复你就行了,但是这时候这俩人的交际圈扩大了,又增加了四个人(简称CDEF),这时候就有点复杂了,A必须要维护另外五个人(BCDEF)的ip地址,如果他们某些人更换了ip,还要重新修改A的聊天工具客户端,来使下一次发送消息到他们新的ip地址,其他...
2019-12-20 10:00:40
121
原创 JAVA23种设计模式——原型模式
原型模式是一种设计模式,这有点像废话,其实我说的是它不局限或者说拘泥于某种特定的实现方法,只要你按这种套路来,它就是原型模式。原型模式指的是照着原有对象,克隆出一个新的但是一模一样的对象。怎么理解这句话呢,一般来说,new出一个对象之后,取名obj1,将它赋给obj2:obj2 = obj1,实际上只是把obj1指向的内存空间的引用地址赋给了obj2,修改obj1的时候,实际上obj2也会改变,...
2019-12-16 22:28:05
117
原创 JAVA23种设计模式——代理模式
代理模式很好的诠释了开闭原则,即:对扩展开放,对修改关闭。它可以在不修改原有代码的情况下对程序进行扩展,甚至说在不知道原有代码是什么的情况下进行扩展,对目标类的扩展是非侵入式的。如果理解Spring的AOP,就能理解代理模式是什么样一个玩法了,不理解也没关系,接下来开始详细介绍。代理模式分为两种,即 静态/动态代理,AOP基本上就是基于动态代理来实现的。一、静态代理静态代理比较简单,就不...
2019-12-14 13:20:46
122
原创 JAVA23种设计模式——建造者模式
本文主要讲一下建造者模式,因为其和工厂模式都是封装细节,只提供最终的成品,所以讲完建造者模式,再讲一下两种模式之间的异同,以及在什么环境下使用什么样的模式。如果对工厂模式还不了解可以先看这篇文章:JAVA23种设计模式——工厂模式一、建造者模式建造者模式分三块内容(还是拿产品举例):产品本身(实体类)构建产品的标准(接口)和使用标准生产产品的车间(接口的实现类,具体生产什么产品每个车...
2019-12-12 14:35:25
191
原创 JAVA23种设计模式——模板方法模式
顾名思义,模板方法模式就是在抽象类里建立一个模板方法,模板方法里面建立一定的规则,用来约束一整套流程或者行为,抽象出可变的方法,供不同的实现类进行不同的实现,提取出不可变的方法,直接在抽象类里实现,通过子类继承父类的形式,复用这套模板。其中模板方法通常定义为final,防止使用者改变其规则。接着拿洗澡举个例子:脱衣服(不可变)打开开关用水淋湿(不可变)使用清洁用品(可变)冲洗干净(不可变...
2019-12-05 10:56:03
141
原创 从零开始第一次开发App经验(基于HBuilder开发的混合App+SSM框架的JAVA后台)【四】
App频繁访问服务器造成的高并发问题这一系列写的比较杂,基本上是想到什么写什么。自从App开发和后台管理模块完善的差不多之后,我开始考虑起服务器的高并发问题。这里简单说一下什么是服务器的并发(以下内容来源于网上):服务器并发量分为:1.业务并发用户数;2.最大并发访问数;3.系统用户数;4.同时在线用户数; 一般只需要分析出业务并发用户数。在网上找了个计算业务并发用户量的公式: C=nL...
2019-12-03 21:08:02
369
原创 JAVA23种设计模式——工厂模式
工厂模式,顾名思义就是我们不用再关心我们需要的成品是怎么来的,只需要告诉工厂我们需要什么产品,然后拿到工厂返回给我们的成品就好了。举个例子,单身老司机想定做个硅胶娃娃(也可以是充气的),他不需要知道是怎么生产的,只需要给制造工厂说我要个165CM高的,然后工厂做好交给他,当然现实中钱还是要付的。工厂模式隐藏了生产的一系列细节和过程(创建对象的过程),让我们只需要关注成品(对象),接过来就能用。...
2019-12-03 20:32:06
130
原创 JAVA23种设计模式——单例模式
当初刚开始学习java的时候,对于单例模式只是知道两种,饿汉模式,懒汉模式。后来慢慢接触才发现还有很多种实现方法,越发觉得java的设计模式体现着代码的美感,这里归纳总结一下实现单例模式的几种形式。首先有几个要点:单例类只能有一个实例。单例类必须自己创建自己的唯一实例。单例类必须给所有其他对象提供这一实例。饿汉模式(线程安全,但是容易产生垃圾对象,因为在类装载时就实例化,但不...
2019-12-01 17:36:38
102
原创 网络信息传输之数据加密【二】
上一篇文章讲了后端java的数据加密的一些常见方式和代码,实际应用中我们会前后端交互,js加密,java解密,或者java加密,js解密,另外引申出数据传输的安全问题。在之前写的用Hbuilder开发app的文章中介绍了,我们利用js+css就可以开发出自己的混合app,访问服务器接口利用的是封装好的mui ajax,所以和服务器数据的交互也是通过js的ajax来进行的,因此开发app面临的数...
2019-11-30 17:06:51
404
原创 网络信息传输之数据加密【一】
通常信息游走在网络中,如果未加密,对于有心人来说这些信息就是唾手可得而且拿来就能用的利益,最简单的例子就是用户登录的用户名和密码,我们用抓包工具抓取数据包,打开之后用户名和密码就是以明文的状态显示在我们面前,在用户登录、两个网络终端之间的通信,app请求服务器等等任何涉及到敏感信息的地方都有信息泄露的风险。如何避免这种情况呢使用Https协议对数据进行加密因为本文主要是对数据加密进行...
2019-11-29 11:35:56
1976
原创 HBuilder开发App之在线更新app功能
用HBuilder开发的app更新新版本,一般分为两种:原生安装包资源升级包第一种需要重新安装,第二种可以实现静默安装,也就是可以后台下载,下载之后后台更新,更新之后只需要重启一次app就可以使用新版本app了。第一种适合版本改动比较大的时候,比如修改了manifest.json配置文件里面的参数,这个文件被修改之后想要配置生效,是一定要重新安装的。第二种适合app内容改动不大的...
2019-11-28 11:44:24
1405
原创 从零开始第一次开发App经验(基于HBuilder开发的混合App+SSM框架的JAVA后台)【四】
App频繁访问服务器造成的高并发问题这一系列写的比较杂,基本上是想到什么写什么。自从App开发和后台管理模块完善的差不多之后,我开始考虑起服务器的高并发问题。这里简单说一下什么是服务器的并发(以下内容来源于网上):服务器并发量分为:1.业务并发用户数;2.最大并发访问数;3.系统用户数;4.同时在线用户数;一般只需要分析出业务并发用户数。在网上找了个计算业务并发用户量的公式:C=n...
2019-11-26 13:58:44
470
原创 从零开始第一次开发App经验(基于HBuilder开发的混合App+SSM框架的JAVA后台)【三】
App后来经过几次界面改版,也终于到了测试阶段。因为主业是做后端开发,所以前端做的马马虎虎,尤其是界面,基本上就是本着“够用就行”的原则,后来实在看不下去,又借鉴其他优秀App的设计,比如页面之间的滑动效果、界面的布局等等。自从解决了app和服务器之间的通信问题之后,其他过程还算顺利,基本上就是js+css+(html5+),只要是会用js和css写个前端页面就会做app,额外关于html...
2019-11-25 10:56:21
903
原创 从零开始第一次开发App经验(基于HBuilder开发的混合App+SSM框架的JAVA后台)【二】
这一篇接上一篇基础,开始放项目,具体项目做的什么不细说,只放代码讲这个架构本身项目架构看标题可以知道用的是客户端APP(Hbuilder混合app)+服务器JAVA后台(SSM框架),首先要解决的就是客户端和服务器的通信问题,说白了就是要解决跨域问题,这里的域指的是这样的一个概念:我们认为若协议 + 域名 + 端口号均相同,那么就是同域,即http://www.test.com/和http...
2019-11-24 09:53:29
898
原创 从零开始第一次开发App经验(基于HBuilder开发的混合App+SSM框架的JAVA后台)【一】
前一段时间朋友有一个不错的创意,想和我合作开发一款app用于项目的实施,我听了之后觉得可以做一下,因为时间比较紧,算得上临危受命。但是我一直都是搞JAVA Web方向,对于手机App一窍不通,这时候着实犯难了。
2019-11-23 17:22:51
2918
原创 不忘初心,写在前面
写博客的本意是记录以及分享项目经验、学习新技术的过程、个人成长感悟,但不全是技术,也不全是生活,这才是生活百味。很多事情总是三分钟的热度,工作生活的分心,个人的懈怠,可能都会慢慢坚持不下去持续更新文章,所以想写在前面,希望随着时间的前行,还能不忘现在的初心,坚持做好一件事,能在多年后感谢现在的自己。我是做JAVA开发出身,随着在这个行业里摸爬滚打的时间逐渐增多,接触到的技术也逐渐增多,目前...
2019-11-22 11:13:13
132
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人