BlogContent BlogArticle 通过博客ID,查询博客所有能容
DeleteUserByID BlogUser 根据用户ID,删除用户的信息
FindPassword BlogUser 根据用户名和用户Email找回用户登录密码
UserLogin BlogUser 根据用户输入的用户名和密码返回4种登录状态
5. 详细设计与实现
本系统采用B/S架构完成校园论坛系统,使用SQL Sever 2012完成数据表设计与存储过程,使用Visual Studio 2010完成前台页面和后台功能的实现,主要完成登录模块、注册模块、找回密码模块、发表博客模块、评论博客模块、用户管理模块、博客管理模块,下面主要介绍这几个模块的设计和实现。
5.1 系统公共类和常用方法
5.1.1 BlogDAL类库
类库BlogDAL实现对数据的操作,本系统中主要类有:sqlhelper.cs(数据库操作类)、ArticleSearchDAL.cs(博客内容搜索类)、BlogContentDAL.cs(博客内容类)、UserLoginDAL.cs(用户登录类)、BlogReportDAL.cs(博客发表类)、DelArticleDAL.cs(删除博客信息类)、FindPasswordDAL.cs(用户找回密码类)和RegisterDAL.cs(用户注册类)等。
5.1.2 BlogBLL类库
类库BlogBLL实现完成业务逻辑的操作,本系统中主要的类有:ArticleSearchBLL.cs(博客内容搜索业务逻辑类)、BlogContentBLL.cs(博客内容业务逻辑类)、UserLoginBLL.cs(用户登录业务逻辑类)、BlogReportBLL.cs(博客发表业务逻辑类)、DelArticleBLL.cs(删除博客信息业务逻辑类)、FindPasswordBLL.cs(用户找回密码业务逻辑类)和RegisterBLL.cs(用户注册业务逻辑类)等。
5.1.3 BlogDATA类库
类库BlogDATA中有三个类完成对数据的封装,不仅能保护和防止代码(数据)被无意破坏,而且还能提高数据的利用效率[11]。本系统中使用的封装类有:BlogArticle.cs(对博客表数据的封装)、BlogUser.cs(对用户信息表数据封装)和BlogRely.cs(对博客回复信息数据的封装)。上述类库之间关系如图7所示。
图7 公用类库关系图
5.2 登录模块
登录模块主要实现用户和管理员的登录功能,功能实现使用AJAX技术,通过获取到用户输入的用户名、密码和验证码,比较和表BlogUser中的用户名和密码是否一致来判断是否登录成功。登录模块的流程如图8所示。
图8 登录流程图
5.3 注册模块
游客有注册新用户的权限,并且注册的用户名不能重复,否则会提示“该用户已存在”的信息。注册功能的实现主要是通过后台获取到游客输入的用户名、密码、电子邮箱、上传图片的路径和系统时间,通过存储过程操作数据库表BlogUser,将数据插入表BlogUser中,系统注册效果如图9所示。
图9 系统注册效果图
5.4 找回密码模块
本功能针对于忘了登录密码的用户,功能的实现使用AJAX技术,通过Javascript获取到用户输入的用户名和电子邮箱地址,并通过存储过程操作数据库表BlogUser获取密码,返回用户的密码。
5.5 发表博客模块
该功能主要针对登录成功的用户,用户登录成功输入标题和内容后完成操作,功能的实现主要是通过后台获取博客的标题、内容,通过Session获取当前登录人名和图片,并通过存储过程操作数据库表BlogArticle,将数据存放到表BlogArticle中。发表博客流程如图10所示。
图10 发布博客流程图
5.6 评论博客模块
该功能针对于登录成功的用户,用户选择自己感兴趣的博客,单击“我要评论”按钮,系统弹出300px*600px的新窗口供用户操作[12]]。本功能具体实现是使用AJAX技术,通过Javascript获取用户评论内容,并通过Session获取到登录用户名、图片、博客编号,并通过存储过程操作数据库表BlogReply,将获取到的数据插入数据表BlogReply,最终获取的数据使用Repeater呈现在页面上[13],评论博客流程如图11所示。 C#和AJAX技术的校园论坛的设计与实现(4):http://www.751com.cn/jisuanji/lunwen_3753.html