课程设计基于JAVA的BBS系统的实现

上传人:pu****.1 文档编号:500867160 上传时间:2023-08-18 格式:DOC 页数:25 大小:368.50KB
返回 下载 相关 举报
课程设计基于JAVA的BBS系统的实现_第1页
第1页 / 共25页
课程设计基于JAVA的BBS系统的实现_第2页
第2页 / 共25页
课程设计基于JAVA的BBS系统的实现_第3页
第3页 / 共25页
课程设计基于JAVA的BBS系统的实现_第4页
第4页 / 共25页
课程设计基于JAVA的BBS系统的实现_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《课程设计基于JAVA的BBS系统的实现》由会员分享,可在线阅读,更多相关《课程设计基于JAVA的BBS系统的实现(25页珍藏版)》请在金锄头文库上搜索。

1、. . . . 基于JAVA的BBS系统的实现第一章 需求分析1.1功能需求分析开发背景:论坛也称为BBS,是bulletin Board System的简称,意即电子公告板,是一种在Internet上常见的用于信息服务的Web系统,它主要给浏览者提供相互沟通的平台,以此来吸引用户,服务用户。BBS起源于20世纪80年代初。最初,论坛只是用于发布公告信息,讨论问题的在线交流平台。后来,随着网络的普与,论坛的功能越来越丰富,受到广大网民的欢迎。因此,商业对论坛重视起来,纷纷在自己的上开辟论坛。作为与网民交流的园地。同时在线技术支持和在线服务也在论坛中开展起来。当代的大学生几乎都会接触甚至经常登陆

2、自己感兴趣的论坛,在上面可以分享,也可以交流意见。本网上论坛BBS的功能:(1) 接收访问者输入的信息,将其存入连接的数据库,并且通过Web页面读取数据库的容将访客的留言显示出来。因此一个留言板分为提交帖子和显示帖子详细容两部分。(2) 此BBS主要是为了方便大家的交流与希望留言者对某一事件发表看法或提供意见和建议而设计,为了方便用户发帖,不需要用户注册账号。用户可以查看以前的帖子,也可以回复任何一个帖子。(3) 管理员可以修改或删除不合适的帖子,删除时可以删除所有同主题的帖子。(4) 管理员和访客都可以搜索标题或者容中包含特定关键字的帖子。1.2运行环境需求分析系统:windows xp浏览

3、器:IE6.0。分辨率:最佳效果1024768像素。调试环境:tomcat6.0 jdk6.0辅助软件:Macromedia Dreamweaver 8、MyEclipse等数据库软件:mysql开发语言:jsp、html等1.3用户界面需求分析 1)发表帖子:用于发布新的帖子。 2)查看帖子详细容:单击留言主题就可以进入查看详细的帖子容和所有回复的帖子容。 3)回复帖子:回复正在查看的帖子。 4)管理员登陆:管理员可以登陆对论坛上的帖子进行管理。 5)更新帖子:管理员登陆后可以修改不合适的帖子。 6)删除帖子:管理员登陆后可以删除不合适的帖子。 7)查询帖子:管理员和访客都可以搜索标题或者容

4、中包含特定关键字的帖子。1.4数据库需求因为是运用JSP编码的,所以采用MYSQL作为所需的数据库,为了防止运行过程中可能遇见的读取乱码问题,在代码和数据库中都运用GBK形式进行数据的存储和提取。第二章 数据库设计2.1数据库表表1-1 数据库表字段类型含义存储格式是否为空IdInt帖子本身的编号GBKNOPidInt父帖的编号GBKNORootidInt子帖的编号GBKNOTitleVarchar帖子标题的容GBKNOContText帖子详细的容GBKNOPdateDatatime帖子的发表时间GBKNOIsleafint回复是否根节点 (在本程序中1代表不是根节点 0代表是根节点)GBKN

5、O2.2存储过程create database bbs;use bbs;create table article (id int primary key auto_increment,pid int,rootid int,title varchar(255),cont text,pdate datetime,isleaf int);第三章 系统设计3.1系统功能模块由于本系统要保证帖子的正常管理,那么就存在总管理员与一般用户之区别,所以就可以粗略分为两个部分,前台展示模块、管理员模块。下面我们依次画出这两个模块的大体框架图。前台部分就较为粗糙,为了限制访客的某些权利,前台的功能较少,分了4个部

6、分,分别是发表帖子、浏览帖子、查询帖子以与回复帖子等组成。网上论坛的前台功能结构如图3-1所示。网上论坛发表帖子浏览帖子查询帖子回复帖子图3-1 医药连锁店管理系统前台功能结构图网上论坛后台管理系统是对整个系统,包括前台模块以与帖子删除和更新功能的管理。其功能结构图如图3-2所示。网上论坛发表帖子浏览帖子更新帖子回复帖子管理员登陆查询帖子删除帖子图3-2 网上论坛后台管理系统功能结构图通过上述2个大的模块,本网上论坛基本构架出来了。这两个基本模块的构架为后面各个模块系统的进一步设计与研究打下良好的基础。3.2前台功能模块设计87首页就是公司的形象,也是整个系统的高度概括。因此首页包括了前台展示

7、系统的各个重要功能,便于向访客展示系统的各个信息。首页中包括了发表新主题、查询帖子、查看帖子详细容等功能,在进入帖子详细容时,还有回复帖子的功能。同时也为网上论坛提供了管理的入口,方便网上论坛用户的管理登陆。首页运行结果如图3-3所示,浏览帖子详细容的运行结构如图3-4所示。4312图3-3 前台首页主题列表运行结果5图3-4 前台浏览帖子详细容运行结果根据多次设计与反复修订,为了系统的整体一致性与便于维护,特别把首页部分为了以下几个部分,在首页使用包含文件的方式,把各个部分包含进来,各部分功能设计为单独的文件,这样在后期的日常维护中,如果要修改此功能的信息,那就很方便了。前台页面的各部分说明

8、以列表形式给出,如表3.1所示。区域名称说明对应文件1发表新主题发表新的论点和想法post.jsp2查询帖子主要用于用户查找帖子articleResult.jsp3管理员登陆主要用于提供管理员登录后台的入口login.jsp4浏览帖子展示所点帖子的详细容articleDetailFlat.jsp5回复回复正在浏览的帖子reply.jsp表3.1前台首页解析3.2.1帖子搜索模块设计帖子包含很多方面的容和信息,很多信息是有共同点的,并且这些共同的信息可能是被访客所关注的,因为每个访客的出发点与实际需求都是不同的,那么在这些不同的需求中,我站系统根据用户习惯等来限定关键字的搜索围,并把关键字搜索围

9、进行了限制,按帖子主题与详细容对指定的帖子的关键字进行模糊查询。该功能由两部分组成,一部分是查询条件输入专区,另一部分是查询结果显示专区,查询条件输入专区的设计效果如图3-5所示。帖子搜索系统设计效果如图3-6所示。图3-5 条件输入专区页面图3-6 查询结果展示专区页面查询系统程序设计的思路是这样的,当访客输入要查询的关键字提交之后,系统根据获取的关键字进行判断,如果有关键字,那么就查询表article中title和cnot字段,读取与关键字模糊匹配的信息。3.2.2帖子详细容展现模块设计帖子详细容展现页面是对应帖子信息的具体介绍,它展示了帖子的主题,帖子的发表时间,帖子的回复容等信息。页面

10、的设计效果如图3-7所示。图3-7 帖子详细容展现页面3.2.3帖子的发表和回复模块设计 帖子的发表和回复分别进不一样的处理模块,但大致的思路是一致的。帖子的发表和回复的展现页面也是一样的,如图3-8所示。图3-8 帖子的发表和回复模块展现页面第四章 后台功能模块设计4.1 网上论坛管理员登陆模块网上论坛管理员登陆运行效果图如图4-1所示图4-1 网上论坛管理员登陆运行页面而这个被用来进行权限判断的字段为:adminLogined,并且当adminLogined=TRUE时系统认为该用户是管理员。在系统登陆成功的时候系统自动读取该值,并赋予各一个session。4.1.1帖子的修改管理员可以任

11、意的修改帖子信息,为此我们在修改的时候必须有一个不能被修改的参数、字段来作为我们的修改记录位置的依据,因此程序认为各个帖子的编号不能被修改。帖子的修改界面与帖子的发表界面外观上相差无几。但帖子的修改需要先从数据库中读取要修改的容。网上论坛的修改运行效果图,如图4-2所示:图4-2 网上论坛修改运行页面网上论坛的管理,不仅是简单的展示,当帖子太多时,对读取的主题信息进行分页显示也是必须的。4.1.2帖子的删除 某些广告帖、灌水帖等在论坛中是毫无意思的,所以管理员删除这些帖子才能保证论坛的秩序。管理员点击帖子前的删除即可将此帖去掉。第五章 系统实现5.1前台显示主要是访客所见的界面和访客所能实现的

12、功能。5.1.1展现主题列表(articleFlat.jsp) 平板形式展现主题列表,插入分页代码,可展现分页效果,主要代码如下:分页代码:%final int PAGE_SIZE = 4;int pageNo = 1;String strPageNo = request.getParameter(pageNo);if (strPageNo != null & !strPageNo.trim().equals() try pageNo = Integer.parseInt(strPageNo); catch (NumberFormatException e) pageNo = 1;if (pa

13、geNo = 0)pageNo = 1;int totalPages = 0;List articles = new ArrayList();Connection conn = DB.getConn();Statement stmtCount = DB.createStmt(conn);ResultSet rsCount = DB.executeQuery(stmtCount,select count(*) from article where pid = 0);rsCount.next();int totalRecords = rsCount.getInt(1);totalPages = (

14、totalRecords + PAGE_SIZE - 1) / PAGE_SIZE;if (pageNo totalPages)pageNo = totalPages;Statement stmt = DB.createStmt(conn);int startPos = (pageNo - 1) * PAGE_SIZE;String sql = select * from article where pid = 0 order by pdate desc limit + startPos + , + PAGE_SIZE;System.out.println(sql);ResultSet rs = DB.executeQuery(stmt, sql);while (rs.next() Article a = new Article();a.initFromRs(rs);articles.add(a);DB.close(rsCount);DB.close(stmtCount);DB.c

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号