文档库 最新最全的文档下载
当前位置:文档库 › 留言板毕业设计

留言板毕业设计

信息工程系 2014 届工程项目实践任务

留言板系统

学校:

系别:

班级:

学号:

姓名:

指导老师:

完成时间:

湖南工业职业技术学院信息工程系计算机应用技术毕业设计(论文)任务书

毕业设计(论文)指导教师评阅意见表

毕业设计(论文)答辩意见表

摘要

【摘要】:网络在人们的生活中扮演了越来越重要的角色,各色网站,论坛相应而生,我们在浏览信息的同时也需要及时地交流信息,所以留言板在各类网站中应用广泛。为了方便大家的勾通和获取信息,特创建这个留言板,此留言板前台界面可使用户进行登陆并在留言板上进行发表和查看,管理员可以进行管理和维护。它使用的是Microsoft 公司的ASP 作为开发工具,SQL Server 2008 R2为后台数据库,构建一个小型的网络留言板,从功能需求来规划框架,最后设计数据库和编写代码进而完成全部功能要求。

【关键字】:留言板,ASP,数据库,IIS。

【Abstract】:The network has played more and more important role in people's life, the assorted website, the forum corresponding and live, we also need during browsing information's to exchange the information promptly, therefore the message center applies widely in each kind of website,to facilitate everybody's colluding with the gain information, founds this message center especially. This message center onstage contact surface may cause the user to carry on the debarkation and carries on the publication and the examination on the message center, the manager may carry on the management and the maintenance. What it uses is Microsoft Corporation's ASP takes the development kit, SQL Server 2008 R2 is the backstage database, constructs a small network message center, plans the frame from the function demand, the ultimate design database and the compilation code then complete the complete function request.

【Key words】:Message center,ASP,Database,IIS。

前言

随着Internet的发展,网站的作用越来越重要,被称之为继广播、报纸、杂志、电视后的第五种媒体—数字媒体,拥有众多优势,所以现在不少企业都有或正在建设自己的网站。而留言板作为网站重要的一个部分,从来就是一个大家交流的平台!留言板是一种最为简单的BBS应用,借助留言板,浏览者可以张贴留言的方式给站长、版主或其他浏览者进行留言和提问。

目前实现论坛功能的技术工具有很多种,主要有CGI、PHP、JSP、ASP和https://www.wendangku.net/doc/e310869748.html,,其中微软公司开发的https://www.wendangku.net/doc/e310869748.html,在技术上居于领先地位,也必将成为将来网络开发的趋势。网络论坛和互联网上的其他信息一样,具有范围广,内容庞杂,动态变化性强等特点,但是它还有两个最重要的特点:交互性和时效性。交互性是指论坛用户能够参加到论坛信息的交流过程中来,可在论坛中发布自己的信息并且可以得到其他用户的反馈,这是网络论坛信息最基本和最重要的特征。一位用户发布信息,往往有很多人回应,可以开展多人讨论,这是一个多向交流信息的过程,它使人们能够便捷地进行交流。由于互联网信息传播的快捷与方便以及网络论坛的交互性,使得人们能够及时的从论坛中获取某一技术和行业的发展动态与最新的进展,专业技术论坛中信息时效性更强,往往一些最新的技术信息可以从论坛中获取。

本项目主要介绍留言板系统的设计思路和制作过程,从留言板的重要性开始。介绍留言板采用的ASP技术和SQL语言,进而阐述整个留言板系统的制作过程和具体的设计思路。该留言板全面地利用ASP技术实现留言板的基本功能:留言、回复、删除,并增加了一些特色功能,最后介绍自己在设计过程的心得体会。

目录

留言板系统 (8)

一、系统分析 (8)

(一)需求分析 (8)

(二)可行性分析 (8)

二、系统设计 (8)

(一)设计目标 (8)

(二)开发及运行环境 (9)

(三)数据库设计 (9)

三、系统开发 (10)

(一)首页设计 (10)

(二)发表留言 (11)

(三)用户注册 (14)

(四)我的留言 (14)

(五)管理留言 (17)

(六)注销登录 (19)

四、系统测试 (20)

(一)开始执行 (21)

(二)中断执行 (21)

(三)停止执行 (21)

(四)单步执行 (22)

(五)运行到指定位置 (22)

五、系统运行 (22)

(一)发布网站 (22)

(二)检查“发布网站”命令的输出 (22)

(三)测试发布的网站 (22)

六、系统维护 (23)

(一)WEB服务器配置不正确 (23)

(二)IIS管理服务没有响应 (23)

(三)连接被拒绝 (23)

(四)不能使用静态文件 (23)

毕业设计总结 (24)

参考文献资料 (25)

留言板系统

一、系统分析

(一)需求分析

1.要求系统具有良好的人机界面

2.能够满足用户的留言要求

3.能够让访客在查看留言内容后,对留言的内容发表自己的意见

4.管理员能够实现对留言的回复及删除操作

5.网站最大限度地实现易维护和易操作性

6.网站运行稳定、安全可靠

(二)可行性分析

留言板是Internet上最常见的一种服务,也是最典型的交互式网页。通常上网者可以使用访客留言板张贴一些文章,或是通过留言板给网站的维护者留下一些意见和看法,留言板也可以作为网友之间互通信息、相互交流的渠道。

本系统后台数据库采用Microsoft SQL Server 2008 R2,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大、效率高;前台采用Microsoft公司的Microsoft Visual Studio 2010作为主要的开发工具,其可与Microsoft SQL Server 2008 R2数据库无缝连接。

二、系统设计

(一)设计目标

1.界面设计美观友好,使用灵活便捷

2.数据存储安全可靠

3.提供留言查看、留言发表、留言回复、留言删除功能

4.系统最大限度地实现易维护和易操作性

5.系统运行稳定、安全可靠

(二)开发及运行环境

系统开发平台:Microsoft Visual Studio .NET 2010

系统开发语言:C#

系统后台数据库:Microsoft SQL Server2008

运行平台:Windows XP(SP2) / Windows 2000 (SP4)、WIN7

运行环境:Microsoft .NET Framework SDK (Internet Explorer浏览器)分辨率:最佳效果为1024×768像素

(三)数据库设计

本系统采用了SQL Server 2008数据库,可以用来执行各种操作,更新数据库中的数据、从数据库中提取数据等。数据库名称为db_LeaveWordBook,使用3个数据表,分别是用户信息表(tb_User)、留言表(tb_LeaveWord)、和回复表(tb_Reply)。各数据表的结构如下:

tb_User(用户信息表)

用户信息表(tb_User)结构

tb_LeaveWord(留言表)

留言表(tb_LeaveWord)结构

tb_Reply(回复表)

回复表(tb_Reply)结构

三、系统开发

(一)首页设计

1.功能描述

留言板首页主要是将数据库中检索到的留言主题信息显示出来,用户可在界面左侧选择“查看主题”、“发表留言”、“用户注册”、“我的留言”、“留言管理”、“注销登录”相应的主题后,在界面的右侧将显示相应的界面

index.aspx是留言板首页,效果如下:

选择“计应2班”主题,界面如下:

选择“查看回复”界面如下:

2.关键技术

本模块实现将数据动态添加到table表格中。

首页index.aspx的主要部分是用户控件ShowSubject.ascx,该控件将数据动态绑定到客户端控件table表格上。此功能的实现是将前台中的一个单元格绑定GetList方法,此方法的主要功能是在该单元格中添加一个table表格,并将字段添加到动态生成的表格中。

3.功能实现

前台表格中使用到了GetList方法将数据绑定到表格中,主要用到数据库中的tb_LeaveWord表中的ID编号字段的值的不同,查找出tb_LeaveWord表中对应的Subject字段的值并显示出来。实现步骤如下:

(1)创建Web窗体,命名为index.aspx。

(2)用户首页页面中使用的主要控件表如下:

(二)发表留言

1. 功能描述

本系统中,浏览者发表留言必须先进行注册,通过“用户注册”模块注册完成后,即可登录到系统中,单击导航栏中“发表留言”项,可发表留言信息。

2 . 关键技术

该页面中主要使用FreetextBox组件,该组件是一个在线文本编辑器,可以对文字以及图片内容进行处理,并将数据保存到数据库中。该组件配置步骤如下:(1)将FreetextBox.dll添加到项目中。在“解决方案资源管理器”中右键单击项目,选择快捷菜单中的“添加引用”选项,在弹出的对话框中选择“浏览”选项卡,找到组件存放位置,单击“确定”按钮,系统将自动创建Bin文件夹,并将组件存放到该文件夹中,如下所示

ReleaseWord.aspx用于用户登录后发表留言信息,效果如下:

(2)设置SupportFolder属性,将存放有FreetextBox组件的文件夹存放到aspnet_client文件夹中,然后设置SupportFolder属性为“aspnet_client/FreeTextBook/”。

(3)向页面中添加组件。配置完成后,即可向页面中的位置添加组件。在向页面中添加组件前,先注册组件。在页面HTML源代码顶部添加注册代码如下:

<%@Register TagPrefix="FTB"Namespace="FreeTextBoxControls"Assembly="FreeTextBox" %> 在页面中适当的位置再添加FreetextBox组件,代码如下:

SupportFolder="aspnet_client/FreeTextBox/"ButtonSet="Office2003"

Height="120px"Width="365px"ImageGalleryPath="../../images/"

Language="zh-cn"/>

(4)写入数据库。完成以上配置后,就可以使用该组件向数据库插入数据。

3.功能实现

(1)创建Web窗体,命名为ReleaseWord.aspx。

(2)核心代码:

protected void btnOK_Click(object sender, EventArgs e)

{

SqlData da = new SqlData();

string cmdtxt = "INSERT INTO tb_LeaveWord(Uid,Subject,Content,DateTime,IP)";

cmdtxt += " VALUES('" + Session["UserName"].ToString()+ "','" + this.TextBox1.Text + "'";

cmdtxt += ",'"+this.FreeTextBox1.Text+"','" + DateTime.Now+ "'";

cmdtxt += ",'" + https://www.wendangku.net/doc/e310869748.html,erHostAddress + "')";

bool add = da.ExceSQL(cmdtxt);

if (add == true)

{

Response.Write("");

}

else

{

Response.Write("");

}

}

(三)用户注册

Register.aspx用于查看留言信息,效果如下:

用户控件Register设计:

(四)我的留言

MyWord.aspx用于查看留言信息,效果如下:

1.功能描述

用户在首页选择相应的主题后,即可进入MyWord.aspx查看详细内容。在开发本系统时,需要在页面中比较全面的显示一些信息,但如果要显示的信息记

录较多,此时用一个页面显示所有的记录,可能给用户的浏览带来不便,为了解决这个问题,开发人员可以使用分页技术来限定一个页面中显示的记录数。本系统在留言板中,通过DataList控件绑定数据,分页显示该系统中的留言信息。2.关键技术

(1)本系统通过DataList控件绑定数据,分页显示该系统中留言信息的关键代码

如下:

PagedDataSource ps = new PagedDataSource();

ps.AllowPaging = true; //是否可以分页

ps.PageSize = 3; //显示的数量

ps.CurrentPageIndex = curpage - 1; //取得当前页的页码

this.DataList1.DataSource = ps;

(2)本系统是通过母版来实现的,因此在布局页面时,只需要布局母版页的内容

即。使用https://www.wendangku.net/doc/e310869748.html,母版页可以为应用程序中的页创建一致的布局。单个母版页可以为应用程序中的所有页定义所需的外观和标准行为。可以创建包含要显示内容的各个内容页。当用户请求内容页时,这些内容页与母版页合并,然后将母版页的布局与内容页组合在一起输出。

3. 功能实现

此功能的实现主要用到数据库中的tb_LeaveWord表和tb_Reply表。

本模块根据传入的编号值来查找tb_LeaveWord中的信息,给声明的变量赋值,并绑定一个自定义方法dlBind方法,该方法实现分页的功能,方便查看

4. 核心代码

在Page_Load事件中,首先根据来自主页传递的值检索数据表中相关数据,再给声明的变量赋值,并绑定一个自定义方法dlBind方法,代码如下:protected void Page_Load(object sender, EventArgs e)

{

string cmdtxt = "SELECT * FROM tb_LeaveWord WHERE ID='"+Request["ID"].ToString()+"'";

SqlConnection Con = new SqlConnection(ConfigurationManager.AppSettings["ConSql"]);

Con.Open();

SqlCommand Com = new SqlCommand(cmdtxt, Con);

SqlDataReader dr = Com.ExecuteReader();

dr.Read();

if (dr.HasRows)

{

ShowSubject = dr["Subject"].ToString();

ShowTime = dr["DateTime"].ToString();

ShowContent = dr["Content"].ToString();

ShowName = dr["Uid"].ToString();

}

dr.Close();//关闭阅读器

this.dlBind();//调用dlBind方法

}

页面中最关键的是dlBind方法的使用,该方法中实现了DataList控件分页技术,代码如下:

public void dlBind()

{

int curpage = Convert.ToInt32(labNowPage.Text);

PagedDataSource ps = new PagedDataSource();

SqlConnection mycon = new SqlConnection(ConfigurationManager.AppSettings["ConSql"]); mycon.Open();

string cmdtxt1 = "SELECT * FROM tb_Reply WHERE ReplyID=" + Request["ID"].ToString() + "";

SqlDataAdapter MyAdapter = new SqlDataAdapter(cmdtxt1, mycon);

DataSet ds = new DataSet();

MyAdapter.Fill(ds, "tb_Reply");

ps.DataSource = ds.Tables["tb_Reply"].DefaultView;

ps.AllowPaging = true; //是否可以分页

ps.PageSize = 3; //显示的数量

ps.CurrentPageIndex = curpage - 1; //取得当前页的页码

lnkbtnPrve.Enabled = true;

lnkbtnTop.Enabled = true;

lnkbtnNext.Enabled = true;

lnkbtnLast.Enabled = true;

if (curpage == 1)

{

lnkbtnTop.Enabled = false;//不显示第一页按钮

lnkbtnPrve.Enabled = false;//不显示上一页按钮

}

if (curpage == ps.PageCount)

{

lnkbtnNext.Enabled = false;//不显示下一页

lnkbtnLast.Enabled = false;//不显示最后一页

}

https://www.wendangku.net/doc/e310869748.html,bCount.Text = Convert.ToString(ps.PageCount);

this.DataList1.DataSource = ps;

this.DataList1.DataKeyField = "ID";

this.DataList1.DataBind();

}

控制DataList翻页主要使用LinkButton控件,实现分页功能的代码如下:protected void lnkbtnTop_Click(object sender, EventArgs e)

{

https://www.wendangku.net/doc/e310869748.html,bNowPage.Text = "1";

this.dlBind();

}

protected void lnkbtnPrve_Click(object sender, EventArgs e)

{

https://www.wendangku.net/doc/e310869748.html,bNowPage.Text = Convert.ToString(Convert.ToInt32(https://www.wendangku.net/doc/e310869748.html,bNowPage.Text) - 1);

this.dlBind();

}

protected void lnkbtnNext_Click(object sender, EventArgs e)

{

https://www.wendangku.net/doc/e310869748.html,bNowPage.Text = Convert.ToString(Convert.ToInt32(https://www.wendangku.net/doc/e310869748.html,bNowPage.Text) + 1);

this.dlBind();

}

protected void lnkbtnLast_Click(object sender, EventArgs e)

{

https://www.wendangku.net/doc/e310869748.html,bNowPage.Text = https://www.wendangku.net/doc/e310869748.html,bCount.Text;

this.dlBind();

}

(五)管理留言

LeaveWordManage.aspx用于管理留言,效果如下:

1.功能描述

单击导航栏中的“留言管理”项,进入到登录页面,该页面是管理员用户登录系统的入口。管理员登录成功后,即可进入留言信息管理页面,该页面显示所有注册用户的留言信息,并可以对留言信息进行查看、回复和删除。

2.关键技术

(1)本模块需要实现把数据显示到DataList控件中,使用到DataList控件的绑定

技术。DataList控件提供了DataKeys属性。该属性用于获取存储数据列表控件中每个记录的键值。

(2)本系统主要用到了session对象,目的是为了用session对象判断用户登录状

态,如果程序没有判断用户登录状态,那么用户登录毫无意义,非法用户便可通过地址栏访问任一网页;如果判断其登录状态,非法用户则不可通过地址栏非法访问网站后台,并且将网页重新定向到网站登录页面。

3.功能实现

本模块需要实现数据显示到DataList控件中,使用到了DataList控件的绑定技术。此功能的实现用到数据库中的tb_LeaveWord表,通过传过来tb_LeaveWord 表中ID字段的值的应用,对该记录进行操作完成“回复留言”、“查看留言”、“删除留言”功能的实现。

在Page_Load事件中,首先判断用户是否登录,若未登录,则返回到登录页面;反之,进入管理页面并将数据绑定到DataList控件,代码如下:protected void Page_Load(object sender, EventArgs e)

{

if (Session["UserName"] == null)

{

Response.Redirect("Login.aspx");

}

this.dlBind();

}

该页面中具有删除留言功能,主要是通过DataList控件中的LinkButton控件实现。将LinkButton按钮的CommandName属性值设为delete,然后DataList控件的DeleteCommand事件中编写代码完成删除功能,代码如下:

protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e)

{

string strid = this.DataList1.DataKeys[e.Item.ItemIndex].ToString(); //获取当前DataList控件列

string com = "Delete from tb_LeaveWord where ID='" + Convert.ToInt32(strid) + "'";

SqlData da = new SqlData();

da.ExceSQL(com);

Page.Response.Redirect("LeaveWordManage.aspx");

}

(六)注销登录

Logout.aspx是回复留言页面,显示效果如下:

1.功能描述

用户在选择注销登录后,即可进入Index.aspx查看详细内容。如需再次发表留言、管理留言以及查看我的留言,都需要重新登录到留言系统中,才可执行相应操作。其中就是将上一次操作中的Session记录清除,方便更改用户。

核心代码:

protected void Page_Load(object sender, EventArgs e)

{

Session["UserName"] = null;

Session["ID"] = null;

Session["Popedom"] = null;

Response.Redirect("Index.aspx");

}

四、系统测试

开发和编写程序的过程中经常会出现一些错误,其中包括语法错误,语义错误和编辑错误等,无论哪种错误都有可能导致程序不能执行或执行过程中出现失败。因此如何处理错误可能是优秀的应用程序设计中最得要的部分。即使程序在本地运行没有错误,开发人员也很难保证程序在任何环境下都运行正常。

Visual https://www.wendangku.net/doc/e310869748.html,环境中提供了Visual Studio调试器。该调试器提供了功能强大的命令来控制应用程序的执行。一般有如下方法:

1、断点

相关文档