个人博客系统开发记录

个人博客系统开发记录1 用户登录 注册目前使用 bootstrapt 模态框简单实现 1 个人信息栏默认不加载 2 登录时会根据用户名 密码 经过 md5 加密算法处理后去数据库验证 成功则将用户信息保存到 cookie 中 并加载个人信息栏 3 注册时会先判断输入的用户名是否存在 如存在则提示 该用户名已存在 请重新输入 注册成功则将用户信息保存到 cookie 中 并加载个人信息栏 2 动态发布 1 在发布动

原项目地址:myblog1.0在这里插入图片描述
项目总体设计:在这里插入图片描述
1.用户登录、注册
目前使用bootstrapt模态框简单实现。
(1)个人信息栏默认不加载;
(2)登录时会根据用户名、密码,经过md5加密算法处理后去数据库验证,成功则将用户信息保存到cookie中,并加载个人信息栏;
(3)注册时会先判断输入的用户名是否存在,如存在则提示“该用户名已存在,请重新输入”,注册成功则将用户信息保存到cookie中,并加载个人信息栏












2.动态发布
(1)在发布动态时可以选择标签,用了bootstrapt4的按钮组,点击某个按钮时该按钮会改变颜色,同时清除按钮组中其它按钮之前赋上的颜色,不同标签对应不同颜色
在这里插入图片描述
在这里插入图片描述
(2)在发布动态时会获取选中的标签值,保存到数据库,在回显时会显示相应标签样式(使用bootstrapt4的徽章样式)








在这里插入图片描述
在这里插入图片描述
3.动态加载
(1)在回显动态列表时会对发布时间进行处理,如果是一分钟以内则显示“刚刚”,如果是三天以内则显示“X天前 X时:X秒”,如果是今年内则不显示年份






在这里插入图片描述
在这里插入图片描述
在这里插入图片描述




(2)逻辑代码如下:

 public static String DateHandel(String date) { String nowDate = null;//当前时间 try { nowDate = getCurrentDateStr(); } catch (Exception e) { e.printStackTrace(); } if (date != null && date.length() >= 16) { int dateYear = Integer.parseInt(date.substring(0, 4));//年 int nowYear = Integer.parseInt(nowDate.substring(0, 4));//当前年 int dateMonth = Integer.parseInt(date.substring(5, 7));//月 int nowMonth = Integer.parseInt(nowDate.substring(5, 7));//当前月 int dateDay = Integer.parseInt(date.substring(8, 10));//日 int nowDay = Integer.parseInt(nowDate.substring(8, 10));//当前日 int dateHour = Integer.parseInt(date.substring(11, 13));//小时 int nowHour = Integer.parseInt(nowDate.substring(11, 13));//当前小时 int dateMinute = Integer.parseInt(date.substring(14, 16));//分 int nowMinute = Integer.parseInt(nowDate.substring(14, 16));//当前分 if (nowYear - dateYear < 1) { if (nowMonth - dateMonth == 0) { if (nowDay == dateDay) { if ((nowHour - dateHour) < 1 && (nowMinute - dateMinute) < 1) { return "刚刚"; } else if (nowHour - dateHour < 1) { return (nowMinute - dateMinute) + "分钟前"; } else if (nowHour - dateHour <= 6) { return (nowHour - dateHour) + "小时前"; } return "今天 " + date.substring(11,16); } else if (nowDay - dateDay == 1) { return "昨天 " + date.substring(11, 16); } else if (nowDay - dateDay == 2) { return "前天 " + date.substring(11, 16); } } return date.substring(5, 16); } return date.substring(0, 16); } return date.substring(0, 16); } } 

4.分页功能
加载文章列表时如果查询出的文章数大于10,则显示页码栏;
如果不是第一页,则显示“上一页”按钮;
如果有下一页,则显示“下一页”按钮;如果当前页大于5则只显示当前页前三页~当前页后三页,如果首页和尾页不在此范围内,则显示首页和尾页;
如果首页和尾页与当前页-3和当前页+3不连续时,则显示“…”。
在这里插入图片描述
在这里插入图片描述
具体代码如下:
var pageTotal = data[0].pageTotal;
var pageNum = data[0].pageNum;
var pageSize = data[0].pageSize;
var str = “”;
if (pageTotal >= pageSize) {//文章条数大于10条才显示页码栏
str += “


























”;

if (curPage > 1) {//如果不是第一页,则显示"上一页"按钮
str += “ 上一页”;
}







//任何情况,只要显示页码栏,就一定显示第一页 if (curPage == 1) { str += "  1"; } else { str += "  1"; } if (curPage > 5) {//当前页大于5时则只显示当前页前3页~当前页后3页,以及首页 str += "  ..." for (var i = curPage - 3; i <= (curPage + 3) && i <= pageNum; i++) { if (i == curPage) { str += "  " + i + ""; } else { str += "  " + i + ""; } } } else { for (var i = 2; i <= pageNum && i <= (curPage + 3); i++) { if (i == curPage) { str += "  " + i + ""; } else { str += "  " + i + ""; } } } if (pageNum - curPage > 3) {//总页数大于当前页+3时,显示尾页 if (pageNum - curPage > 4) {//总页数大于当前页+3且不连续时,才显示“...” str += "  ..."; } str += "  " + pageNum + ""; } if (curPage < pageNum) {//当前页不是最后一页,则显示下一页按钮 str += "  下一页"; } str += ""; $("#main").append(str); 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/225616.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午8:55
下一篇 2026年3月17日 上午8:55


相关推荐

  • 突然想去旅游[通俗易懂]

    突然想去旅游[通俗易懂]  突然想去旅游,一个人,静静的,去到那些宁静的自然风光中去,置身其中,什么也不想! 

    2022年4月29日
    38
  • java实现tail -f 日志实时输出到页面

    java实现tail -f 日志实时输出到页面背景今天有点无聊,于是有了这个项目……解决了什么问题页面实时查看日志,省去了连接服务器再查找日志……效果talkischeap,showmethecodepom <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-sta…

    2022年5月27日
    156
  • java可重入锁与不可重入锁

    java可重入锁与不可重入锁所谓重入锁,指的是以线程为单位,当一个线程获取对象锁之后,这个线程可以再次获取本对象上的锁,而其他的线程是不可以的。synchronized和  ReentrantLock都是可重入锁。可重入锁的意义在于防止死锁。实现原理是通过为每个锁关联一个请求计数器和一个占有它的线程。当计数为0时,认为锁是未被占有的;线程请求一个未被占有的锁时,JVM将记录锁的占有者,并且将请求计数器置为1…

    2022年6月26日
    29
  • Java模式(适配器模式)

    Java模式(适配器模式)

    2021年11月14日
    47
  • android root权限注册,安卓root权限获取的方法【图文教程】

    android root权限注册,安卓root权限获取的方法【图文教程】手机在我们的生活中得到了普及 主要是因为手机的功能不断强大 我们不仅可以使用手机通讯 也可以利用手机上网等 手机之所以有这么强大的功能 是因为现在的手机都安装了一个系统 这个系统可以供我们得到更好的用户体验 现在使用的比较广泛的是安卓系统 当我们在使用手机出现了问题的时候 就会想要获取 root 权限 下面介绍一下获取的方法 安卓 root 权限获取的方法 1 手机 root 首先需要 root 工具 这里本人用的

    2026年3月20日
    1
  • 搞懂这7个配置文件让你的OpenClaw变智能助手

    搞懂这7个配置文件让你的OpenClaw变智能助手

    2026年3月13日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号