基于JSP技术的论坛系统设计
- 格式:doc
- 大小:23.00 KB
- 文档页数:7
摘要微型计算机的普及加速了计算机网络的广泛应用和飞速发展。
BBS全称为Bulletin Board System(电子公告板)或者Bulletin Board Service(公告板服务)。
是Internet上的一种电子信息服务系统。
它提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法。
它是一种交互性强,内容丰富而即使的Internet电子信息服务系统。
用户在BBS站点上可以获得各种信息服务,发布信息,进行讨论,聊天等等。
BBS (Bulletin Board System)系统以计算机系统、通信技术、数据库、网络技术等信息技术为支撑,在信息服务领域有着日益重要的应用。
本文利用JSP+CSS,HTML+CSS,MYSQL,JA V ABEAN,JDBC技术实现了一种基于B/S模式的论坛系统,阐述了BBS的相关理论和开发方法,并根据本项目的实际情况构造了论坛的基本架构。
该论坛系统主要完成了基于JSP技术的信息交流论坛的设计和实现,主要实现了客户端和服务器端的动态交互。
该系统包含五个模块:注册登录模块,浏览帖子模块,发帖回帖模块,论坛管理模块,用户管理模块。
论文详细的描述了模块的结构、功能以及具体的设计过程。
该论坛经测试表明其性能稳定,可广泛应用于各种网络上,作为信息交流和人员沟通的园地。
关键词:JSP, MYSQL, JA V ABEAN,论坛系统。
Designing and Implementation of Forum Basedon JSP TechniqueAbstractThe microcomputer popularization has accelerated the computer network widespread application and the rapid development. BBS(Bulletin Board System)system takes information technology like computer system, communication, database, network technology and so on as the strut ,it becomes more and more important in the information service domain.This article has realized one kind of pattern forum elaborated based on the B/S by using JSP+CSS, HTML+CSS, MYSQL, JA V ABEAN, JDBC technology and instructed the BBS related theory and developing methods and unifies this project the actual situation to produce the forum structure overhead construction. The forum(BBS) is mainly completed the design and realizations of information exchanges forum based on the JSP technique. And it main carry out a dynamic state between the customer and the sever. There are five molds piece: register and login the mold piece, scan the article in the mold piece, article releases and restores the mold piece, announce management mold piece, user management mold piece. The thesis has described module structure、function detailed and has designed process concretely. This forum after teacher and schoolmates test indicated its performance is stable, but widely applies to each kind if network the field which links up as the information exchange and the personnel.Key words: JSP,SQL,JA V ABEAN,BBS目录毕业设计(论文)任务书 ......................................... 错误!未定义书签。
JSP程序设计-课程设计基于JSP技术开发的BBS论坛系统院系:专业班级:组长:2010年 12 月 15 日摘要当今,随着网络的迅速发展,制作BBS论坛的技术和方法也越来越多。
本文主要讲述利用Java Web的相关技术来制作一个简单论坛。
通过实际制作,实现了BBS论坛系统应有的一些基本功能,如:登陆功能,通过在登陆界面输入用户名和密码来实现会员的登录,用户只有登录成功了才能进行一系列的操作;注册功能,用户首次登陆,需要先注册,注册时需要用户填写个人信息;找回密码功能,当用户忘记密码时可以通过此功能找回密码,找回密码时需要用户记得注册时填写的个人信息。
除此之外,还有浏览帖子、发表帖子、回复贴子以及删除帖子等等功能。
制作本论坛所用的前台软件是MyEclipse,后台数据库是MySQL,运行时所用的服务器是Tomcat,综合运用了HTML、JSP以及JavaScript语言。
关键词:BBS 论坛; JSP 技术; 登陆;注册; 找回密码;浏览贴子; 发表帖子; 回复贴子; 删除帖子目录一、概论 0(一)、BBS历史背景 0(二)、BBS制作目的 0(四)、BBS制作的局限性 (1)二、相关软件、技术介绍及开发环境的选择 (1)(一)、开发环境介绍 (1)(二)、JDK(Java Development Kit) (1)(三)、MyEclipse6.5软件的简单介绍 (2)(四)、MySQL数据库介绍 (2)(五)、JSP(Java Server Pages)网页设计技术介绍 (2)(六)、Tomcat5.5服务器介绍 (2)三、应用需求分析 (2)(一)、用户登录和注册功能 (3)(二)、用户找回密码功能 (3)(三)、用户帖子的浏览 (4)(五)、用户回复他人帖子 (5)(六)、管理员对帖子的查看/发表/删除功能 (5)四、系统总体设计 (6)(一)、系统结构设计 (6)(二)、数据库设计 (7)五、系统详细设计 (9)(一)、建立数据库及数据库表 (9)(二)、用户登录功能的实现 (10)(三)、用户发表新帖子页面的制作 (12)一、概论当前形势下,BBS论坛种类繁多,通过BBS可随时取得国际最新的软件及信息,也可以通过BBS来和别人讨论计算机软件、硬件、Internet、多媒体、程序设计以及医学等等各种有趣的话题,更可以利用BBS来刊登一些“征友”、“廉价转让”及“公司产品”等启事。
《JSP基础教程》课程设计BBS论坛系统目录1.功能需求 (3)2.框架规划 (3)2.1划分模块 (3)1)用户注册模块 (3)2)用户登录模块 (3)3)信息显示模块 (4)4)信息操作模块 (4)5)用户管理模块 (4)6)数据库模块 (4)2.2模块之间的关系 (4)2.3制定页面流程 (5)3.数据库设计 (6)3.1设计数据表的结构 (6)4.各单位模块设计 (7)4.1用户注册登陆功能 (7)4.2 用户发贴与回复功能 (7)4.3 管理员管理帖子与用户管理功能 (9)5.个人心得 (10)BBS论坛系统的设计与实现1.功能需求本系统根据论坛系统的需要,以实现交流信息的一个平台。
在这个BBS论坛系统中友三类用户,普通用户、版主和管理员。
普通用户具有的功能如下:✓用户注册✓分页查看所有主题文章列表✓发表主题文章✓回复文章✓查看主题文章和回复文章的详细内容✓对自己发表或回复的文章进行修改或者删除版主具有的功能如下:✓具有普通用户的所有功能✓对本讨论区的所有文章可以修改或删除管理员具有的功能如下:✓具有普通用户的所有功能✓对所有版面的所有文章可以修改和删除✓用户管理功能,包括修改用户的个人信息或删除用户2.框架规划2.1划分模块这个BBS论坛系统设计由6个基本模块所组成:1)用户注册模块这个模块完成新用户的注册功能,并能对新用户的注册信息进行差错检验。
包含的文件有:新用户注册表单页面:register.jsp验证注册信息并将注册信息存入数据库的页面:chkregister.jsp2)用户登录模块这个模块提供用户的登录界面,并验证用户名和密码,以确认用户身份。
包含的文件有:用户登录页面(论坛的主页面):index.html验证登录信息的页面:chklogin.jsp3)信息显示模块这个模块显示论坛的所有讨论区、各讨论区中所有主题文章、主题文章和回复文章的详细内容。
包含的文件有:显示所有讨论区列表的页面:listboard.jsp各讨论区中所有主题文章的分显示页面:listarticle.jsp显示主题文章和回复文章详细内容的页面:logout.jsp4)信息操作模块这个模块提供发表主题文章、回复文章、修改文章以及修改删除文章的功能,并且对不同身份的用户给予不同的操作权限。
题目:BBS专题论坛系统目录前言 (1)第1章专题论坛系统开发背景及意义 (2)1.1系统开发背景 (2)1.2系统开发意义 (3)第2章专题论坛系统需求分析 (4)2.1现状分析 (4)2.2可行性分析 (4)2.2.1经济可行性 (4)2.2.2技术可行性 (4)2.3设计目标 (5)2.4功能要求 (5)2.5平台选择 (5)2.6系统开发工具 (6)2.6.1开发语言—JSP(Java Server Page) (6)2.6.2数据库—MySQL5.0 (6)第3章专题论坛系统设计 (8)3.1数据库设计 (8)3.1.1数据库需求分析 (8)3.1.2数据库概念结构设计 (10)3.1.3数据库逻辑结构设计 (11)3.2系统结构设计 (15)3.2.1页面模块化设计 (15)3.2.2 MVC模式设计(Jsp+Servlet+JavaBean) (16)第4章专题论坛系统实现 (18)4.1系统各部分的实现方法 (18)4.1.1创建与数据库的连接 (18)4.1.2访问数据库的JavaBean (19)4.1.3用户及管理员登录模块页面 (20)4.1.4系统首页模块页面 (22)4.1.5会员注册模块的实现页面 (24)第5章系统测试与评价分析 (28)5.1测试环境简介 (28)5.2系统各模块的测试 (28)5.2.1管理界面测试 (28)5.2.2其它管理模块测试 (28)5.3系统的评价分析 (28)5.4系统的不足与展望 (29)结束语 (30)致谢 (31)参考文献 (32)前言自我国正式进入互联网时代以来,短短的几年时光互联网在我国得到了飞速的发展。
目前它已经成为全球性信息传输的重要途径之一,并被喻为信息高速公路。
这不仅表现在互联网的基础设施方面,也表现在互联网的用户人数、互联网在各行各业的广泛应用等各个方面。
现实生活中的交流存在时间和空间上的局限性,交流人群范围狭小以及间断的交流不能保证信息的准确性和可取性。
基于JSP的计算机技术交流论坛系统的设计与实现毕业论文目录摘要................................................... 错误!未定义书签。
Abstract ................................................ 错误!未定义书签。
引言. (1)第一章系统概要 (3)1.1 背景与意义 (3)1.2 开发方法 (4)1.2.1 JAVA和JSP技术简介 (4)1.2.2 SQL Server 2005概述 (5)1.2.3 Tomcat 6.0服务器架构 (6)1.2.4 运行环境的选择 (6)第二章系统需求分析 (8)2.1 系统功能概述 (8)2.1.1系统功能需求 (8)2.1.2 用例分析 (8)2.1.3概念层类图 (10)2.2 系统性能要求 (11)2.2.1 系统灵活性 (11)2.2.2 输入输出要求 (12)2.2.3 数据管理能力要求 (12)2.3可行性分析 (12)2.3.1 社会可行性 (12)2.3.2 技术可行性 (12)2.3.3 经济可行性 (13)2.3.4操作可行性 (13)第三章系统概要设计 (14)3.1设计目标 (14)3.2 网络论坛数据流图 (15)3.3面向数据流的设计方法 (16)3.3.1 系统层次图(H图) (17)3.4 系统数据库设计 (17)3.4.1 数据库设计原则 (18)3.4.2 数据库概念结构设计 (18)3.4.3 数据库表设计 (20)第四章系统的详细设计 (23)4.1 代码标识设计 (23)4.2 代码设计原则 (23)4.3 系统主要功能流程及模块 (24)4.3.1 前台显示设计 (24)4.3.2 发表帖子模块设计 (28)4.3.3 根帖操作设计 (29)4.3.4 搜索帖子操作设计 (31)4.3.5 用户注册操作设计 (31)4.4 论坛后台管理模块设计 (33)4.4.1 论坛版面管理 (33)4.4.2 论坛类别管理 (37)4.4.3 论坛用户管理 (39)第五章系统测试 (43)5.1 程序的测试方法 (43)5.2 软件的功能测试 (44)5.2.1 链接测试 (44)5.2.2 功能模块测试 (45)5.2.3 验证功能模块测试 (46)5.3 软件的可用性测试 (46)结论 (48)致谢 (49)参考文献 (50)附录附录清单A ........................................ 错误!未定义书签。
本科生毕业论文(设计)基于JSP的财大家园BBS论坛的设计与实现姓名学号专业指导教师2011年05月20日摘要随着网络应用的兴起,人们交流的方式也发生了翻天覆地的变化。
网络聊天、网络视频和邮箱系统等网络应用的出现正在改变着人们彼此之间沟通、交流的方式.此外,为了满足人们在某一特定主题下的知识获取和信息发布,出现了在线网络论坛。
各种各样的主题论坛几乎囊括了人们生活的每个角落。
人们根据自己的专业特长和兴趣爱好在论坛上提出自己的问题,即提出主题。
而后其他人根据主题内容可以发表自己的意见和看法,即回复主题.一千个人有一千个哈姆雷特,论坛集大家之所长,所感,为每一个用户提供了丰富的知识矿藏。
论坛是一个让人足不出户即可了解外界世界,了解他人所想的工具。
在人们生活节奏逐步加快的今天,必有其存在的现实意义。
正是基于这样的认识,开发了此BBS论坛系统.除了提供基本的看帖、发帖、回帖、搜帖的功能,针对管理员用户系统还提供了用户管理和帖子管理的操作。
目的是基于现实,为用户提供一个模拟的网上交流环境。
方便大家的沟通交流,丰富人们的娱乐文化生活。
在论文的篇章上,本论文从系统分析、系统整体设计、数据库设计、系统详细设计与实现几个方面对系统的开发过程作了详细的介绍,旨在全面地呈现系统由最初设计到最终定型的各个阶段,便于大家对系统有一个更好的把握和认识。
系统的具体实现细节则在论文的系统详细设计与实现一章给出了具体的阐述,各个功能版块的展示也包含在其中,能够直观地看到系统运行后的演示效果.其间夹杂着部分主要代码的辅助说明,便于从底层查看系统的最终实现。
关键词:JSP;网上论坛;模拟社区;在线交流AbstractWith the development of the Internet,the way of people’s communication has undergoned enormous changes。
Web chat,Online Video and Mailbox System are changing the way of people's mutual communication。
JSP课程设计报告BBS论坛设计一、BBS论坛BBS的英文全称是Bulletin Board System,译为“电子公告板”。
BBS最早是用来公布股市价格等类信息的,一直到互联网与个人计算机普及后广泛流行于网络。
目前,通过BBS 系统开发出各种论坛、网上社区、交友中心等信息平台。
二、BBS系统角色本系统实现BBS论坛的浏览、发贴、注册等功能。
系统的角色分为:1、普通用户(游客)浏览信息(主贴及加回帖)、用户注册2、注册用户用户登录、发表主贴、对相关的主贴发表回帖、个人信息维护3、版主对所属版块信息的维护,对不合适的主贴及回帖维护4、系统管理员对版块进行管理,对用户进行管理三、设计基本思路(修改相应的名称与本人项目对应,也可自己设计类似的图)四、BBS详细设计分析(给出各页面的运行效果截图、相关的Servlet代码,Servlet关键加注释)1:背景加的是浮动框架代码:<html><head><title>未标题-2</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head><body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0"marginheight="0"><!-- Save for Web Slices (未标题-2) --><table id="__01" width="1247" height="567" border="0" cellpadding="0"cellspacing="0"><tr><td colspan="3"><img src="images/jing_01.jpg" width="1247" height="50" alt=""></td> </tr><tr><td width="90"><img src="images/jing_02.jpg" width="63" height="465" alt=""></td> <td width="1091"><iframe name="left" width="100%" height="80%" scrolling="yes" src="login.jsp"frameborder="0"></iframe> </td><td width="66"><img src="images/jing_04.jpg" width="63" height="465"alt=""></td></tr><tr><td colspan="3"><img src="images/jing_05.jpg" width="1247" height="52" alt=""></td> </tr></table><!-- End Save for Web Slices --></body></html>1、系统主页面BBS.jsp运行截图:()相关代码:导入标签:<%@taglib uri="/jsp/jstl/core"prefix="c"%><body><p><br><img src="images/logo.jpg"width="290"height="70"><%String uname=(String)session.getAttribute("uname");%><%if(uname==null){ %><div>你尚未登录 || <a href="login.jsp">登录</a> || 注册</div><%} else{ %><div>当前用户:<%=uname %></div><p><% } %><p><a href="GetTopicServlet?currentpage=1&boardid=${boardid}}">首页</a></p><table width="928"height="83"border="1"align="left" cellpadding="0"cellspacing="0"><%ArrayList<Board> bdata=BoardDao.getAllBoard();for(int i=0;i<bdata.size();i++){Board tem=bdata.get(i);%><tr><th width="134"bgcolor="#00BC9A"scope="col"><divalign="center"><img src="images/icon3.gif"width="18" height="16"></div></th><th width="632"bgcolor="#00BC9A"scope="col"><div align="center"><ahref="GetTopicServlet?boardid=<%=tem.getBid() %>"><%=tem.getBname () %></a></div></th><th width="105"bgcolor="#00BC9A"scope="col"><div align="center">主贴数:<%=tem.getTopicnum() %></div></th><th width="47"bgcolor="#00BC9A"scope="col"><div align="center"></div></th></tr><tr><td bgcolor="#00BC9A"><div align="center"></div></td><td><div align="center">版主:<%ArrayList<User> udata=tem.getBuserdata();for(int j=0;j<udata.size();j++)out.print(udata.get(j).getUname()+" ");%></div></td><td><div align="center"></div></td><td><div align="center"></div></td></tr><% } %></table></p></html>GetTopicServlet://1 获取版块的idString boardid=request.getParameter("boardid");System.out.print("bid="+boardid);String curnum=request.getParameter("currentpage");if(curnum==null)curnum="1";//2 调用相关的类查询相关的信息GetPage mypage=new GetPage();DBConnect mydb=new DBConnect();String sql="select * from topic where boardid="+boardid;mypage.setDb(mydb);mypage.setKeyFielsName("topicid");mypage.setP_curpage(Integer.parseInt(curnum));mypage.setPageSize(3);mypage.setSql(sql);ArrayList<Topic> tdata=new ArrayList<Topic>();ResultSet re=null;try {re=mypage.getPage();while(re.next()){Topic tem=new Topic();tem.setTopicid(re.getString(1));tem.setTitle(re.getString(2));tem.setTdata(re.getString(4));tem.setReplynum(ReplayDao.getReplayByTopicId(tem.getTopicid()) +"");String userid=re.getString(5);tem.setTopicuser(UserDao.getUserInfoByUserId(userid));tdata.add(tem);}}catch (Exception e) {e.printStackTrace();}//判断是否为版主HttpSession session=request.getSession();String u=(String)session.getAttribute("uid");System.out.print("u="+u+"aa");boolean flag=false;if(u!=null){//u不为空说明登陆用户,判断是否为版主flag=MasterDao.checkMaster(u, boardid);}//3 将查询结果送到信息显示request.setAttribute("flag", flag);System.out.print("dd="+tdata.size());request.setAttribute("ttdata", tdata);request.setAttribute("boardid", boardid);request.setAttribute("curpage", mypage.getP_curpage());request.setAttribute("totalpage", mypage.getTotalPage());request.getRequestDispatcher("topiclist.jsp").forward(request, response);………2、主题帖显示及发帖页面topiclist.jsp相关代码:导入标签:<%@taglib uri="/jsp/jstl/core"prefix="c"%> <body><img src="images/logo.jpg"width="290"height="70"><%String uname=(String)session.getAttribute("uname");%><%if(uname==null){ %><div>你尚未登录 || <a href="login.jsp">登录</a> || 注册</div><%} else{ %><div>当前用户:<%=uname %></div><p><% } %><p>首页</p><table width="1018"height="133"border="1"cellpadding="0" cellspacing="0"><tr><th width="92"bgcolor="#00BC9A"scope="col"><div align="center">*</div></th><th width="521"bgcolor="#00BC9A"scope="col"><div align="center">主帖标题</div></th><th width="124"bgcolor="#00BC9A"scope="col"><div align="center">发帖人</div></th><th width="67"bgcolor="#00BC9A"scope="col"><div align="center">回帖数</div></th><th width="202"bgcolor="#00BC9A"scope="col"><divalign="center">发帖时间</div></th></tr><c:forEach items="${requestScope.ttdata}" var="tem"><tr><td align="center"><c:if test="${flag=='true'}"><ahref="delTopicservlet?topicid=${tem.topicid}&&boardid=${param.boa rdid }">删除</a></c:if><c:if test="${flag!='true'}"><img src="images/headimage4.JPG"width="17"height="17"></c:if></td><td><a href="NeiRong?topicid=${tem.topicid}">${tem.title }</a></td> <td align="center">${tem.topicuser.uname}</td><td align="center">${tem.replynum }</td><td align="center">${tem.tdata }</td></tr></c:forEach></table><p align="center">共${totalpage }页当前第${curpage }页<a href="GetTopicServlet?currentpage=1&boardid=${boardid}">首页</a><ahref="GetTopicServlet?currentpage=${requestScope.curpage-1}&board id=${boardid}">上一页</a><ahref="GetTopicServlet?currentpage=${requestScope.curpage+1}&board id=${boardid}">下一页</a><ahref="GetTopicServlet?currentpage=${totalpage}&boardid=${boardid} ">尾页</a></p></body></html>delTopicservlet:String topicid=request.getParameter("topicid");String boardid=request.getParameter("boardid");System.out.print(topicid+boardid);int n=TopicDao.delTopicByTopicId(topicid);if(n>0){request.getRequestDispatcher("GetTopicServlet?boardid="+boardid).forward(request, response);}else{System.out.print("删除失败");}3、回帖查看及发回帖页面replylist.jsp相关代码:导入标签:<%@taglib uri="/jsp/jstl/core"prefix="c"%></head><script language="javascript">function check(){var a=document.form1.flag.value;if(a==""){alert("要发贴,请先登录");return false;}var b=document.form1.contentinfo.value;if(content==""){alert("请输入主帖的标题");return false;}return true;}</script><body><table width="1039"height="167"border="1"cellpadding="0" cellspacing="0"><tr><th width="257"bgcolor="#00bc9a"scope="col"><div align="center">发帖人:${topicInfo.topicuser} </div></th> <th width="501"bgcolor="#00BC9A"scope="col">主帖标题:${topicinfo.title }</th><th width="148"bgcolor="#00BC9A"scope="col">发帖时间:${topicinfo.tdata }</th><th width="123"bgcolor="#00BC9A"scope="col"> </th></tr><tr><td height="48"><p align="center"class="STYLE1 STYLE1"><img src="images/16.gif"width="14"height="14"></p><p align="center"class="STYLE1 STYLE1">${topicinfo.topicuser.uname }</p></td><td colspan="3"align="left"valign="top"><p class="STYLE1 STYLE1">内容:</p><p class="STYLE1 STYLE1">${topicinfo.tcontent }</p></td></tr><c:forEach items="${rdata}" var="tem"varStatus="i"><tr><td height="28"bgcolor="#00BC9A"class="a"><div align="center" class="STYLE1">回帖人</div></td><td bgcolor="#00BC9A"class="a">回帖时间:${tem.creatdate }</td> <td bgcolor="#00BC9A"class="a">楼层:<c:if test="${i.count==1 }">沙发</c:if><c:if test="${i.count!=1 }">${i.count }</c:if></td><td bgcolor="#00BC9A"class="a"><a href="delReplyservlet?replyid=${tem.replyid}&&topicid=${tem.topic id}">删除</a></td></tr><tr><td height="48"><div align="center"class="STYLE1"><p><img src="images/6.gif"width="14"height="14"></p><p>${tem.replyuser.uname}</p></div></td><td colspan="3"align="left"valign="top"><span class="STYLE1"> <c:if test="${tem.rstatus==0}">该帖子已被删除</c:if><c:if test="${tem.rstatus==1}"> ${tem.contentinfo} </c:if></span></td></tr></c:forEach></table><form name="form1"method="post"action="addreplyservlet"><table width="315"height="125"border="1"align="center" cellpadding="0"cellspacing="0"><tr><th colspan="2"bgcolor="#00BC9A"scope="col">跟帖(提示:请登录)</th></tr><tr><td bgcolor="#00BC9A">内容</td><td><label><textarea name="contentinfo"cols="30"rows="8"></textarea><input type="hidden"name="flag" value="${erinfo}"><input type="hidden"name="topicid" value="${param.topicid}"></label></td></tr><tr><td height="23"colspan="2"align="center" bgcolor="#00BC9A"><label><input type="submit"name="Submit"value="提交"><input type="reset"name="Submit2"value="重置"></label></td></tr></table></form></body>addreplyservlet:request.setCharacterEncoding("gb2312");String content=request.getParameter("contentinfo");String topicid=request.getParameter("topicid");System.out.print(content+"||"+topicid+"||");HttpSession session=request.getSession();String userid=(String)session.getAttribute("uid");int n=ReplayDao.addReply(content, topicid, userid);//3转向if(n>0){//合法用户response.sendRedirect("NeiRong?topicid="+topicid);}else{//非法用户response.sendRedirect("添加失败!");}回帖:<%@taglib uri="/jsp/jstl/core"prefix="c"%></head><script language="javascript">function check(){var a=document.form1.flag.value;if(a==""){alert("要发贴,请先登录");return false;}var b=document.form1.contentinfo.value;if(content==""){alert("请输入主帖的标题");return false;}return true;}</script><body><table width="1039"height="167"border="1"cellpadding="0" cellspacing="0"><tr><th width="257"bgcolor="#00bc9a"scope="col"><div align="center">发帖人:${topicInfo.topicuser} </div></th> <th width="501"bgcolor="#00BC9A"scope="col">主帖标题:${topicinfo.title }</th><th width="148"bgcolor="#00BC9A"scope="col">发帖时间:${topicinfo.tdata }</th><th width="123"bgcolor="#00BC9A"scope="col"> </th></tr><tr><td height="48"><p align="center"class="STYLE1 STYLE1"><imgsrc="images/16.gif"width="14"height="14"></p><p align="center"class="STYLE1 STYLE1">${topicinfo.topicuser.uname }</p></td><td colspan="3"align="left"valign="top"><p class="STYLE1 STYLE1">内容:</p><p class="STYLE1 STYLE1">${topicinfo.tcontent }</p></td></tr><c:forEach items="${rdata}" var="tem"varStatus="i"><tr><td height="28"bgcolor="#00BC9A"class="a"><div align="center" class="STYLE1">回帖人</div></td><td bgcolor="#00BC9A"class="a">回帖时间:${tem.creatdate }</td> <td bgcolor="#00BC9A"class="a">楼层:<c:if test="${i.count==1 }">沙发</c:if><c:if test="${i.count!=1 }">${i.count }</c:if></td><td bgcolor="#00BC9A"class="a"><a href="delReplyservlet?replyid=${tem.replyid}&&topicid=${tem.topic id}">删除</a></td></tr><tr><td height="48"><div align="center"class="STYLE1"><p><img src="images/6.gif"width="14"height="14"></p><p>${tem.replyuser.uname}</p></div></td><td colspan="3"align="left"valign="top"><span class="STYLE1"> <c:if test="${tem.rstatus==0}">该帖子已被删除</c:if><c:if test="${tem.rstatus==1}"> ${tem.contentinfo} </c:if></span></td></tr></c:forEach></table><form name="form1"method="post"action="addreplyservlet"><table width="315"height="125"border="1"align="center" cellpadding="0"cellspacing="0"><tr><th colspan="2"bgcolor="#00BC9A"scope="col">跟帖(提示:请登录)</th></tr><tr><td bgcolor="#00BC9A">内容</td><td><label><textarea name="contentinfo"cols="30"rows="8"></textarea><input type="hidden"name="flag"value="${erinfo}"><input type="hidden"name="topicid" value="${param.topicid}"></label></td></tr><tr><td height="23"colspan="2"align="center" bgcolor="#00BC9A"><label><input type="submit"name="Submit"value="提交"><input type="reset"name="Submit2"value="重置"></label></td></tr></table></form></body>addreplyservletrequest.setCharacterEncoding("gb2312");String content=request.getParameter("contentinfo");String topicid=request.getParameter("topicid");System.out.print(content+"||"+topicid+"||");HttpSession session=request.getSession();String userid=(String)session.getAttribute("uid");int n=ReplayDao.addReply(content, topicid, userid);//3转向if(n>0){//合法用户response.sendRedirect("NeiRong?topicid="+topicid);}else{//非法用户response.sendRedirect("添加失败!");}4、用户登录5、<body><div align="center"><img src="images/logo.jpg"width="290" height="70"><br><%String uname=(String)session.getAttribute("uname");%><%if(uname==null){ %></div><div><div align="center">你尚未登录 || <a href="login.jsp">登录</a>|| 注册</div></div><div align="center"><%} else{ %></div><div><div align="center">当前用户:<%=uname %></div></div><p align="center"><% } %><form name="form1"method="post"action="logincheck"><table width="334"height="143"border="1"align="center"><tr><td width="108"bgcolor="#00bc9a"><div align="center">用户名</div></td><td width="210"><div align="center"><label><input type="text"name="username"></label></div></td></tr><tr><td bgcolor="#00BC9A"><div align="center">密码</div></td><td><div align="center"><label><input type="password"name="userpass"></label></div></td></tr><tr><td colspan="2"bgcolor="#00BC9A"><div align="center"><label><input type="submit"name="Submit"value="提交"></label><label><input type="reset"name="Submit2"value="重置"></label></div><div align="center"></div></td></tr></table></form></body></html>Logincheck://1获取request.setCharacterEncoding("gb2312");String uname=request.getParameter("username");String upass=request.getParameter("userpass");//2判断String userid=UserDao.checkUser(uname, upass);System.out.print("check="+userid+uname+upass);//3转向if(userid!=null){//合法用户HttpSession session=request.getSession();session.setAttribute("uid", userid);session.setAttribute("uname", uname);response.sendRedirect("BBS.jsp");}else{//非法用户response.sendRedirect("login.jsp");}6、7、用户注册<%@taglib uri="/jsp/jstl/core"prefix="c"%><body><p align="center"><img src="images/logo.jpg"width="290" height="70"></p><p><br></p><form name="form1"method="post"action="adduser"><table width="338"height="209"border="1"align="center" cellpadding="1"cellspacing="1"><tr><td width="92"align="center"bgcolor="#00bc9a">用户名</td><td width="291"align="center"><label for="textfield"></label><input type="text"name="username"id="textfield"></td></tr><tr><td align="center"bgcolor="#00BC9A">密码</td><td align="center"><label for="textfield2"></label><input type="password"name="password"id="textfield2"></td></tr><tr><td align="center"bgcolor="#00BC9A">确认密码</td><td align="center"><label for="textfield3"></label><input type="password"name="password"id="textfield3"></td> </tr><tr><td align="center"bgcolor="#00BC9A">性别</td><td align="center"><p><label><input name="sex"type="radio"value="男"checked>男</label><label><input type="radio"name="sex"value="女">女</label></td></tr><tr><td height="85"align="center"bgcolor="#00BC9A">头像</td><td><img src="images/headimage2.jpg"width="70"height="70" name="hcit"><script language="javascript">function aaa(){document.hcit.src=document.form1.select.value;}</script><label for="select"></label><select name="select"id="select"onChange="aaa()"><option value="1.gif">头像1</option><option value="images/headimage2.jpg">头像2</option><option value="images/headimage3.JPG">头像3</option><option value="images/headimage4.JPG">头像4</option><option value="images/headimage5.JPG">头像5</option> </select></td></tr><tr><td colspan="2"align="center"bgcolor="#00BC9A"><input type="submit"name="button"id="button"value="确认"><input type="reset"name="button2"id="button2"value="取消"></td></tr></table></form><p> </p><p><br></p></body><body>"</body></html>adduser(servlet)://1获取request.setCharacterEncoding("gb2312");String username=request.getParameter("username");String userpass=request.getParameter("password");String sex=request.getParameter("sex");String image=request.getParameter("select");System.out.print(username+userpass+sex+image);HttpSession session=request.getSession();String userid=(String)session.getAttribute("uid");int n=UserDao.addUser(username, userpass, sex, image);//3转向if(n>0){//合法用户response.sendRedirect("login.jsp?mes=2");}else{//非法用户response.sendRedirect("regist.jsp");}。
基于jsp的论坛管理系统毕业论文(设计)基于jsp的论坛管理系统学生姓名:学号:系别:计算机系专业:计算机科学与技术指导教师:评阅教师:论文答辩日期答辩委员会主席中文摘要当代,随着因特网的飞速发展,人们对网络的需求也越来越浓烈。
在此过程中,论坛脱颖而出,成为了人们获取信息、交流、讨论、解决问题的一个平台;随之,论坛便成了因特网不可或缺的重要组成部分。
系统采用B/S结构,基于浏览器管理界面,无须专业人士维护,在Windows Xp平台下开发完成,并且系统无操作系统限制,方便不同平台之间的移植。
在这里,阐述了一个基于jsp论坛管理系统的体系结构、具体设计以及实现过程。
系统采用的体系结构是:Struts1.2+MySQL开发,即前端由jsp页面实现表现层,并用Struts1.2控制具体的表现逻辑;中间由service层控制业务逻辑,后端使用dao控制数据层。
该jsp论坛管理系统是一个典型的java Web程序,有系统前台和后台管理两部分组成。
系统前台模块提供给所用用户使用,用户包括注册用户和普通游客,二者所拥有的功能不同。
其中系统前台主要包括用户登录、用户注册、发表主题、论坛、浏览。
主题浏览等功能模块。
系统后台主要是管理员使用,可对论坛中相关信息进行管理维护。
普通用户无权使用。
其中后台管理主要包括用户管理、栏目管理、主题管理、回复管理、管理员注销等功能模块。
一个成功的BBS系统可大大提高承载此论坛的网站点击率,使用户加入到具体问题、具体事务的讨论上来,起到收集反馈资料的作用。
通过对Jsp 论坛管理系统的开发可以从中学到如何进行项目的需求分析,如何进行系统设计,如何进行数据库分析和数据库建模,如何配置Struts1.2数据源,怎样进行单元测试等等许多东西。
关键字:论坛,电子公告,Struts1.2 ,MySQL ,Jsp ,系统前台,系统后台AbstractContemporary, with the rapid development of Internet, people need more powerful. In this process, BBS emerged as a people obtain information, communication and discussion, solve the problem of a platform, Subsequently, BBS become an indispensable part of the Internet.System based on B/S structure, the browser, without professional management interface in a Windows Xp, maintain lans and operating system and the system without limit, convenient between different platforms for the transplant. Here, describes a BBS management system based on JSP the system structure, design and implementation. The system adopts the system structure is: Struts1.2 + MySQL development, namely the front by the JSP page, and realize the presentation layer Struts1.2 control logicof the specific performance, Intermediate layer control by service business logic, back-end USES dao control data layer.The JSP BBS management system is a typical Java Web program, front and back management system has two parts. In front of the system used for users provide modules, including registered users and ordinary users tourists, both of which have different functions. These include user login, in front of the user registration, BBS, browsing topics, published. Theme browsing, etc. System is mainly used background, BBS of information management in maintenance. Ordinary users to use. One background management include user management, management, management, management, subject librarian cancel such function module.The success of a BBS system can greatly improve the bearing the BBS, users to join web hits specific problems, specific affairs, have discussed the role gather feedback information. Based on Jsp BBS management system can learn howthe project requirement analysis, system design, how to handle database analysis and database, and how to configure Struts1.2 data modeling, how many things are unit test, etc.Key words: BBS, electronic bulletin, Struts1.2, MySQL, Jsp, system, system background论文目录中文摘要 (3)Abstract (5)论文目录 (7)1.绪言 (8)2.1课题设计的主要来源 (11)2.2课程设计的目的 (11)2.3课程设计的意义 (11)2.4解决的主要问题以及达到的技术要求 (12)2.4.1解决的主要问题 (12)2.4.2达到的技术要求 (12)2.5国内外的发展以及存在的问题 (13)2.5.1国内外的发展 (13)2.5.2未来的发展趋势 (15)2.6课程设计的指导思想 (16)3.方案论证 (17)3.1设计原理及方案选择 (17)3.1.1 MVC原理 (17)1、模型端 (17)3.1.2 Struts原理 (19)3.1.3方案选择 (21)3.2为什么要选择这个设计方案及其特点 (21)3.2.1为什么要选择这个设计方案 (21)3.2.2该设计方案的特点 (21)4.过程论述 (23)4.1系统功能结构 (23)4.2业务流程图 (24)4.3系统预览 (25)4.3.1前台注册页面 (25)4.3.2后台栏目管理页面 (26)4.4开发环境 (27)4.5数据库设计 (28)4.5.1数据库分析 (28)4.5.2数据库概念设计 (28)4.5.3PowerDesigner数据库建模 (32)4.5.4创建数据库 (33)4.6核心代码讲解 (33)4.6.1论坛首页设计 (33)5.结果分析 (44)6.结论或总结: (46)7.致谢 (48)8.参考文献 (50)1.绪言进入二十一世纪,计算机技术迅速向着网络化、集成化方向发展。
毕业设计(论文)基于JSP的计算机技术交流论坛系统的设计与实现毕业论文(设计)原创性声明本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。
据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。
对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。
作者签名:日期:毕业论文(设计)授权使用说明本论文(设计)作者完全了解**学院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版。
有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图书馆被查阅。
学校可以公布论文(设计)的全部或部分内容。
保密的论文(设计)在解密后适用本规定。
作者签名:指导教师签名:日期:日期:注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订3)其它北京航空航天大学本科毕业设计(论文)任务书Ⅰ、毕业设计(论文)题目:基于JSP的计算机技术交流论坛系统的设计与实现Ⅱ、毕业设计(论文)使用的原始资料(数据)及设计技术要求:1.软件环境:操作系统:采用Windows 2003或Windows XP以及以上版本的操作系统;Web服务器:Tomcat6.0;浏览器:IE6.0以上;前台开发工具:Eclipse;后台开发工具:My SQL,Eclipse。
基于JSP技术的论坛系统设计作者:罗在文,张国梁来源:《电脑知识与技术》2010年第20期摘要:该文通过论坛系统的设计,提出了使用JSP技术设计论坛系统的方法,得出了使用JSP技术设计论坛系统采用模型、视图和业务逻辑分离设计,不仅增加了功能模块的重用性,而且有利于系统后期的维护和功能扩展。
关键词:JSP;论坛;模型;视图中图分类号:TP311文献标识码:A文章编号:1009-3044(2010)20-5484-03Design Forum System with JSP TechnologyLUO Zai-Wen(Sichuan Chemical Technical College, Luzhou 646005, China)Abstract: This article through the forum system design is proposed the Methods using JSP technology design forum system, reached the design forum system use model, view and business logic design the separation of design, not only increase the reusability of functional modules, but also conducive to system maintenance and functional extensions later.Key words: JSP; forum; model; view在信息化时代的今天,各种各样的论坛在网络上随处可见,论坛成了许多人学习交流的重要平台之一。
本文就如何使用JSP(Java Server Pages)技术设计论坛系统进行详细的介绍,以供读者参考。
一般来说,论坛的主要功能是让访问者在论坛上提问题、讨论问题、解决问题、分享心得及资源等等。
如果把每一条信息看着一个帖子,论坛的功能则是发布帖子、回复帖子、查看帖子、修改帖子、删除帖子等等。
由此,论坛的设计就变成如何表示信息、管理信息。
采用JSP 技术,可以按如下步骤设计论坛:1)模型设计;2)数据库设计;3)业务逻辑设计;4)视图设计。
下面,按上述步骤进行阐述。
1 模型设计在论坛系统中,涉及的数据对象是帖子、版块、用户,在使用这些对象前,必须先设计出合适的模型,也就是抽象出系统需要的类,即帖子类、版块类、用户类。
考虑到帖子在发布、回复时反映的信息不同,在设计时可以抽象出帖子类、帖子主题类和帖子回复类。
1.1 帖子类——Tip帖子包括的信息主要有帖子的标题、内容、发帖时间、修改时间、发帖人等。
根据面向对象设计的方法和原则,类的设计主要是属性和方法的设计,而且对类的操作只提供方法接口,属性不允许操作,即私有的。
基于此,帖子类可按如下代码设计:帖子类的属性设计:private String title; // 帖子标题private String content; // 帖子内容private String publishTime; // 发表时间private String modifyTime; // 修改时间private intuid; // 引用用户的id,用来表示该帖子是哪个用户发表的1.2 帖子主题类——Topic(继承Tip)帖子主题类包括的信息主要有帖子的标题、内容、发帖时间、修改时间、发帖人、帖子所属版块等。
由于帖子主题类中许多信息和帖子类相同,因此设计时可以直接继承帖子类相同的信息,只增加不同的部分。
帖子主题类的属性设计:private int topicId ; // 唯一标志主题的idprivate int boardId; // 引用版块的id,用来表示该帖子是哪个版块的1.3 版块类——Board版块类包括的信息主要有版块名称、版块的编号等。
版块类的属性设计:private int boardId; // 用来唯一标识版块private StringboardName; // 版块名称private int parentId; // 主版块id1.4 回复帖类——Reply(继承Tip)回复帖类包括的信息主要有帖子的标题、内容、发帖时间、修改时间、发帖人、回复帖子所属版块等。
由于帖子回复类中许多信息和帖子类相同,因此设计时可以直接继承帖子类相同的信息,只增加不同的部分。
帖子回复类的属性设计:private intreplyId; // 唯一标志回复的idprivate inttopicId; // 引用主题的id,用来表示该回复是哪个主题的1.5 用户类——User用户类的信息包括用户名、用户密码、性别、头像、注册时间等。
用户类的属性设计:private int uId ; // 用来唯一标识用户private StringuName ; // 用户名private StringuPass ; // 用户密码private int gender; // 性别,1是女,2是男private Stringhead ; // 头像,地址形式private StringregTime; // 注册时间2 数据库设计论坛系统需要实现信息的动态更新,因此,系统中的动态信息必须存储在数据库中。
用户每次访问论坛系统时从数据库中提取信息显示,并把增加的信息插入到数据库中。
数据库的设计主要考虑如何存储论坛的信息内容,用多少张数据表,每个表含哪些字段,以及字段采用哪种类型等。
设计时一般原则是每类数据对象对应一个数据表,数据对象的属性对应数据表中的字段。
根据这样的原则,论坛系统中需要设计的表有帖子表(tbl_topic)、回复贴表(tbl_reply)、版块表(tbl_board)、用户表(tbl_user)。
数据库设计工具可以采用SQL Server,Oracle,access等。
帖子表(tbl_topic)的结构如表1所示。
其他三个表结构设计的方法类似。
3 业务逻辑设计在面向对象程序设计思想中有个原则:业务逻辑设计尽量采用接口,通过接口定义业务逻辑,即定义需要实现的功能,然后继承接口实现对应的功能。
并且在后续中可以扩展接口中的业务逻辑来实现系统功能的扩展,方便后期的维护和功能扩充。
3.1 接口的设计接口定义实现论坛系统功能所需要的各种方法,本系统需要的接口定义为表2所示。
3.2 业务逻辑实现在论坛系统中,涉及的业务包括数据库连接、帖子处理、版块处理、回复处理和用户管理。
分别用类实现,类继承对应接口,实现接口中定义方法。
3.2.1 数据库连接——BaseDao类要实现JSP程序与实际的数据库之间交换数据,必须在JSP文件中用代码完成数据库的连接,建立程序和数据库之间的联系。
而JSP程序不止一个,为了便于管理,减少代码的冗余,编写类完成数据库的连接、数据的查询、插入、修改、删除。
使用JSP技术连接数据库,数据库一般采用SQL Server,使用JDBC纯Java方式连接数据库,注意SQL Server2000和SQL Server2005连接字符串是不同的。
在该类中,分别设计方法实现数据库连接、数据查询、数据的增删改。
需要时实例化BaseDao类,调用对应的方法即可。
3.2.2 帖子处理——TopicDaoImpl类该类继承帖子接口和数据库类,完成帖子主题的查询、增加、修改、删除等,也就是实现在论坛系统中发布帖子、修改帖子、删除帖子、查看帖子。
类定义为:class TopicDaoImpl extends BaseDao implements TopicDao方法为:int addTopic(Topic topic) //增加帖子int deleteTopic(int topicId) //删除帖子int updateTopic(Topic topic) //更新帖子Topic findTopic(int topicId) //查找帖子的详细信息List findListTopic(int page, int boardId) //查找帖子列表int findCountTopic(int boardId) //根据版块id取得该版块的主题数3.2.3 版块处理——BoardDaoImpl类该类继承版块接口和数据库类,类定义为:class BoardDaoImpl extends BaseDao implements BoardDao方法为:Map findBoard() //查找所有版块,封装了版块信息的MapBoard findBoard(int boardId) //根据版块id查找版块信息3.2.4 回复处理——ReplyDaoImpl类该类继承回复接口和数据库处理类,实现回复帖子的添加、删除、修改等。
类定义:class ReplyDaoImpl extends BaseDao implements ReplyDao方法为:int addReply(Reply reply) //添加回复int deleteReply(int replyId) //删除回复int updateReply(Reply reply) //修改回复List findListReply(int page, int topicId) //查找回复列表int findCountReply(int topicId) //查找回复条数Reply findReply(int replyId) //查找回复信息3.2.5 用户管理——UserDaoImpl类该类继承BaseDao类,实现UserDao接口,完成用户的注册、修改、查询。
类定义为:class UserDaoImpl extends BaseDao implements UserDao方法为:int addUser(User user) //增加用户int updateUser(User user) //更新用户User findUser(String uName) //查找用户User findUser(int uId) //查找用户4 视图设计视图指用户访问论坛系统时显示的界面,根据用户访问的不同内容,视图设计主要包括各版块的显示、发帖、回帖、显示主题和回复内容、显示某一版块的帖子列表、注册、登录等。
采用JSP技术设计,每个视图对应一个JSP文件,在JSP中使用page指令导入需要的包和类,结合Java代码和HTML代码,设计每个界面。
5 结束语综上所述,可以看出使用JSP技术设计论坛应用系统,不仅清晰地分离了系统的表示(视图)和内容(模型),明确了角色定义以及开发者与网页设计者的分工,增加了模块的可重用性,使得设计比较容易,而且有利于系统后期的维护和功能扩展。