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

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

评论功能资料


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

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

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

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


着手开发


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

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

94.jpg

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

有了数据库表的设计,其实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#commenthttp://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的方式来进行调度…我觉得这种方式虽然代码是多一点,但是灵活很多

目录
相关文章
|
移动开发 程序员 编译器
三分钟创建一个新应用,ivx的神奇之处【PPT式程序开发】
IVX是一门人人都能快速掌握的可视化编程语言
109 0
|
3月前
|
负载均衡 数据库 开发工具
|
前端开发
前端学习笔记202305学习笔记第二十三天-项目重构构建
前端学习笔记202305学习笔记第二十三天-项目重构构建
52 0
|
7月前
|
小程序 开发工具 git
uniapp项目实践第三章:初始化项目
uniapp项目实践第三章:初始化项目
103 0
|
前端开发
前端学习笔记202305学习笔记第二十三天-项目重构构建2
前端学习笔记202305学习笔记第二十三天-项目重构构建2
64 0
|
前端开发
前端学习笔记202303学习笔记第五天-组件的三个组成部分
前端学习笔记202303学习笔记第五天-组件的三个组成部分
67 0
|
设计模式 Java API
Android组件化开发(七)--从零开始教你分析项目需求并实现
前面几篇文章我们封装了几个组件化功能组件:包括:**网络请求组件,图片加载请求组件,应用保活组件,音乐播放组件封装。** > 每个组件都可以直接拿到自己项目中使用,当然还需根据自己项目要求进行优化。
Android组件化开发(七)--从零开始教你分析项目需求并实现
|
Dubbo Java 应用服务中间件
使用Kitex框架构建自己的服务|青训营笔记
这篇文章主要跟随官方文档给出自己使用Kitex构建一个服务的过程,而后续Kitex更多的特性则需要大家深入学习、实践、总结。
683 0
使用Kitex框架构建自己的服务|青训营笔记
|
SQL 设计模式 存储
记录OA项目搭建过程的心路历程(附源码)
分享自己之前在做javaEE实现OA系统过程中的踩过的一些坑
记录OA项目搭建过程的心路历程(附源码)