基于Java springMVC+MySQL的大学校园BBS论坛网站设计与实现

该博客介绍了基于Java SpringMVC和MySQL构建的大学校园BBS论坛的设计与实现,探讨了BBS的背景、意义及其在互联网中的作用。文章详细阐述了系统的架构与设计,实现与测试过程,以及论坛如何促进用户间的交流和信息获取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

概要 1

1 BBS的背景及意义 1

2 BBS国内外相关工作 1

3 基于web的BBS论坛系统实现与测试 2

4架构与设计 11

5实现与测试 12

6参考文献 13

7用户手册 13

概要

自我国正式进入互联网时代以来,短短的几年时间互联网在个行各业的广泛应用等各个方面,但是现实生活中的交流存在时间和空间上的局限性,交流人群范围狭小以及间断交流不能保证信息的准确性和可取性。

BBS主要是在网上提供一个交流的平台,通过发帖、评论等功能交互,旨在获得大量的有关的有价值的数据信息。

1 BBS的背景及意义

论坛又名网络论坛BBS,全称为Bulletin Board System。是Internet上的一种电子信息服务系统。它提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法。它是一种交互性强,内容丰富而及时的Internet电子信息服务系统。用户在专题论坛上可以获得各种信息服务,发布信息,进行讨论,聊天等等。

论坛的发展也如同网络,雨后春笋般的出现,并迅速的发展壮大。现在的论坛几乎涵盖了我们生活的各个方面,几乎每一个人都可以找到自己感兴趣或者需要了解的专题性论坛,而各类网站,综合性门户网站或者功能性专题网站也都青瞇于开设自己的论坛,已促进网友之间的交流,增加互动性和丰富网站内容。

当今网络技术逐渐渗入社会生活各个层面,为分散与五湖四海的人们提供一个共同交流、学习、倾吐心声的平台,实现来自不同地方的用户极强的信息互动性,用户在获得自己所需要的信息的同时也可以广角朋友,扩宽自己的视野和社交面。

专题论坛具有知识性、趣味性,公平性,和谐性等优点。专题论坛给天下的网民都提供了交流的平台,为网络的互动性做出了巨大的贡献,通过专题论坛来征得自己想要的信息,有更高的效率和时效性。也最节约成本和资源。

2 BBS国内外相关工作

在信息渠道方面上,我国一直是高度重视,严格把关各种信息的流入流出,而BBS作为信息的流通渠道,自然也需要高度重视,对于一些比较官方的论坛基本上不会有太严重的限制,国际的相关信息也能够通过论坛得知,本文转载自http://www.biyezuopin.vip/onews.asp?id=15253比一些正式声明往往更快,但是正确性不一定能都得到相应的保证。

而对于一些花边新闻的论坛我国肯定是保证信息的内容符合我们国家的要求才能够让论坛能够被轻易访问的,不然肯定墙掉。所以说在这一方面主要还是看信息的一些内容,但是不可否认的是无论是哪个国家,对于这个系统的建设都是相当卖力,正是说明了BBS的意义所在。

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <title>bbs论坛</title>
  <link href="./css/index.css" rel="stylesheet">
  <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>

  <script>

    $(document).ready(function () {

      //用于获取前一个页面保存的userName
      var userName = window.localStorage.getItem("userName");
      var userInformation;
      var pagesCount;
      var curPage = 1;

      if (userName != undefined) {
        $.ajax({
          url: "http://207.148.112.5:8080/user/queryUserByUserName",
          data: {
            userName: userName
          },
          async: false,
          type: "GET",
          dataType: "json",
          success: function (data) {
            userInformation = data.user;
            window.localStorage.setItem("userId", userInformation.userId);
            drawArticles(1, 20);

          },
          error: function () {
            alert("请检查您的网络是否畅通");
          }
        });
        $("#login").show();
        $("#userFace").attr("src", userInformation.userFace);
        $("#userName").html(userInformation.nickName == null ? "点击头像修改个人信息" : userInformation.nickName);
      } else {
        $("#unlogin").show();
      }


      //查询总页数
      $.ajax({
        url: "http://207.148.112.5:8080/article/queryArticlesCount",
        data: {
        },
        async: true,
        type: "GET",
        dataType: "json",
        success: function (data) {
          articlesCount = data.articlesCount;
          pagesCount = articlesCount/20 > parseInt(articlesCount/20)? parseInt(articlesCount/20)+1:parseInt(articlesCount/20);
          $("#page").html(curPage + "/" + pagesCount);
        }
      });


      
      $("#page").html(curPage);
      $("#prePage").click(function(){
        if(curPage > 1){
          curPage -= 1;
          drawArticles(curPage,20);
          $("#page").html(curPage + "/" + pagesCount);
        }
        else{
          alert("已经是第1页");
        }
      });
      $("#postPage").click(function(){
        if(curPage < pagesCount){
          curPage += 1;
          drawArticles(curPage,20);
          $("#page").html(curPage + "/" + pagesCount);
        }
        else
          alert("已经是最后一页");
      });



      //请求并渲染指定页面的文章概要
      function drawArticles(currentPage, pageSize) {

        $.ajax({
          url: "http://207.148.112.5:8080/article/queryByCurrentPage",
          data: {
            currentPage: currentPage,
            pageSize: pageSize
          },
          type: "GET",
          dataType: "json",
          success: function (data) {
            clearPages(20);
            var articles = data.articles;
            for (var i = 1; i <= articles.length; i++)
              drawArticle(i, articles[i - 1]);

          }
        });

      }


      //渲染指定文章的函数概要
      function drawArticle(id, article) {
        var tds = $("#article" + id).find("td");
        $(tds[0]).find("a").attr("href", "./article.html?articleId=" + article.articleId).html(article.title);
        $(tds[1]).html(article.likesNum).val(article.articleId).click(like).css("cursor", "pointer");
        $(tds[2]).html(article.dislikesNum).val(article.articleId).click(diskLike).css("cursor", "pointer");
        $(tds[3]).find("a").attr("href", "./authorDetail.html?authorId=" + article.userId).html(article.nickName);
        $(tds[4]).html(((article.likesNum - article.dislikesNum + 1) / (article.likesNum + article.dislikesNum + 15)).toFixed(2));
        $(tds[5]).find("span").html(article.createTime.split("T")[0]);
      }


      //点赞函数
      function like() {
        let that = this;

        var likesNum = parseInt($(this).html());
        $(this).html(likesNum + 1);
        $(this).css("color", "green");
        $(this).unbind("click");
        $(this).click(cancelLike);

  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值