美文网首页
BBS系统搭建全过程

BBS系统搭建全过程

作者: Allen的光影天地 | 来源:发表于2018-06-17 14:21 被阅读66次

特别说明

l 所有的项目代码都托管到github上,链接如下:

https://github.com/allenhsu6/jsplearn.git

运行环境

我的服务器端和客户端都在同一台电脑上

电脑型号:macpro2017款

集成开发环境:IntelliJ IDEA(这里并没有使用eclipse)

服务器软件:tomcat9.05

客户端浏览器:chrome

这个系统的框架:

前端:

l 主要用到HTML,其中重中之重是form表单提交

l 用到CCS布局(这部分我是从网上找了一个好看的模板直接导入的,时间有限,有空的时候再去学一遍)

l 在实现分页展示功能的时候用到一点点JavaScript技术

后端:

  1. 数据库部分:

使用的数据库:mysql

数据库与jsp连接手段:JDBC编程

  1. 处理业务逻辑部分:

都是jsp技术(下个版本将做出改进,加入javabean,将数据库的常用操作封装)

功能分析及其具体设计

图1·BBS系统中的功能结构

具体模块设计

数据库设计

在数据库设计汇中,叶子节点设计,以及id号,pid号设计,为后续各种实现奠定基础。

页面跳转

页面跳转过程,所有的参数传递都是通过链接动态传输

功能0:树状展示所有主题帖

采用递归方法实现

功能2回复主题帖

关键点:在回复之后要将该贴设置为叶子结点

功能3:后台登录

实现该功能主要目的是:只有后台工作人员才能删帖,如果不登录的话,看不到帖子后面的删除功能。

实现途径:在ShowArticleTree.jsp中判断login是否为真,是的话,在html中显示;否者看不到删除二字,也就无法通过点击删除链接实现删除功能。

特别注意:无法通过点击删除链接实现删除功能,但是仍然有漏洞,因为可以通过URL****直接访问delete.jsp****页面并传入参数实现指定删除

所以:我们需要在删帖功能中,同样做是否登录判断

功能4:删帖

问题一:如何解决不是叶子节点的帖子?

answer:使用递归。具体实现:有子节点就删除子节点,然后退出while循环后删除自己 ---

问题二:如何解决当前删除的叶子节点的父节点是否要更新为叶子节点?

answer:首先要了解,父节点在删除当前节点后,是否仍有其他子节点,所以需要拿到pid;然后统计所有帖子中父节点参数为pid的节点,如果该数为0,那么就可以将pid对应的叶子节点标记为叶子节点。

功能5:post新帖

在创建新主题帖的时候,需要传递新的rootid,采用的方法是将其与自动递增的id值保持一致。

处理方法:在Statement函数处理中使用带参数:RETURN_GENERATED_KEYS的函数获取当前id值

功能6:平板展示主题帖

处理方法:将所有为主题帖的pid都设置为0,然后直接遍历显示所有的pid为0的数据。

功能7:

采用了两种方法实现分页技术

中文乱码问题

处理方法:

在读取request前,通过函数request.setCharacterEncoding(“UTF-8”)解决

总结

通过本次大作业,算是半只脚迈进javaweb开发的大门,未来的路还很长,革命尚未成功。

在整个实现的过程中,看着从无到有,从一堆代码到实现某项功能,有一种莫大的成就感。感受到敲代码的快乐。

相关文章

  • BBS系统搭建全过程

    特别说明 l 所有的项目代码都托管到github上,链接如下: https://github.com/allenh...

  • 第二篇 Docker搭建Discuz

    1 前言 一直想要搭建自己的BBS论坛,找了不少开源的BBS系统,因为个人熟识Java开发,在GitHub上找了不...

  • 「编程」:初学者如何搭建Java开发环境?

    0. 前话 本篇介绍了初学者在Windows操作系统上搭建Java开发环境的全过程。概括为如下4个步骤: 下载→...

  • BBS爬虫系统架构介绍

    系统概述 渠道监测旨在通过爬取各种渠道、网盘、论坛、贴吧等抓取和App相关的信息,通过对获取信息的分析识别正盗版,...

  • windows 上搭建 sftp 服务器 -freesshd全过

    文章标题: windows 上搭建 sftp 服务器 - freesshd全过程关键字 : freessh...

  • Hexo搭建博客

    Hexo搭建博客 记录搭建博客的全过程 软件准备 Node.js 环境 GitHub桌面版 安装过程全按默认设置安...

  • Android系统调用表

    https://bbs.pediy.com/thread-155774.htm Android系统shellc...

  • 树莓派入门

    最近需要使用树莓派进行开发,这里和大家介绍一下从入手到开发环境搭建全过程 树莓派4b 8g版此版本可安装64位系统...

  • vue3+vite+ts项目问题

    体验vite + vue3 + ts搭建项目的全过程 - 掘金[https://juejin.cn/post/69...

  • 2018-12-17

    支付系统搭建,搭建支付系统的好处! 搭建支付宝微信免签支付系统软件,相较于搭建支付接口支付通道有哪些好处!!!! ...

网友评论

      本文标题:BBS系统搭建全过程

      本文链接:https://www.haomeiwen.com/subject/gbjweftx.html