发表于: 2017-12-04 23:37:50
1 731
今天完成的事情:
1.解决完成邮箱绑定。
昨天出现的错误时由于有传上去的东西为空值。(第三方API中固定参数的问题)
找出问题可以是三个步骤:
(1)先用sout找到是从哪个地方的参数开始程序不进行下去或者出错
(2)将找到的地方周围打几个断点,进行单步调试。可以打出来详细的调用信息。
(3)如果还不能解决的话,就写出错代码调用的方法的测试,然后每个参数进行测试,最后找到具体问题,就不会有问题了。
对最近报错问题的警告:就是首先字段命名确保不会更改,其次再考虑实体类的熟悉是否写成和字段名一样,反正我还是喜欢写成不带下划线。如果真的没问题的话,还是不喜欢写一样的。
另外遇到的一个意外的事故,就是我发送第一条邮件验证码以后,隔了很久才收到。
然后继续在尝试绑定别的邮箱以后,就问题了。这个问题先定性为第三方API的责任。
以下就是截图:
2.写完防攻击的配置
对于这个首先就是争对手机和邮件做的。可分为两个方面:
(1)对同一个用户在一段时间内输入验证码的次数进行限制。
好比我只允许这个手机号在5分钟内获取5次验证码,无论是超时还是超次数的访问请求,都在进入数据库之前,被我的逻辑判断直接打回到错误提示页面。
这个实现,应该说是很难。
首先是两个方面同时成立,其次有个次数的问题。
同时成立或许可以多写SQL语句就行,但次数我们不是很熟,所以一时想不到这个方面。剩余的判断还是OK的。
这次是直接在SQL语句中保证时间不超时的情况下,统计次数。一个SQL语句就搞定。这样的知识点是要多积累的。
逻辑代码,国际惯例就不贴了,加起来不超过5句的代码。并且手机和邮箱一样的。
然后最后展示出信息都补全的个人秀:
木有图。。。。。。。。。
3.本来要实现图片迁移的。
然后将七牛云的工具类写完了以后,写了配置文件来确定是用哪个存储我们需要上传的图片,代码也综合后进行了修改,然后一切都完毕,只需要七牛云的参数了。
结果尽然要认证,幸好认证容联的时候照片还在,但现在给了我一个认证在3个工作日答复,我就没什么可以聊的了,用户是不会考虑用哪个API在进行数据迁移,所以本着这个思想,我把配置文件设置为使用阿里云储存。
虽说都是阿里云在上传,但区别在于,我调用上传方法的时候,是调用使用配置文件的那个工具类,然后通过床哦来的信息判断我选择那个存储工具类,再进行调用方法。因此,这就像当于判断已经做完了。等七牛云的参数放上去以后,如果根据demo写的七牛云的工具类没问题的话,改完配置文件就可以了。
功能处理图片迁移就算都完成了。
4.还有就是删除图片的功能,前天又说道过,就一个删除的方法,和上传方法一样的。
加上去就可以了。
明天计划的事情:
最后的图片迁移就那么回事,七牛云好了就试试,完后就交任务。开始任务八
遇到的问题:
1.就上传图片不显示的问题
是在访问域名后一定要加“/”,因为其后是要接文件名的。
2.就是对文件格式的判断,我就不做判断了。
个人理解:增加代码负担且不说,还需要截取上传头像信息字符串,很麻烦。
大胆猜想猜想,同文件大小的判断一样是不是可以在文件解释器中可以定义。
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
收获:
1.结束任务七。
就很慢,而最大的问题除了对逻辑的不了解以外,看第三方API耗费太多时间。
做完就很明显,所有的demo都经过一点修改就是我们的相应工具类。那这样其实我们可以直接同步进行,就是正常的写代码的过程,好比短信验证,直接根据demo写出工具类,然后对工具类进行测试,就像当于验证了他的开发文件。而且对demo和真正需要使用的工具类之间的对比也会更加深刻。其不变的地方就是改第三方API需要提供给我们使用的。
其余就是逻辑了,我就是知道要加防攻击的逻辑,但我先写的单纯验证的逻辑,功能实现后在进行添加,就更加对代码熟悉。
除此之外,了解了ajax这个东西,当然额外赠送,前端大佬们才玩的转,不够偶尔使用使用还是蛮爽的。
剩余就是第三方API直接的优劣用多了就可以感觉到。从读文档就开始,有比较容易读懂的,当然也就有难读懂的。还有就是寻找起来的难易程度,使用起来的方便程度,最后返回数据的成功率等等。
总的来说,还是越好 越好!
2.就删除的时候是通过文件名删除的,但是存入数据库的是“访问域名/文件名”
所以有了解到这样两个函数:
lastIndexOf( )函数和subString()函数
(1)lastIndexOf():返回一个指定的字符串值最后出现的位置
int x = a.lastIndexOf(b),表示b字符串在a字符串中最后出现的位置。
如:a= "abcdabcd";
b="d";
那么x的值为7.
(2)subString():java截取字符串的一个方法
参数有两种方式:
一种是从指定字符串开始到结束。
一种是从指定字符串开始到指定字符串-1结束。
评论