发表于: 2017-11-23 23:35:47
1 574
今天完成的事情:
了解任务七,感觉实现起来好难,就在字段这一个地方卡住了。可能是有点跑偏吧!
步骤一是不是就是没有密码,然后填上手机这些个字段,通过手机或者邮箱发送请求,让第三方API给我们验证码,然后我们收到的验证码放进数据库,我们就直接输入验证码,然后通过访问数据库,判断验证码是不是一样来实现登录的过程。
不过按照这样来说的话,这应该不能叫登录系统,这种情况大多用于支付的时候。
明天计划的事情:
写个简单的字段表,看能不能实现,总是感觉和自己想的不太对。
遇到的问题:
1.就是以前遇到的一个问题,在web.xml中自动生成的头文件一般是会报红,所以会自己写一个约束头文件代替它。
其实头文件就时指对应版本的约束文件。
我的IDE生成的是2.3版本的。而现在最新的是3.2版本。
所以只需要把版本修改以后,就不用很麻烦的去写约束条件了,他会调出相应的文件。
2.就是字段这个地方理解有困难。或者说实现吧。
新增字段是手机,邮箱,头像。
那之间的关系是什么呢?
头像给个地址上传或者不上传不影响登录,就获取一下就行。但是手机和邮箱不好处理。
就是说用户注册的时候是单方面选择“用户名+密码”或者“手机号+密码”还是“邮箱+密码”进行注册(当然还包括收到第三方的验证码等字段进行对比),还是“用户名+手机号+邮箱+密码”才可以注册一个用户账号呢。
其二,登录的时候,用户肯定是选择方便的,就是找用户名或者任意第三方的字段和密码进行登录,那我怎么判断是哪种类型进行登录。相对应的类型返回的验证码怎么存放可以保证。
思路:就是放弃一些不切实际的想法,然后我把所有的第三方都加上,然后注册时都用到。登录时定为手机登录,只需要判断手机号和密码可不可以对的上就行了。但是这样的话邮箱就没什么作用了,感觉。所以处理方式是加一个登录类型的字段,判断是有哪种类型在进行登录,然后和相应字段进行对比就可以了。验证码的话师兄说是进行覆盖的操作,这个到实现的时候再选择合适的方式吧。
收获:
1.不同版本(2.3-3.1)web.xml文件的schema头部声明
(1)Servlet 3.1
Java EE 7 XML schema,命名空间是 http://xmlns.jcp.org/xml/ns/javaee/
代码:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
</web-app>
(2)Servlet 2.3
Java EE 1.3 DTDs schema,这个版本的web.xml文件太老了,强烈建议升级
代码:
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Servlet 2.3 Web Application</display-name>
</web-app>
2.看了一个一对多的登录系统,不知道这样可不可以让代码更完善和整洁一点。
起先是用户名加上密码,然后后来多了登录时间,用户状态等条件后,就填字段。
然后现在是要求加手机号和邮箱,第一时间还是想的直接加字段就行了,但如果还有微博啊,QQ等的话,字段会越来越多,并且授权的话密码也会不一样的,所以将用户登录信息和授权信息区分开来来判断后,取出密码进行判断,然后实现登录。
主要功能就是将类型区分出来,然后判断登录类型的信息是不是一样,对比密码进行登录。
就是这个功能,感觉有点转过弯来的意思,不过还是会很纠结。
其实用户要求的功能就是授权这样的,但我们的任务好像只是实现第三方API返回个我们信息,然后通过它们的返回信息进行登录的功能。应该是想的太多,跑偏了。
评论