ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:609.46KB ,
资源ID:11246528      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11246528.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(课程考核.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

课程考核.docx

1、课程考核DONGFANG COLLEGE,FUJIAN AGRICULTURE AND FORESTRY UNIVERSITY课程考核说明书课程名称:网络软件开发系 别:计算机系年级专业:学 号:姓名:成 绩:任课教师:2015年1月10日 目录 1.开发目的与实现原理 12.开发步骤 22.1系统需求分析 22.1.1 用户需求分析 22.2 数据分析 22.3 系统流程 32.4 功能模块划分 52.5功能模块设计 52.5.1博客注册登录管理模块 62.5.2博客页面显示模块 62.5.3博客个人管理维护模块 62.6数据库分析 72.6.1数据库设计E-R图 72.7系统数据表设计 9

2、2.8数据连接 113编写代码 113.1登录模块 113.2日志管理模块 123.3撰写日志模块 123.4查询日志模块 133.5日志编辑模块 133.6日志评论模 143.7相册管理模块 153.8相册上传模块 153.9好友管理模块 163.10个人管理模块174.代码运行结果 184.1登录模块 184.2日志管理模块 194.3撰写日志模块 194.4查询日志模块 204.5日志编辑模块 204.6日志评论模块 214.7相册管理模块 214.8相册上传模块 224.9好友管理模块 224.10个人管理模块 235.开发小结 231.开发目的与实现原理随着Blog人数的增加,Blo

3、g作为一种新的生活方式、新的工作方式和新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构。它使交流和沟通更有明确的选择和方向性;单一的思想和群体的智慧结合变得更加有效;个人出版变成人人都可以实现的梦想。Blog正在影响和改变着我们的生活。本系统采用MVC模式设计实现了一个简单的博客系统。MVC模式极大地提高了系统的灵活性、复用性、开发效率、适应性和可维护性,充分发挥了JSP、Servlet等J2EE组件的特点。从而,使更多的人们通过文字、图片、声音、视频、无线等,尽情展示自我、分享感受、参与交流,美好你我生活。Show you, share me,人人都可以博客,人人都需要博

4、客。使用J2EE技术构建,采用MVC设计模式,降低了各模块的耦合度,使后期的维护和修改更加方便。定义JavaBean来表示数据,使用Servlet来处理请求。填写Bean,将Bean存储到请求,会话或者ServletContext中,再将请求转发给JSP从Bean中读取数据并显示。由于各层独立工作,内部事务的处理过程对用户是不可见的,所以提高了系统的安全性。MVC(Model-View-Controller)应用程序结构被用来分析分布式应用程序的特征。这种抽象结构能有助于将应用程序分割成若干逻辑部件,使程序设计变得更加容易。MVC结构提供了一种按功能对各种对象进行分割的方法,这样就可以将各对象

5、间的耦合程度减至最小。 在MVC结构中,模型(Model)代表应用程序的数据和用于控制访问和修改这些数据的业务规则。通常模型被用来作为对现实世界中一个处理过程的软件近似,当定义一个模型时,可以采用一般的简单的建模技术。 当模型发生改变时,它会通知视图(View),并且为视图提供查询模型相关状态的能力。同时,它也为控制器(Controller)提供访问封装在模型内部的应用程序功能的能力。 一个视图(View)用来组织模型的内容。它从模型那里获得数据并指定这些数据如何表现。当模型变化时,视图负责维持数据表现的一致性,同时将用户要求告知控制器(Controller)。 控制器(Controller)

6、定义了应用程序的行为;它负责对来自视图的用户请求进行解释,并把这些请求映射成相应的行为,这些行为由模型负责实现。2.开发步骤2.1 系统需求分析2.1.1 用户需求分析用例图用来描述系统与参与者之间的相互作用,与用例图相关的几个概念:a)角色:代表了某一事件发生的参与者,用一个小人表示。b)用例:代表系统可以实现的功能,通常一个用例代表一组功能,实质上规定了系统实现功能的范围。c)用例图:当角色和用例发生某种关系时,就可以用一个图将它们关联起来,这就是用例图。博客信息管理系统允许用户有三种身份:博客访问者、博客管理员及系统管理员。博客系统参与者中每种身份操作起来都很方便、快捷。博客访问者无需登

7、陆就可以浏览信息、发表评论或留言;博客管理员注册后再登陆,就可以发布日志、管理个人主页;而博客管理员的基本信息都由系统管理员对其统一管理。博客信息管理系统用例图如图2.1所示。图2.1 博客信息管理系统用例图2.2 数据分析系统的用户主要是博客访问者和博客管理员,下面以博客前台展示系统中的用户查询日志为例进行说明。该过程的数据流程图如图2.2所示。图2.2 用户查询日志的数据流程图 用户查询日志的数据流程:首先,用户点击需要查找的日志类型,然后提交数据,服务器接收到关键字后,根据关键字对日志标题进行查询,处理后将结果以日志标题列表链接的形式显示给该用户,用户点击相应的链接就可以浏览日细容。 2

8、.3 系统流程根据博客信息管理系统的特点,将其分为两大模块:前台用户浏览模块和后台用户管理模块。前台用户浏览模块主要用于用户浏览日志信息;后台用户管理模块主要用于博客管理员对个人博客网站的管理,如日志管理、留言管理及评论管理等。博客系统平台的前台用户浏览模块流程图如图2.3所示。前台用户浏览模块主要用于用户浏览日志信息,用户浏览日志有二种浏览方式可以选择:一是直接点击日志标题链接进入日志显示页面浏览日志;二是点击博客主题链接进入该个人博客的首页,然后在该首页中选择所需的日志标题链接进入日志显示页面浏览日志。浏览日志的同时用户可以查看别人对该日志的评论,然后用户也可以对该日志发表自已的评论。用户

9、进入后台管理平台,首先必需进行权限验证,防止未授权的用户非法登录。若未通过验证,则显示出错提示,并跳转到登录界面。若通过验证,则进入个人博客后台管理平台。用户可以浏览已发表的日志,并对其进行相应的操作如修改日志和删除日志;可以查看日志的评论信息;可以发表新的日志; 还可以对个人信息进行修改。图2.3 前台用户浏览模块流程图博客系统平台的后台用户管理模块流程图如图2.4所示。图2.4 后台用户管理模块流程图2.4 功能模块划分前台模块功能结构如图2.5所示。图2.5 博客信息系统前台功能结构图后台模块功能结构如图2.6所示。图2.6 博客信息系统后台功能结构图 2.5功能模块设计博客信息管理系统

10、为面向网络用户的前台及面向个人博客维护管理的后台,依据博客网站中所要实现的基本功能的设定,将所有功能分解为如下四个主要的功能模块来加以实 现。用户以合法的用户名及密码登录,系统即可按该登录用户的权限分配操作模块。2.5.1博客注册登录管理模块博客注册登录管理模块用于建立博客网站固定的客户群体,通过记录对应的博客档案,实现对博客信息的后台维护及管理。该功能模块实现了以下几个子功能:a)新博客在线注册。b)博客登录管理。c)跳转到博客主页。只有进行登录并通过身份验证的用户,才可以在个人博客页面发表日志,并借助个人设置实现对个人博客相关信息的管理维护。对于没有经过身份验证的网络用户不允许在博客页面中

11、发表日志,更不允许对博客页面信息进行管理维护。该模块实现新博客的注册及登录验证功能。其中,注册新博客时会对用户输入的注册信息进行有效性验证,包括基本数据格式的有效性以及逻辑有效性,例如,用户名被占用时将及时给出提示。注册成功的博客登录时,会随时根据博客输入的登录信息进行提示,如用户名错误或者密码错误。2.5.2博客页面显示模块当网络用户进入某个人博客主页后,在该页面中将提供博客日志列表的显示,同时为了方便用户浏览,在该模块中提供根据分类名进行日志列表的显示,也提供日志评论的浏览,此外还允许用户在博客日志页面中发表评论。该功能模块实现了如下几个子功能。a)用户可以查看对应的日志内容及评论信息。b

12、)用户可以针对日志内容发表评论。c)用户可以查看博主的照片。d)用户可以分类查看日志内容。e)用户可以查看博主的好友。2.5.3博客个人管理维护模块博客个人维护管理模块用于实现用户对博客个人主页及相关信息的动态管理。该功能模块实现了如下几个子功能:a)日志及日志分类管理。b)评论管理。c)个人基本信息维护管理。d)相册管理。e)好友管理。借助该模块,用户可以随时对个人博客主页中的内容进行增加或修改,包括日志分类信息的更新、评论管理等功能,也允许用户对博客的个人信息进行维护及其管理。2.6数据库分析数据库是当前应用软件系统的重要组成部分,如何使基于数据库的应用系统安全、可靠、高效的运行一直是软件

13、开发技术研究的难题。所以本系统的数据库设计基于以下几点来考虑:a)数据库规范化与非规范化的考虑。b)数据查询优化与索引的建立。c)存储过程与视图。2.6.1数据库设计E-R图为了把用户的数据要求清晰明确地表达出来,通常要建立一个概念性的数据模型。概念性数据模型是一种面向问题的数据模型,是按照用户的观点来对数据和信息建模。描述了从用户角度看到的数据,反映了用户的现实环境。最常用的表示概念性数据模型的方法,是实体联系方法(EntityRelationship Approach)。这种方法用ER图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法。用这种方法表示的概念性数据模型又称为ER模型。

14、ER模型中包含“实体”,“联系”和“属性”。博客信息管理系统涉及的实体包括:a)用户:用户ID、用户名称、用户密码、真实姓名、性别、E-mail、QQ号、身份证号、兴趣爱好。 b)日志:日志编号、日志类别编号、日志标题、日志内容、日志发表日期、浏览次数、日志所属用户ID。c)日志类别:日志类别编号、类别名、类别描述。d)评论:评论编号、日志ID、评论用户、评论内容、评论标题。e) 相册: 照片编号、照片地址、照片描述、上传时间、用户ID。f) 好友:用户ID、用户名称、好友ID、好友名称。综合本系统各子模块要实现的功能,通过前面对博客信息系统数据的分析可以得到:用户表、类别表、日志表、日志评论

15、表、留言表的数据库概念模型(E-R图)。用户E-R图如图2.7所示。图2.7 用户E-R图日志E-R图如图2.8所示。图2.8 日志E-R图日志类别E-R图如图2.9所示。图2.9 日志类别E-R图日志评论E-R图如图2.10所示。图2.10 日志评论E-R图相册E-R图如图2.11所示。图2.11 相册E-R图好友E-R图如图2.12所示。图2.12 好友E-R图2.7 系统数据表设计a)用户表,此表主要用于保存用户的基本信息。其结构如图2.13所示。图2.13 用户表列名含义类型长度缺省值允许空id用户编号int4无否username用户名Varchar10无否password用户密码Va

16、rchar10无否name真实姓名Varchar50无否sex性别char5无是QQNumberQQ号Varchar4无否ideNumber身份证号Varchar100无否interest兴趣Varchar50无否eMail电子邮箱Varchar50无否b)日志表,此表主要用于保存日志的基本信息。其结构如图2.14所示。 图2.14 日志表列名含义类型长度缺省值允许空Id日志编号int4无否typeId日志类型编号int4无否title日志标题varchar30无否content日志内容varchar2000无否phTime日志发表时间varchar30无否number日志浏览次数int4无否

17、user_id日志所属用户IDint4无否c)日志评论表,此表主要用于保存日志评论的基本信息。其结构如图2.15所示。图2.15 日志评论表列名含义类型长度缺省值允许空id评论编号int4无否articleId日志编号int10无否reAccount评论用户varchar40无否reTitle评论标题varchar40无否reContent评论内容varchar200无否d)相册表,此表主要用于保存相片的基本信息。其结构如图2.16所示。 图2.16留言表列名含义类型长度缺省值允许空id照片编号int11无否photoAddress照片地址Varchar50无否photoDescription

18、照片描述Varchar50无否photoTime上传时间Varchar50无否user_id用户IDint4无否e)日志类别表,此表用于保存日志类别的基本信息。其结构如图2.17所示。图2.17 类别表列名含义类型长度缺省值允许空Id类别编号Int4无否typeName类别名Varchar40无否description类别描述Varchar200无是 f)好友信息表,此表用于博主的好友信息。其结构如图2.18所示。图2.18 好友表列名含义类型长度缺省值允许空user_id用户IDint4无否user_name用户名称Varchar40无是friend_id好友IDint4无否friend_n

19、ame好友名称Varchar40无是28数据连接目前流行的数据库连接技术主要有:JDBC-ODBC桥、JDBC和数据连接池技术。该系统采用数据连接池技术,使用连接池的优点主要体现在两个方面:对数据库的连接统一进行配置、管理、监控,以及对数据库连接池的参数进行优化调整,同时对应用程序中没有关闭或其他原因造成没有关闭的数据库连接由连接池统一进行管理。便于程序的移植和后端数据库的切换,因为在应用中通过统一的JNDI获得数据库的连接,而具体连接的是哪一台机器上的数据库与程序无关。数据库连接池技术的思想非常简单,将数据库连接作为对象存储在一个Vector对象中,一旦数据库连接建立后,不同的数据库访问请求

20、就可以共享这些连接。这样,通过复用这些已经建立的数据库连接,可以克服上述缺点,极大地节省系统资源和时间。数据库连接池的主要操作如下:a)建立数据库连接池对象(服务器启动)。b)按照事先指定的参数创建初始数量的数据库连接(即:空闲连接数)。c)对于一个数据库访问请求,直接从连接池中得到一个连接。如果数据库连接池对象中没有空闲的连接,且连接数没有达到最大(即:最大活跃连接数),创建一个新的数据库连接。d)存取数据库。e)关闭数据库,释放所有数据库连接(此时的关闭数据库连接,并非真正关闭,而是将其放入空闲队列中。如实际空闲连接数大于初始空闲连接数则释放连接)。f)释放数据库连接池对象(服务器停止、维

21、护期间,释放数据库连接池对象,并释放所有连接)。3编写代码3.1登录模块 public void checkConsumer(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException String username=request.getParameter(username); consumerDao=new ConsumerDao(); ConsumerFormconsumerForm=consumerDao.getConsumerForm(username);

22、if(consumerForm=null) request.setAttribute(information, 您输入的用户名不存在,请重新输入!); else if (!consumerForm.getPassword().equals(request.getParameter(password) request.setAttribute(information, 您输入的登录密码有误,请重新输入!); else request.setAttribute(form, consumerForm); request.getRequestDispatcher(dealwith.jsp).forwa

23、rd(request, response); 说明:用户在表单中输入用户名和密码,点击“登录”按钮提交到ConsumerServlet后通过验证后进入博客主页。3.2日志管理模块3.3撰写日志模块写日志核心代码: public void addArticle(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException ArticleForm articleForm = new ArticleForm(); articleForm.setTypeId(Integer.

24、parseInt(request.getParameter(typeID); articleForm.setTitle(request.getParameter(title); articleForm.setNumber(Integer.parseInt(request.getParameter(number); articleForm.setContent(request.getParameter(content); articleForm.setPhTime(request.getParameter(phtime); articleForm.setUser_id(Integer.parse

25、Int(request.getParameter(user_id); articleDao =new ArticleDao(); PrintWriter out = response.getWriter(); String result = 文章添加失败!; if(articleDao.operationArticle(添加, articleForm) out .print(alert(添加文章成功);window.location.href=article.jsp;); 说明:在标题文本框输入标题名称,在日志类型下拉列表框中选择“文章类型”,在文本域输入文本内容后,点击“提交”按钮提交到Ar

26、ticleServlet完成日志添加。3.4查询日志模块日志显示核心代码: public List queryArticle(Integer typeId,Integer user_id) List list = new ArrayList(); String sql = null; if(typeId = null) sql = select * from tb_article where user_id = +user_id+; else sql = select * from tb_article where typeId = +typeId+ and user_id = +user_id+ order by id d

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1