数据库课程设计-留言板信息系统.doc_第1页
数据库课程设计-留言板信息系统.doc_第2页
数据库课程设计-留言板信息系统.doc_第3页
数据库课程设计-留言板信息系统.doc_第4页
数据库课程设计-留言板信息系统.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

江 西 理 工 大 学数 据 库 课 程 设 计 报 告题 目:留言板信息系统学 院:信息工程学院专 业:网络工程班 级:112学 生:王永宁学 号:1520113293指导教师:涂燕琼、南柄飞 目 录第一章 总体设计1.1需求分析1.2模块设计第二章 系统分析2.1留言板管理系统前端的主要功能 2.2留言板管理系统后台管理的主要功能 2.3留言板管理系统性能要求第三章 详细设计 3.1.数据库分析 3.2.E-R图 3.3.管理员表 3.4.用户信息表 3.5.留言信息表 3.6.数据库快照及字段说明 3.7.数据库连接详细设计第四章 前端页面设计武汉理工大学计算机软件设计课程设计说明书第一章 总体设计1.1需求分析随着网络热潮的发展,各种各样的网站正成倍的迅速增长,面对各种网站,论坛的发展,人们开始更多的在网上交流。这就需要一个发表留言的系统留言板。通过这样的系统,可以做到信息的规范管理、科学统计和快速的发表言论。由于计算机和网络的普及,若建立一个留言板系统,人们便可以通过网络的登陆成为会员,取得发表言论上午资格,也使得留言板管理工作系统化,规范化,自动化。1.2模块设计留言板系统的基本功能包括用户信息的录入、查询、修改和删除。用户留言及头像的前台显示功能。其中还包括管理员的登录信息。整体功能设计图如下所示:第二章 系统分析2.1留言板管理系统前端的主要功能(1)用户注册。(2)用户登录。(3)用户发表主题。(4)用户回复。(5)用户修改个人注册信息。(6)用户查看所有发帖以及回复信息。(7)用户查看自己发表的主题。(8)用户对主题进行各种查询。2.2留言板管理系统后台管理的主要功能(1)管理员登陆。(2)修改用户注册信息。(3)管理员修改用户发帖或回复的信息。(4)管理员删除用户发帖或回复的信息。(5)对用户发帖信息进行加精处理。2.3留言板管理系统性能要求(1)页面响应速度快。(2)页面美观整洁。留言板管理系统管理员普通用户修改用户信息修改和删除标题和回复信息注册登陆登陆加精标题查看留言留言创建标题查看标题第三章 详细设计3.1 数据库分析 用户需求具体管理系统提供保存、更新、查询、维护,这就需求数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。3.2 数据库概念结构设计:E-R图账号密码管理员3.3管理员表Create table admin(Ano char(10) primary key,Pwd char(10)Insert into admin(ano, pwd) values(gao,111)管理员(姓名、密码)对应ER图如下:管理员信息姓名密码3.4用户信息表create table users( uno char(20) primary key, uname char(20), sex char(20), pwd char(20), img char(100),)用户信息(账号、性别、姓名、密码、头像)对应ER图如下:客户信息 账号 姓名 性别 密码 头像3.5留言信息表create table jiaoliu( jno int identity(1,1) primary key,uno char(20),nerong char(2000),foreign key(uno) references users(uno)on delete cascadeon update cascade)留言信息(用户账号、留言信息)对应ER图如下:留言表 编号留言信息账号3.6数据库快照及字段说明(数据库为SQL server2005)普通用户表:user表格属性说 明是否为主码user_name用户注册的用户名。否password用户名的密码。否user_sex用户输入的性别。否user_qq用户输入的qq号码。是user_email用户输入的email地址。否主题表:theme表格属性说 明是否为主码theme_id主题id。是theme_user_name发表主题的用户名。否theme_content主题的内容。否click_number主题被点击的次数。否dateline发表的时间。否message_number留言的数量。否theme_name主题名。否is_good是否被加精。否用户留言表:message表格属性说 明是否为主码message_id留言id是message_date留言时间。否message_content留言内容。否message_user_name留言者的用户名否theme_id留言对应的主题。否管理员账户表:admin表格属性说 明是否为主码admin_name管理员用户名。是admin_password管理员用户密码。否3.7数据库连接详细设计:系统管理模块:(代码实现)void CLoginDlg:OnOK() /响应按钮连接数据库CString str,strPasswd;_RecordsetPtr pRS; / Recordset对象UpdateData();/ 更新数据/ 打开数据库if(pTheConn-GetState()=adStateClosed)pTheConn-Open(m_strDSN.AllocSysString(),-1);pRS.CreateInstance(_uuidof(Recordset); / 创建Recordset对象实例strPasswd=CCrypt:Encrypt(m_strPasswd,123); / 密码加密/ 设置过滤条件str=ID= + m_strUser+ and PASSWD= + strPasswd+ and AUTHORITY=5;trypRS-Filter=str.AllocSysString();pRS-Open(PERSON,pTheConn.GetInterfacePtr(),adOpenStatic,adLockReadOnly,adCmdTable);catch(_com_error *e)CString Error = e-ErrorMessage();AfxMessageBox(e-ErrorMessage();catch(.)AfxMessageBox(打开数据集对象出错!);int a=pRS-RecordCount;if(pRS-RecordCount=1) / 判断认证是否通过EndDialog(IDOK); / 关闭对话框elseMessageBox(请确认用户名和密码,注意大小写!, 认证失败);void CSalaryDlg:OnSystemConnect() / 显示用户登录窗口CLoginDlg LoginDlg;if(LoginDlg.DoModal()=IDOK) / 认证通过m_wndStatusBar.SetPaneText(1, 已连接到数据库: + LoginDlg.m_strDSN);void CSalaryDlg:OnSystemDisconnect() / 断开连接/ 关闭Connetion对象if(pTheConn-GetState()=adStateOpen)pTheConn-Close();m_wndStatusBar.SetPaneText(1, 尚未登录数据库,请按F2登录);第四章 前端页面设计主页面(图1)用户浏览主页面,将会显示所有标题信息。如果用户没有登陆则会在右上角用红色的字体显示“登陆”和“注册”。标题按时间顺序降序排列,标题如果被加精则会在标题名称后面显示红色的“精品”。在标题名前显示了点击数和留言数。主页面中还有搜索标题的功能可对标题进行模糊查询,并进行了不为空的验证(主页面代码太多,省略)。在主界面上当用户点击了“精品区”,“人气排行”,“首页”和标题名称这些链接后,将会通过Struts2的机制进行跳转至后台处理。以下是这几个链接的后台处理文件代码和在Struts2配置文件中的配置代码:public String execute()ActionContext ct= ActionContext.getContext();HttpServletRequest request=(HttpServletRequest)ct.get(ServletActionContext.HTTP_REQUEST);if(request.getParameter(action)!=null)if(request.getParameter(action).equals(message)List list=new MessageDAO().findAll(request.getParameter(id);request.setAttribute(message, list);List temp1=(List)new ThemeDAO().findById(request.getParameter(id);Theme theme=(Theme)temp1.get(0);request.setAttribute(theme, theme);new ThemeDAO().click(theme);List temp2=(List)new UserDAO().findByName(theme.getUsertable().getUserName();Usertable user=(Usertable)temp2.get(0);request.setAttribute(sex, user.getUserSex();return index;if(request.getParameter(action).equals(isGood)List list=new ThemeDAO().findisGood();request.setAttribute(list, list);return index;if(request.getParameter(action).equals(orderby)List list=new ThemeDAO().findOrderBy();request.setAttribute(list, list);return index;List list=new ThemeDAO().findAll();request.setAttribute(list, list);return index;/alert.jsp/index.jsp/error.jsp其中alert.jsp页面用于显示各种提示信息。在我的设计中,如果需要提示信息时,会将短小的脚本代码设置到request范围中,然后通过Struts2机制跳转到alert.jsp页面,在alert.jsp页面中输出request中的信息。脚本中的信息一般是提示框,点击后跳转到用户所需要的页面。用户点击“首页”,“精品区”,“人气排行”和标题的链接最后都依旧会跳到主页面,只是显示的内容不同。点击“首页”会将所有标题信息显示,按时间降序排列(图1所示)。点击“精品区”会显示所有被加精品的标题(如图2)。点击“人气排行”会显示所有标题,但是将按照留言数量进行排序(留言数量相同时按照点击数排序,如图3)。点击标题链接则会将该标题的所有留言信息显示出来,在此时“创建标题”链接将会变成“留言”链接(如图4)。图2图3图4在主页面中,虽然所有浏览该页面的人都能看到“创建标题”和“留言”链接。但是如果浏览者没有登陆,则无法进行“创建标题”和“留言”。点击是会被提示(图5),然后将登陆层显示(如图6),让用户登陆后在进行“创建标题”和“留言”操作。图5 图6登陆后用户进行“创建标题”和“留言”(同时也可以看到右上角的“登陆”,“注册”,变成了“修改注册信息”,“我创建的标题”)。用户点击“创建标题”时,会将创建标题层显示,创建标题中失去焦点时即有脚本进行验证,并通过动态改变DIV的样式和文字来达到美观,简单的提示用户的效果(如图7)。用户点击留言后,会弹出和创建标题层相同的层,不同的是标题变成无法修改,用户只能输入留言(图8)。图7图8在显示留言时,当用户注册信息性别为女时会显示女头像,为男时显示男头像(该功能可以扩展为用户任意选择头像)。当浏览页面想“创建标题”和“留言”但没有账号时就要通过注册页面进行注册,然后在进行登陆后的“创建标题”和“留言”。注册页面(图9)在注册页面我使用了大量的脚本进行验证,在“用户名”栏使用了AJAX技术,在注册者输入用户名后,将进行脚本验证,验证通过后通过AJAX的方式提交到后台(AJAX也采用Struts2,图10)。验证同样是通过动态改变DIV样式和文字来达到提示的效果,并且当用户提交时,会使验证没有通过的文本框获得焦点。图10图11以下是Struts2简单的AJAX,在配置文件文件中的代码: 在action中的代码:public String execute() ActionContext ct= ActionContext.getContext();HttpServletRequest request=(HttpServletRequest)ct.get(ServletActionContext.HTTP_REQUEST);List list=new UserDAO().findByName(request.getParameter(name);if(list.size()=0)isUser=true;elseisUser=false;return success;前台部分代码:var xmlHttp=new XMLHttpRequest();createXMLHttpRequest();xmlHttp.onreadystatechange=function()if

温馨提示

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

评论

0/150

提交评论