BBS软件概要设计说明书 - 范文中心

BBS软件概要设计说明书

12/21

BBS论坛系统概要设计说明书

一.软件概要设计

1. 数据库的建立

下载并装MySql5.5.24数据库,设置它的默认编码为GB2312,设置的账户和密码分别为root和root,把编写好的sql语句导入到数据库中并保存为BBS.sql文档。

2. 下载web静态页面并修改成动态jsp页面

下载javaworld论坛的静态页面,保存到本地,用Macromedia Dreamweaver 8打开,删除不必要的页面代码。最后包含的jsp文件有

帖子的树形展现:article.jsp 帖子的详细信息:articleDetial.jsp 帖子的平板展现:articleFlat.jsp 帖子的删除:delete.jsp 管理员的登陆:login.jsp 帖子的修改:modify.jsp 发表新的帖子:post.jsp 回复帖子:reply.jsp 搜索帖子:search.jsp

会话检测:sessionCheck.jsp

所使用的图标文件都在images文件夹中,控件文件在FCKeditor文件夹中。

3. DB,USER和Article的封装

(1)把连接数据库常用的代码都封装在DB.java中。例如创建一个数据库连接Connection conn=DriverManager.getConnection(“jdbc:mysql://localhost:3306/bbs”,”root”,”root”);创建 Statement 、ResultSet 和一些常用的方法,在数据库使用完后一定要关闭资源调用close方法。

(2)在用户模块中把用户的基本属性都封装User.java中。例如用户的username,password,add,email,qq等等。

(3)在帖子的基本属性也封装在Article.java中,如定义:

private int id;

private int pid; private int rootid; private String title; private String cont; private Date pdate; private boolean isleaf;

每个成员变量都Getts和Setts方法等等!

以上的bean文件都是为了方便在jsp文件中调用而开发的!

4. 发帖的树形展现

帖子的树形展现,需要用到递归函数,自身调用自身,在article.jsp文件中实现,首先检查这个帖子的pid,为0的是父贴,通知检查它是不是叶子节点,当isleaf为0时,循环结束,否者继续执行直到帖子全部输出!树形代码实现如下:

private void tree(List articles ,Connection conn,int id,int grade){

String sql="select * from article where pid =" + id; Statement stmt=DB.getStmt(conn); ResultSet rs=DB.getRs(stmt,sql); try{

while(rs.next()){

Article a=new Article(); a.initFromRs(rs); a.setGrade(grade); articles.add(a); if(!a.isIsleaf()){

tree(articles,conn,a.getId(),grade+1); } }

}catch(SQLException e){ e.printStackTrace(); }finally{ DB.close(rs); } }

DB.close(stmt);

5. 帖子的详细情况

该功能比较简单,但是articleDetial.jsp要接受帖子的id参数,一定要注意接受到得参数id是String类型,需要转换成Int类型,实现:Int id = Integer.parseInt(request.getParameter(“id”)); 把接受到的id传给sql的select语句,就可把帖子a取出来放在Artile列表中。在相应的页面位置调用即可,例如在显示主题时,主题:。

在处理以上问题时一定要注意传递的id有可能是空值,做好Catch Exception 的准备。

6. 回复帖子

在回复帖子replay.jsp的实现中也要接受id和rootid两个参数,都需要相应的转换;同时为了解决中文的乱码问题,一定要要加上request.setCharacterEncoding(“GBK”);,本页面不处理接受到的id和rootid两个参数,同时把要发表的title和cont以post的方式提交给replayDeal.jsp页面处理,form表格实现如下:

"/>

"/>

标题:

内容:

而在replayDeal.jsp 文件中就要做相应的数据库update处理了代码如下:

int pid=Integer.parseInt(request.getParameter("pid"));

int rootid=Integer.parseInt(request.getParameter("rootid"));

String title=request.getParameter("title"); System.out.print(title);

String cont=request.getParameter("cont");

System.out.print(cont); Connection conn=DB.getConn();

boolean autoCommit=conn.getAutoCommit(); conn.setAutoCommit(false);

String sql="insert into article values(null,?,?,?,?,now(),?)"; PreparedStatement pstmt=DB.praStmt(conn,sql); pstmt.setInt(1,pid); pstmt.setInt(2,rootid); pstmt.setString(3,title); pstmt.setString(4,cont); pstmt.setInt(5,0); pstmt.executeUpdate();

Statement stmt=DB.getStmt(conn);

stmt.executeUpdate("update article set isleaf =1 where id="+pid); conn.commit();

conn.setAutoCommit(autoCommit);

DB.close(pstmt); DB.close(stmt);

DB.close(conn); %>

回复成功后可以用javaScript实现以下自动跳转功能代码如下:

5秒钟后自动跳转,如果不跳转,请点击下面链接

主题列表

7. FCKeditor控件的应用

为了实现文本cont多样化,可以使用著名的编辑控件FCKeditor,调用的文件可以从网上下载,而实现的代码为:

{

var sBasePath

=""; }


相关内容

  • 软件工程毕业论文
    目 第一章 第二章录绪论............................................................................................1需求分析........... ...
  • 概要设计与详细设计的区别
    概要设计与详细设计的区别 概要设计就是设计软件的结构,包括组成模块,模块的层次结构,模块的调用关系,每个模块的功能等等.同时,还要设计该项目的应用系统的总体数据结构和数据库结构,即应用系统要存储什么数据,这些数据是什么样的结构,它们之间有什 ...
  • 软件文档写作概要设计说明书3
    抽奖系统 概要设计说明书 姓名 学号 班级 学院 计算机科学与技术 日期 年 月 日 1.引言 1.1编写目的 计算机科学较之其他现代科学技术的发展更迅速,它大大方便了人们的生活.随着计算机的普及,以及计算机技术的不断提高和完善,越来越多的 ...
  • 模块概要设计说明书
    校园博客系统模块概要设计说明书 1. 引言 1.1编写目的 在本校园博客系统项目的前一阶段,已经将系统用户对本系统的需求做了详细的阐述,这些用户需求已经在上一阶段中对多所学院的实地调研中获得. 本阶段已在系统的需求分析的基础上,对校园博客系 ...
  • 软件开发概要设计模板
    <XX 集团网络化运营系统> 概要设计说明书 作 者: 完成日期: 签 收 人: 签收日期: 修改情况记录: 目录 1 引言 ................................................... ...
  • 软件公司各岗位职责
    岗位:项目经理 主要职责: 1. 计划: a)项目范围.项目质量.项目时间.项目成本的确认. b)项目过程/活动的标准化.规范化. c)根据项目范围.质量.时间与成本的综合因素的考虑,进行项目的总体规划与阶段计划. d)各项计划得到上级领导 ...
  • 初中信息技术八年级上册备课笔记
    义 务 教 育 实 验 教 科 书 信 息 技 术 八年级上 备 课 资 料 目 录 第一单元 网络与生活 第一课 我看网络 第二课 上网准备 第三课 我的E世界 第四课 因特网探源 第五课 因特网的未来 第二单元 网上交流 第六课 电子邮 ...
  • 软件文档写作宿舍管理系统
    辽 宁 工 业 大 学 实训报告 题目: 宿舍管理系统软件文档 院(系): 软件学院 专业班级: 电子商务112班 学 号: 111401049 学生姓名: 傅 瑶 指导教师: 闫海龙 教师职称: 助 教 起止时间: 2013.12.03- ...
  • 项目管理部岗位职责说明书
    项目管理部各岗位职责 岗位说明书 职位名称 项目管理部总经理/ 副总经理 职 系 管理系 面议 职等职级 填写日期 直属上级 核 准 人 分管副总裁 职位代码 所属部门 项目管理部 薪金标准 职位概要: 全面主持项目管理部工作. 工作内容: ...
  • 软件工程实验_详细设计
    软件工程 实验三:系统详细设计(6%) 1. 提交期限和方法 期限:第11周周二(2011-5-3) 23:59 pm 方法:由各班学习委员收集所有学生的实验报告,以电子档的形式提交给任课教师 2. 问题描述--图书管理系统 图书管理系统是 ...