JSP课程设计报告(技术论坛系统).doc

上传人:文库蛋蛋多 文档编号:2387131 上传时间:2023-02-17 格式:DOC 页数:10 大小:552.50KB
返回 下载 相关 举报
JSP课程设计报告(技术论坛系统).doc_第1页
第1页 / 共10页
JSP课程设计报告(技术论坛系统).doc_第2页
第2页 / 共10页
JSP课程设计报告(技术论坛系统).doc_第3页
第3页 / 共10页
JSP课程设计报告(技术论坛系统).doc_第4页
第4页 / 共10页
JSP课程设计报告(技术论坛系统).doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《JSP课程设计报告(技术论坛系统).doc》由会员分享,可在线阅读,更多相关《JSP课程设计报告(技术论坛系统).doc(10页珍藏版)》请在三一办公上搜索。

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);作者:时间:楼六 总结 本次课程设计是做一个技术论坛

12、系统,我采用的是基于struts框架的MVC设计模式来设计完成题目的。运用Struts框架对我来说是一个难点,因为以前没有学过Struts框架,对它一点都不了解,因此这次课设花了很多时间用在学习Struts框架上,后来通过老师的指点和同学的帮助,慢慢的理解了struts框架的原理和运行机制,做课程设计也就慢慢上手了。我感觉运用Struts框架最大的好处就在实现了数据操作和数据显示的分离,jsp页面只用来显示显示页面,不参与数据的处理,这样理清了设计思路,便于维护和代码的重用性。这次实验加深了我对MVC设计模式的理解。通过这次实验我还掌握了网页结构化设计的方法,大大提高了工作效率。当然在这次实验中我也遇到了不少问题,例如如何控制用户的权限认证,即用户直接在地址栏访问后台操作页面而不通过登录系统,通过查资料和请教同学,最终把这个问题解决。总之,这次实验加深了我对Web应用开发的理解,我进一步熟练了各种技术的在Web应用开发中的使用,为我以后对Web应用开发的学习和应用打下了坚实的基础。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号