JSP课程设计报告(技术论坛系统)_第1页
JSP课程设计报告(技术论坛系统)_第2页
JSP课程设计报告(技术论坛系统)_第3页
JSP课程设计报告(技术论坛系统)_第4页
JSP课程设计报告(技术论坛系统)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、华 北 科 技 学 院课程设计说明书班级: 姓名: 学号: 设计题目: 技术论坛系统 设计时间: 至 指导教师: 评 语:_评阅成绩:评阅教师:一 摘要bbs讨论区是目前因特网上人气最旺的互动交流服务,据统计,国内三大门户网站的bbs讨论区带来的流量已经远远超过其门户新闻带来的流量。本系统是一个结构简单的bbs论坛系统,该系统采用了mvc三层架构模型,通过这种设计模型把界面展示、处理流程和业务逻辑分成不同的组建实现,方便维护与重用。二 课程题目及需求分析 课程题目:技术论坛系统题目设计要求:要求实现一个简单的技术论坛系统。涉及到的各类信息需要自行分析设计,要求实现的功能主要有:1)用户注册:录

2、入用户个人信息,获得进入论坛的权限,并赋予一定级别(级别可随发帖次数提高)2)用户登录:已注册用户使用用户名和密码登录,成功后进入论坛;3)用户发帖:已登录用户可以发帖;4)用户回帖:已登录用户可以跟在其它人帖子后回复;5)管理员功能:管理员可以对查看和删除用户信息和帖子信息,可以设置帖子是否可以回复。6)查找功能:用户和管理员能够根据帖子主题查找相关帖子;7)要求所有用户先登录后使用,根据用户身份给予访问不同页面的权限。需求分析:对于一个简单的论坛系统来说,主要包括讨论区、帖子和回帖三部分:讨论区 每个讨论区对应一个话题类别,用户可以根据讨论区的名字判断讨论区的内容。帖子 用户发表的帖子包含

3、标题和内容,标题简要说明帖子的内容,内容详细的表述用户需要发表的观点和提出的问题回帖 对帖子的回复,一般没有标题,只有内容,用于对一个帖子进行回复。本系统用户主要分为普通用户和管理员两类,普通用户在登录后可以浏览讨论区、发帖和回帖,管理员除了具有普通用户的功能外还有删除用户信息和帖子信息、设置帖子是否可以回复等功能。 三 数据流图及系统功能图(一) 数据流图 技术论坛系统管理员用户 登录信息 登录信息 帖子信息 帖子、用户信息 回帖信息 删除、设置帖子信息 帖子、回帖信息 帖子、用户信息 图1 数据流图(二) 系统功能图 普通用户注册、登录搜索查看帖子发表帖子回复帖子技术论坛系统管理员搜索查看

4、帖子删除设置帖子删除查看用户 图2 系统功能图四 数据库设计数据库包括讨论区forum表、帖子topic表、回帖reply表和用户user表,表的设计如以下几个图所示forum表 (板块id,名称,描述) 表1 forum表 topic表(帖子id,板块id,作者,标题,内容,发布时间,回帖数,可回复标志)表2 topic表 reply表(回帖id,帖子id,内容,作者,回帖时间) 表3 reply表 user表(用户id,用户名,密码,邮箱,级别,身份,发帖数) 表4 user表 五 程序设计及功能实现(一)普通用户操作模块本系统运行后首先弹出首页,如图3所示,用户只有登录后才可以浏览论坛,

5、当用户没有登录而操作论坛时会弹出用户登录的界面,这里是用session来实现用户的登录认证的,当用户成功登录后,就可以浏览各个模块的帖子,可以对帖子进行回复,还可以发表新的帖子,当用户需要快速找到某个帖子时可以对该帖子的主题进行搜索。 图3 论坛首页1搜索帖子功能搜索帖子是根据用户输入的标题来搜索相应的帖子,这里是用一个表单来提交用户的搜索要求,然后表单将搜索数据传到后台应用程序进行处理,搜索帖子的界面如图4所示 图4 用户搜索界面搜索帖子的关键代码string sql;conn con=new conn();resultset rs;string title=searchform.getti

6、tle().trim(); /获取前台表单传来的title值system.out.print(title);string select=searchform.getselect(); /获取前台表单传来的select值sql=select * from topic where title=+title+;system.out.print(sql);rs=con.executequery(sql);list list = new arraylist();while (rs.next()integer id=rs.getint(id);string username = rs.getstring(

7、username);string title1 = rs.getstring(title);string time=rs.gettime(time).tostring();integer reply = rs.getint(reply);topic topic = new topic();topic.setid(id);topic.setusername(username);topic.settitle(title);topic.settime(time);topic.setreply(reply);list.add(topic);request.setattribute(list, list

8、); /将list对象发送到前台return mapping.findforward(result); /转向前台页面2 回复帖子功能用户对某个帖子进行回复是通过一个回帖表单提交数据的,表单将数据传到后台应用程序,应用程序接收到数据后对数据库经行一系列操作然后返回回帖的页面,回帖的界面如图5所示图5 回帖界面回帖的关键代码topicid=request.getparameter(id); /获取从前台传来的id值integer tid=integer.parseint(topicid);content=request.getparameter(content);httpsession sess

9、ion=request.getsession();object o = session.getattribute(uid);username = (string)o;simpledateformat sdf=new simpledateformat(yyyy-mm-dd); /获取系统日期date date=new date();string strdate=sdf.format(date);system.out.println(strdate);con=new conn(); resultset rstmp = con.executequery( select max(id) as maxi

10、d from reply );if(rstmp.next() id = rstmp.getint(maxid) + 1;rstmp.close();sql = insert into reply values ( + id ;sql += ,+tid+,+ content+,+username+,+strdate+ );con.executeupdate(sql);(二)管理员操作管理员除了具有普通用户的功能外还可以对用户和帖子信息进行查看和删除,还可以设置某个帖子是否可以回复设置帖子不可回复在设计帖子的数据库时设计了一个flag标志属性来标志帖子是否可以回复,当flag为0时帖子可以回复,当

11、flag为1时帖子不可以回复。用户发表的帖子默认情况下是可以回复的,管理员设置帖子不可以回复时就把flag的值置为1,这样当用户浏览该帖子时回复帖子的表单就会隐藏,从而达到不可回复的功能。操作界面如图6所示,隐藏表单的帖子界面如图7所示。 图6 管理员操作界面 图7 不可回复界面关键代码string sql;string id=request.getparameter(id);conn con=new conn();sql=update topic set flag=1 where id=+id;con.executeupdate(sql);作者:时间:楼六 总结 本次课程设计是做一个技术论坛系统,我采用的是基于struts框架的mvc设计模式来设计完成题目的。运用struts框架对我来说是一个难点,因为以前没有学过struts框架,对它一点都不了解,因此这次课设花了很多时间用在学习struts框架上,后来通过老师的指点和同学的帮助,慢慢的理解了struts框架的原理和运行机制,做课程设计也就慢慢上手了。我感觉运用struts框架最大的好处就在实现了数据操作和数据显示的分离,jsp页面只用来显示显示页面,不参与数据的处理,这样理清了设计思路,便于维护和代码的重用性。这次实验加深了我对mvc设计模式的理解

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论