`
lll360360
  • 浏览: 11411 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
文章分类
社区版块
存档分类
最新评论

(原创+源码+论文) 基于Java Web技术开发的BBS论坛系统

阅读更多

本文转自:程序员之家论坛 

 

前言:

 

当今,随着网络的迅速发展,制作BBS论坛的技术和方法也越来越多。本文主要讲述利用Java Web的相关技术来制作一个简单论坛。通过实际制作,实现了BBS论坛系统应有的一些基本功能,如:登陆功能,通过在登陆界面输入用户名和密码来实现会员的登录,用户只有登录成功了才能进行一系列的操作;注册功能,用户首次登陆,需要先注册,注册时需要用户填写个人信息;找回密码功能,当用户忘记密码时可以通过此功能找回密码,找回密码时需要用户记得注册时填写的个人信息。除此之外,还有浏览帖子、发表帖子、回复贴子以及删除帖子等等功能。制作本论坛所用的前台软件是MyEclipse,后台数据库是MySQL,运行时所用的服务器是Tomcat,综合运用了HTML、JSP以及JavaScript语言。

 

全文先对用到的软件进行了简单的介绍,然后依次对系统的应用进行需求分析、总体设计、详细设计;最后简要介绍了系统的发布和测试。

 

 

 

 

 

作为一个BBS论坛,它应该具有BBS所有的一些基本功能,包括:用户登陆功能,用户取回密码功能,用户浏览帖子的功能以及用户发表、回复、修改和删除帖子的功能等。接下来,我将详细阐述一下这些功能。

 

(一)、用户登录和注册功能

 

进入登录页面后,对于第一次登陆的用户来说,首先需要注册,单击“新用户注册”按钮即可进入注册界面,注册完成后返回登录界面。然后,在对应的地方分别输入用户名和密码,点击“登录”按钮,系统即将用户名和密码发送到网络服务器上,与保存在服务器数据库中的信息进行核对。若核对正确,则进入帖子浏览的界面,若不正确,则重新返回登录界面。

 

注意:若用户名(或者密码)为空时,点击了“登录”按钮,则系统会弹出一个对话框提示你用户名(或密码)为空,请重新输入,点击对话框的“确定”按钮,即可重新回到登录界面。

 

注册界面如下所示:

(二)、用户找回密码功能

 

     在有些时候,我们可能会忘记登录密码,这时就用到了密码找回功能,通过正确的回答当初注册时的一些信息即可取回密码。

(三)、用户帖子的浏览
 当用户登录成功后便进入该页面,在该页面可以浏览他人已经发表的主题帖子,
(四)、用户帖子的发布/修改/删除功能

用户成功登陆后,可以进行一些操作,如发表帖子、删除自己发表的帖子等。
 
 
(五)、用户回复他人帖子

打开他人的帖子,点击“我要回复”按钮(如图4-6所示)便可对该贴进行回复,如要想对其他回复此贴的人进行回复,可以点击回复人后面的“回复XX楼”按钮(如图4-7)对其进行回复。
 
(六)、管理员对帖子的查看/发表/删除功能

1、管理员查看或发表帖子

管理员查看或发表帖子与普通用户的一样。

1、 管理员删除帖子

管理员删除帖子与普通用户的区别在于,他可以删除任何人发表的贴子,另外他还有一项特权,就是可以删除任何人回复的垃圾帖子。

部分代码:
 

1、翻页功能的实现

在这里可以实现翻页功能,根据你的实际需求进行选择。

功能的实现:首先确定每页所能容纳帖子的最大数目,在这里我设定MaxNum=10;然后连接数据库查询帖子的总数,从而判断总的页数,即lastPage,接着根据请求的页码pageNO判断出该页码是否合法,若pageNO<1则改正为pageNO=1,若pageNO>lastPage,即所求的页码超出了最大页数,则改正pageNO=lastPage,然后确定要显示的第一个帖子的标识码firstNum和最后一个帖子的标识码lastNum,最后连接数据库将标识码在firstNum和lastNum之间的帖子的信息查询出来。
以下只是部分代码,详细代码附件中下载
程序为:
<% 
                                        int MaxNum = 10;//每页容纳的主题论文的最大数目 
                                        int count = 0, firstPage = 1, lastPage, firstNum, lastNum, prePage, nextPage, pageNO; 
                                        //firstPage表示首页,lastPage表示末页,pageNO表示第几页, 
                                        //firstNum表示该页的起始贴的ID,lastNum表示该页的末帖的ID, 
                                        //prePage表示前一页,nextPage表示后一页 
                                        sql = "select * from discuss"; 
                                        rs = stm.executeQuery(sql); 
                                        while (rs.next()) 
                                                     count++; 
                                        if (request.getParameter("pageNO") == null) 
                                                     pageNO = 0; 
                                        else 
                                                     pageNO = Integer.parseInt(request.getParameter("pageNO")); 
                                        lastPage = (int) Math.ceil((double) count / MaxNum); 
                                        if (pageNO == 0) 
                                                     pageNO = 1; 
                                        if (pageNO > lastPage) 
                                                     pageNO = lastPage; 
                                        firstNum = (pageNO - 1) * MaxNum + 1; 
                                        lastNum = pageNO * MaxNum; 
                                        if (pageNO == 1) 
                                                     prePage = 1; 
                                        else 
                                                     prePage = pageNO - 1; 
                                        if (pageNO == lastPage) 
                                                     nextPage = pageNO; 
                                        else 
                                                     nextPage = pageNO + 1; 
                                        sql = "select * from discuss where id between " + firstNum 
                                                                    + " and " + lastNum; 
                                        rs = stm.executeQuery(sql); 
                         %>
 页面的制作:
<form action=discuss.jsp method=post> 
                                        <table border=0> 
                                                     <tr> 
                                                                    <td> 
                                                                                 目前页数: 
                                                                                 <font color=red><%=pageNO%></font> 
                                                                    </td> 
                                                                    <td> 
                                                                                 总页数: 
                                                                                 <font color=red><%=lastPage%></font> 
                                                                    </td> 
                                                                    <td> 
                                                                                 <a href=discuss.jsp?pageNO= <%=firstPage%>>【第一页】</a> 
                                                                    </td> 
                                                                    <td> 
                                                                                 <a href=discuss.jsp?pageNO= <%=prePage%>>【上一页】</a> 
                                                                    </td> 
                                                                    <td> 
                                                                                 <a href=discuss.jsp?pageNO= <%=nextPage%>>【下一页】</a> 
                                                                    </td> 
                                                                    <td> 
                                                                                 <a href=discuss.jsp?pageNO=<%=lastPage%>>【最后一页】</a> 
                                                                    </td> 
                                                                    <td>
 输入页次:
<input type=text size=3 name=pageNO value=1> 
                                                                    </td> 
                                                                    <td> 
                                                                                 <input type=submit name=send value="送出"> 
                                                                    </td> 
                                                     </tr> 
                                        </table> 
                         </form> 
 
2、浏览帖子的实现

每幅帖子都有三部分组成:主题、作者和时间,通过上述分页功能选出了需

要显示出来的帖子,下面就是将它们显示在页面上的程序:
<% 
                                                     String name, email, subject, content, time; 
                                                     int reply, id; 
                                                     while (rs.next()) { 
                                                                    name = rs.getString(1); 
                                                                    email = rs.getString(2); 
                                                                    subject = rs.getString(3); 
                                                                    content = rs.getString(4); 
                                                                    time = rs.getString(5); 
                                                                    id = rs.getInt(7); 
                                                                    out.print("<tr bgcolor=yellow><td><a href=delete.jsp?id="+id+"&replyid=0><img src=Pictures/delete.bmp width=20 height=20></a></td><td width=300><a href=detail.jsp?id="+ id + ">" + subject + "</a></td>"); 
                                                                    out.print("<td width=200>" + name + "</td>"); 
                                                                    out.print("<td width=200>" + time + "</td></tr>"); 
                                                     } 
                                        %> 
 
5
1
分享到:
评论
1 楼 g411526 2012-12-03  
怎么能得到文件的解密解压码

相关推荐

    32个计算机专业毕业论文毕业设计JSP JAVA J2SE ASP Web 软件项目源码+WORD文档.zip

    32个计算机专业毕论设计JSP JAVA J2SE ASP Web 软件项目源码+WORD文档:BBS论坛的设计与实现毕业论文.rarC# 仓库管理系统.rarc#.net选课系统集合.rarJ2ME飞机游戏(毕业设计).rarjava+毕业设计+进销存管理系统+源码...

    bbs论坛毕业设计源码

    【标题】:“BBS论坛毕业设计源码” ...这个BBS论坛毕业设计源码对于初学者来说,是一个很好的实践项目,可以帮助他们深入理解SSH框架的运用,提升JSP和Java的编程能力,同时掌握Web开发的基本流程和规范。

    BBS论坛系统源码

    【BBS论坛系统源码】是一个基于Web技术的交互式讨论平台,主要使用Java语言进行开发,结合了JSP(JavaServer Pages)、SSH(Struts、Spring、Hibernate)框架以及J2EE MVC(Model-View-Controller)设计模式。...

    jsp毕业设计BBS论坛系统(源码+论文)

    【标题】"jsp毕业设计BBS论坛系统(源码+论文)"是一个针对计算机科学与技术专业学生,尤其是那些专注于Web开发的毕业生所设计的项目。这个系统利用Java Server Pages (JSP) 技术来构建一个交互式的在线讨论平台,即...

    java_jsp项目源码_Struct+MySql基于BBS管理系统设计与实现(源代码+论文+中英资料+开题报告+答辩PPT)

    本项目基于Java JSP技术,结合Structs框架和MySQL数据库,实现了一个功能完善的BBS(Bulletin Board System)管理系统。该系统旨在为管理员和用户提供一个高效、便捷的在线交流平台。 主要功能包括: 1. 用户管理...

    JSP源码JSP+Struct+MySql基于BBS管理系统设计与实现(源代码+论文+中英资料+开题报告+答辩PPT)

    根据提供的文件信息,我们可以推断出这是一套关于使用JSP、Struts框架以及MySQL数据库技术来构建一个基于网络的论坛(BBS)管理系统的项目资料。该项目不仅包含了实际的编程源代码,还附带了相关的学术论文、中英文...

    JSP+Struct+MySql基于BBS管理系统设计与实现(源代码+论文+中英资料+开题报告+答辩PPT).zip

    本资源是一个包含完整源代码、论文、中英文资料以及开题报告和答辩PPT的压缩包,主题是“JSP+Struts+MySQL基于BBS管理系统的设计与实现”。这是一个典型的Web应用开发项目,主要涉及了Java Web开发技术,具体包括JSP...

    毕业设计论文-IT计算机-BBS论坛系统(jsp+sql)-源码.zip

    【标题】"毕业设计论文-IT计算机-BBS论坛系统(jsp+sql)-源码.zip" 涉及的核心知识点主要集中在BBS论坛系统的开发上,采用的技术栈是Java(jsp)作为前端展示层,以及SQL作为数据库管理语言。以下是相关的详细知识: ...

    毕业论文BBS程序源码

    【毕业论文BBS程序源码】是一份基于Java Web技术的在线论坛系统源代码,用于学生毕业设计或项目实践。BBS(Bulletin Board System)即电子公告板,是一种早期的互联网交流平台,允许用户发布帖子、回复讨论和分享...

    java论坛管理系统设计(源代码+论文).rar

    【标题】: "Java论坛管理系统设计" 是一个基于Java编程语言开发的在线社区平台的完整实现,包含了系统的设计、开发以及详细的分析。这个项目不仅提供了源代码,还有一篇配套的论文,对整个系统的架构、功能和实现...

    毕业设计论文-IT计算机-bbs+毕业设计-源码.zip

    本次提供的“毕业设计论文-IT计算机-bbs+毕业设计-源码.zip”文件,正是一个关于BBS(Bulletin Board System,电子公告板)系统的毕业设计项目,它涵盖了源码程序和相关论文报告,旨在让学生深入理解Web开发技术,并...

Global site tag (gtag.js) - Google Analytics