前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从零开始写项目第五篇【评论功能、备忘录】

从零开始写项目第五篇【评论功能、备忘录】

作者头像
Java3y
发布2018-04-02 10:59:06
7300
发布2018-04-02 10:59:06
举报
文章被收录于专栏:Java3yJava3y

评论功能资料

在网页上评论功能并不少见,我也想在自己的网站中增加评论功能,好让知道别人对我的网站的看法,还能让别人提醒我哪里出错了。

于是我就去寻找对应的资料去了,之前对评论功能并没有了解过….

以下这个博主认为评论可以分为三种类型:

http://blog.csdn.net/u010098331/article/details/51447144?locationNum=5&fps=1

  • 将回复和评论都统一当成是评论,能够使用@XXX来当做是回复,类似与IOS知乎的评论【此做法是最简单的】
  • 将回复和评论分开,要么单表就多增加一个父属性,要么就分两张表【稍微复杂,一个评论可以对应多个回复】
  • 实现评论与回复“盖楼”的方式,这种就是网易的评论【具体可看下面的博文,此种是最复杂的】

这位博主给出了相关的设计数据库过程,我觉得非常好,受益良多

而这位博主就是针对上面所说的第一种情况做的评论功能:

http://blog.csdn.net/yums467/article/details/50749968

  • 有对应的前端样式,数据库设计,PHP后台的实现

下面这位博主就给出了在设计评论功能时的总结以及github代码:

http://blog.csdn.net/muzili12a3/article/details/54695426

着手开发

有了上面的基本知识,就可以着手开发属于自己的评论功能了。我就选择最简单的那种就好咯,单表设计。

集合上面的知识,我设计了一张数据库表

可以说是设计得非常简单,因为我的目的就是为了能够让别人在我的网站下留言而已。如果需要的话,以后再弄“盖楼”或者真正可以回复那种方式吧。。

有了数据库表的设计,其实Controller、Dao层那里的代码就没什么难度了,重点就是在页面设计上…….(对我来说还是有点难)…

个人备忘录编写

之前就想做个人备忘录这个功能的了,本来是想用“手机短信”的方式来提示用户设置了备忘录的。后来去找手机短信SDK的时候又觉得要钱,还得与当前账户联系起来,就觉得没啥必要。就直接使用邮箱了(因为我的账户体系本来就是用邮箱的)

既然是用户设置时间、发邮件提示,那么我第一时间想到的是Quartz任务定时调度框架…

后来,觉得当前的Quartz的知识不足够我去写这么一个功能,于是就去找资料重新学了一下Quartz:https://zhongfucheng.bitcron.com/post/javaee/javading-shi-ren-wu-diao-du-gong-ju

当然了,在开发的过程中也遇到了不少的bug:

  • 在Junit测试Quartz没有反应
  • Spring不能注入对象进Quartz的Job类中

这些bug也不是一下子就能定位出来的,花了我不少时间,上面所说问题的解决方案:

https://zhongfucheng.bitcron.com/post/javaee/quartzye-wu-lei-wu-fa-zhu-ru-springdui-xiang-wen-ti

https://zhongfucheng.bitcron.com/post/javaee/junitce-shi-quartzwu-fan-ying-jie-jue-cuo-wu

在时间选择器上,本来想是使用wdatepicker这个组件的,后来发现与网站的样式不太匹配,最后选择了bootstrap的datepicker。

datePicker教程:http://www.bootcss.com/p/bootstrap-datetimepicker/

Quartz入门教程:http://www.cnblogs.com/xrab/p/5850186.html Quartz进阶:https://www.dexcoder.com/selfly/article/308?curPage=7#comment和http://blog.csdn.net/jianging2009/article/details/54020399

Date对象转成Cron表达式:http://blog.csdn.net/u010046887/article/details/50818124

上面Quartz的进阶是我当时想动态修改Quartz触发器的时间的..不过没有用到那个技术..

后来还看了一下Spring自带的任务调度,觉得如果以后逻辑方便的话,这个使用起来也是很简单的:http://blog.csdn.net/u010648555/article/details/52162840

Quartz一般都是按某个时间来进行调度,使用Spring整合起来是很方便的。可是我的业务是:用户设置在某个时间点来进行调度,调度以后即不再调用了

最后我选择自己编写Job、自己编写Trigger的方式来进行调度…我觉得这种方式虽然代码是多一点,但是灵活很多

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java3y 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 评论功能资料
    • 着手开发
    • 个人备忘录编写
    相关产品与服务
    短信
    腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档