潍坊科技学院Java&jsp课程设计报告书个人博客系统实现与设计姓名:李秀秀院系:软件学院班级:11软1学号:201101080037概述对个人而言,博客可以调动个人的积极性,充分发挥个人的创造性。从2002年开始,国内博客开始迅猛发展起来,从最初的只有几千个尝鲜者到现在的各式各样的博客,圈子。1.博客的概念博客是WEBLOG的缩写,简单来说就是网络日记。它是1997年12月由美国的JornBarger最早提出的,这些年全球博客获得了突飞猛进的发展。据博客搜索Technorati统计,目前全球平均每5.8秒钟诞生一个博客。它是一个新型的个人互联网出版工具,博客使用者可以很方便地用文字、链接、影音、图片建立起个性化的网络世界。博客秉承了个人网站的自由精神,但是综合了激发创造的新模式,使其更具开放和建设性。它作为一种新表达的方式,它的传播不仅情绪,包括大量的智慧、意见和思想。2.JSP概述JSP即JavaServerPages,是由SunMicrosystem公司于1996年6月推出的新技术,是基于JavaServlet以及整个Java体系的Web开发技术[4]。JSP已经成为开发Web动态网页重要、快速和有效的工具,是全新的网络服务器编程环境。JSP充分利用了Java的强大功能,是一种优秀的服务器端技术。3.Eclipse简介Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成。4SQLServer简介MicrosoftSQLServer2000是微软所推出的一套在Windows平台上执行的功能强大的关系型数据库管理系统,用以作为应用程序的数据来源,存放各种数据,并可以让用户很容易地达成所要进行的数据存取操作。同时,也提供了一些可视化的管理工具,协助数据库系统管理者更方便快速地管理及设计数据库的内容,以及对数据库进行维护。系统分析与总体设计博客信息系统包括:前台信息显示系统、后台信息管理系统。前者是面向公众的一个窗口,通过前台信息显示系统方便访问者浏览日志、评论和留言;发表评论和留言。后者是后台信息管理系统,方便博客管理员发表日志;回复评论和留言;管理日志、评论、留言及个人信息。2.1用户需求分析博客信息管理系统允许用户有三种身份:博客访问者、博客管理员及系统管理员。博客系统参与者中每种身份操作起来都很方便、快捷。博客访问者无需登陆就可以浏览信息、发表评论或留言;博客管理员注册后再登陆,就可以发布日志、管理个人主页;而博客管理员的基本信息都由系统管理员对其统一管理。博客信息管理系统用例图如图3.1所示。图2.1博客信息管理系统用例图2.2数据分析系统的用户主要是博客访问者和博客管理员,下面以博客前台展示系统中的用户查询日志为例进行说明。该过程的数据流程图如图3.2所示。图2.2用户查询日志的数据流程图用户查询日志的数据流程:首先,用户输入需查找的关键字,然后提交表单数据,服务器接收到关键字后,根据关键字对日志标题进行模糊查询,处理后将结果以日志标题链接的形式显示给该用户,用户点击相应的链接就可以浏览日志内容。2.3系统流程根据博客信息管理系统的特点,将其分为两大模块:前台用户浏览模块和后台用户管理模块。前台用户浏览模块主要用于用户浏览日志信息;后台用户管理模块主要用于博客管理员对个人博客网站的管理,如日志管理、留言管理及评论管理等。前台用户浏览模块主要用于用户浏览日志信息,用户浏览日志有三种浏览方式可以选择:一是直接点击日志标题链接进入日志显示页面浏览日志;二是点击博客主题链接进入该个人博客的首页,然后在该首页中选择所需的日志标题链接进入日志显示页面浏览日志;三是通过首页提供的搜索功能,搜索所需要的日志,然后在结果列表中选择所需的日志标题链接进入日志显示页面浏览日志。用户进入后台管理平台,首先必需进行权限验证,防止未授权的用户非法登录。若未通过验证,则显示出错提示,并跳转到登录界面。若通过验证,则进入个人博客后台管理平台。用户可以浏览已发表的日志,并对其进行相应的操作如修改日志和删除日志;可以查看日志的评论信息并对其进行回复或者删除操作;可以发表新的日志;还可以对个人信息进行修改...博客系统平台的前台用户浏览模块流程图如图3.3所示。图2.3前台用户浏览模块流程图博客系统平台的后台用户管理模块流程图如图3.4所示。图2.4后台用户管理模块流程图2.4功能模块划分前台模块功能结构如图2.5所示。图2.5博客信息系统前台功能结构图后台模块功能结构如图2.6所示。图2.6博客信息系统后台功能结构图2.5功能模块设计2.5.1博客注册登录管理模块博客注册登录管理模块用于建立博客网站固定的客户群体,通过记录对应的博客档案,实现对博客信息的后台维护及管理,同时也便于通过博客档案库将网站最新动态及相关企业的信息方便地传达给每一位潜在的客户。该功能模块实现了以下几个子功能。a新博客在线注册。b博客登录管理。c跳转到博客主页。2.5.2博客及文章检索查询模块博客及文章检索查询模块为网络用户提供便捷的搜索,以及日志阅读浏览等功能,同时对日志的评论信息、博客推荐也能够及时反馈给网络用户。该功能模块实现了以下几个子功能。a热门博客页面推荐。b最新博客日志推荐。c日志信息关键字搜索。2.5.3博客页面显示模块当网络用户进入某个人博客主页后,在该页面中将提供博客日志列表的显示,同时为了方便用户浏览,在该模块中提供根据分类名进行日志列表的显示,也提供日志评论的浏览,此外还允许用户在博客页面中发表评论及留言。该功能模块实现了如下几个子功能。a用户可以分页查看对应的日志内容及评论信息。b用户可以针对日志内容发表评论。c用户可以针对博客进行留言。d用户可以分类查看日志内容。2.5.4博客个人管理维护模块博客个人维护管理模块用于实现用户对博客个人主页及相关信息的动态管理。该功能模块实现了如下几个子功能:a日志及日志分类管理。b评论及留言管理。c个人基本信息维护管理。系统实现3.系统主要功能模块详述3.1登录模块当用户需发表新日志或者是对博客进行管理时,就必须先进行登录验证操作,然后进入博客系统后台。用户登录界面图如图5.3所示。3.2日志管理模块日志管理显示模块列出了日志编号、日志标题以及相应的操作:编辑日志和删除日志。根据选择的分类显示当前分类下的日志列表。当然,对日志进行操作的前提条件是当前登录用户具备相应的管理权限。日志显示界面图如图3.2所示。图3.1用户登录界面图图3.2日志显示界面图当用户需要添加新的日志时,可单击日志管理显示界面中的添加日志链接,进入添加新日志的界面。在日志标题、内容输入域内输入相应的文字,以及选择分类后,单击“确定”按钮进行表单提交,完成添加新日志的操作[14]。3.3撰写日志模块撰写日志界面图如图5.5所示。3.4删除日志模块如果需要删除已发表的日志,可单击日志管理显示界面中的删除日志链接,将弹出删除日志确认对话框图如图3.3所示。图3.3撰写日志界面图图3.4删除日志确认对话框图再次确认用户是否真的要进行该日志的删除操作,而不是误操作。点击确定按钮完成日志删除操作,点击取消按钮取消该删除操作。完成日志删除操作的核心代码如下:try{conn=DB.getConnetion(;//禁止自动提交,设置回滚点conn.setAutoCommit(false;stmt=conn.createStatement(;//删除该日志的所有评论stmt.prepareStatement(“deletefromfeedbackwherearticleid=?”;stmt.setInt(1,articleid;stmt.executeUpdate(;//删除该日志stmt.prepareStatement(“deletefromarticlewherearticleid=?”;stmt.setInt(1,articleid;stmt.executeUpdate(;conn.commit(;//事务提交}catch(Exceptionex{ex.printStackTrace(;try{conn.rollback(;//操作不成功则回滚}catrch(Exceptione{e.printStackTrace(;}}finally{try{stmt.close(;conn.close(;}catch(Exceptione{e.printStackTrace(;}}3.5修改帐户模块修改帐户界面图如图3.5所示图3.5修改帐户界面图博客用户可以依照自己的需求在帐户修改信息这个模块对自己的帐号、博客名称等进行修改。3.6修改密码模块修改密码界面图如图3.6所示图3.6修改密码界面图在此模块博客用户可以根据自己的需要对旧的密码进行修改,从而设置新的密码。结论作为一个完整的博客系统,本系统的主要结构有:阅读博客,后台管理,系统管理。其中,后台包括随笔管理,文章管理,评论管理,链接管理,图片管理,密码管理。系统管理包括帐户管理和密码管理。从而使得博客用户能够更好地展现自我和互相交流。在详细设计和编码中,运用JSP最基本的开发技术,代码简单易懂,系统里间跳转比较清晰。完成了普通用户和系统管理员两者的功能分离,而且各自的功能操作都能得到正确数据并存入数据库中保存。另外系统利用MVC模式极大地提高了系统的灵活性、复用性、开发效率、适应性和可维护性。系统的开发以及论文的研究由于时间的关系,有一些地方做的还不是很完美。对MVC设计模式的研究时间不长,所以在写代码的时候还没有做到真正的得心应手,是在查询一些帮助文档的情况下才完成的。但是,通过这次设计我意识到将旧知识和新知识结合的必要性,学会了如何思考和解决问题的方法。在今后的学习和工作当中,我会再接再厉,做出更好的软件系统。