2017年5月27日

今天发现了MySQL的TimeStamp类型,居然支持Insert-TimeStamp的默认值(当前时间),以及Update-TimeStamp特性(更新该字段的时候自动更新)。

大喜过望,将其实装进数据库。

期间重做了一次系统,因为5.5不支持同时存在两个这样的TimeStamp。

结果不知道出了什么问题,Github里居然只剩下了bean……

看到一篇文章,http://blog.csdn.net/saroll57/article/details/51837551
博主的看法是:根因是Mysql数据的变化源存在多个(Tomcat、Mysql),而多个源很容易产生时区等不一致情况。在开发Web系统时,尽量要减少这种多个模块、部件的耦合,尽量保证数据的变化源只有一个地方,就是Tomcat的Java Bean。

仔细思考之下,两个TimeStamp只提供查询接口,Update语句里直接不给修改TimeStamp应该可以解决问题?

将bean里所有用到时间戳的地方,直接返回java.sql.TimeStamp类型的数据,交由Service解析。

为User表添加了create_at和last_login_at字段。

昨天配的XML全部完蛋……好像resource文件夹是不会被git同步的。。日了狗
重配增加熟练度吧。

这回重新从Mapper开始写起,不过先写UserMapper吧。。
Mapper有这三个方法:
User getUser(Integer id)
int update(User user)
int add(User user)
不提供删除用户的接口。

接下来是userService的接口及其实现类。
突然发现要实现验证码,找了个叫jCaptcha的轮子用上。
在启动的时候Tomcat报异常:
java.io.FileNotFoundException: Could not open ServletContext resource [/mybatis-config.xml],经检查是Spring-dao.xml中忘记加classpath:导致的。

折腾这个轮子搞了好久啊……没有中文文档,只能看别人的实例,折腾了一个多小时复制了一份Spring的配置终于能正常使用了。。
接下来的问题是在session中取出验证码对象来验证,这个应该和用户登陆放在同一块,看看有没有手册……
钻了半小时牛角尖,我的目标是前后端分离,采用Token验证而不是浏览器中的Session,我觉得这个轮子不适合我……

又花了15分钟查阅文章,总结一下:
旧版本:向服务器要一个验证码,服务器直接在内存中生成验证码,用户输入之后在Session里放输入的值,服务端来判断对不对得上。
新版本:同时要到验证码+id,将id+验证码写入json返回去,绑定在token上,服务端判断id和验证码是否能对上。

倒是发现一个比较新的轮子,Github上最近一次更新是11天前。。但是人家的技术选型是OAuth+Redis对我而言完全陌生……

而且也不是很友好,只是一个项目,并没有打出现成的jar。。

所以我的验证码到底怎么办。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,951评论 19 139
  • 这两年真是超红露肩衫(或叫一字衫)的,有没有? 所以现在出现了露肩衫的升级版--露肩衬衫裙 看了一下 觉得人家红也...
    BT虫子阅读 144评论 0 2
  • 编者:学了朱自清的《背影》,孩子们也动起了笔,写下了他们心灵深处的背影。 1.丁杰锋:只见她衣衫褴褛,摆在门前的破...
    执笔溢情阅读 978评论 0 1
  • 也就加班的时候,能静下来心来好好想想。 最近在做vue的项目,确实我看过一整套的vue入门教程。可是真的上项目,真...
    Hi_Alice阅读 233评论 0 0
  • 《非暴力沟通》第十二章 来自思维导图大脑说明书 00:0009:08 各位伙伴:大家好,欢迎来到深度慢阅读第二季《...
    尹丽芳思维图法阅读 511评论 0 1