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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(基于JSP+Servlet+DAO的个人博客系统的设计与实现含源文件Word文档格式.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于JSP+Servlet+DAO的个人博客系统的设计与实现含源文件Word文档格式.docx

1、4.2. Ajax读取txt格式数据 94.3. 部分效果预览图 10第五章 数据库设计 165.1. 定义数据词典 165.2. 主要表结构如下 16第六章 参考文献 17第七章 附录 17第一章 个人博客系统问题提出1.1. 个人博客系统开发的背景博客,又译为网络日志、部落格或部落阁等,是一种通常由个人管理、不定期张贴新的文章的网站。博客上的文章通常根据张贴时间,以倒序方式由新到旧排列。许多博客专注在特定的课题上提供评论或新闻,其他则被作为比较个人的日记。一个典型的博客结合了文字、图像、其他博客或网站的链接及其它与主题相关的媒体,能够让读者以互动的方式留下意见,是许多博客的重要要素。大部分

2、的博客内容以文字为主,仍有一些博客专注在艺术、摄影、视频、音乐、播客等各种主题。博客是社会媒体网络的一部分。比较著名的有新浪、网易、搜狐等博客。在web 2.0应用中,博客(Blog)是web 2.0核心应用中最典型、最流行的代表之一,也是web 2.0技术应用的最直观的表现,是web 2.0精神和理念的具体体现。开发个人博客系统有助于博客管理员注册,修改,删除个人博客,有利于个人发表日志,分享照片,浏览其他博客的信息等,让博客成为人们交流的工具,增加人们的交流,放松心情,有助于人们的身心健康发展。1.2. 问题的提出博客的功能是记载博客的日常事务和兴趣爱好,个人通过博客将自己的思想知识与其他

3、博客分享,交流,人们通过博客结识了许多兴趣爱好相同的朋友,随着博客的发展,博客展现出博客特有的价值,通过博客可以了解彼此的信息和需求,让企业发现了博客的价值,进而引发了专业博客的出现。专业博客的出现,使我们认识到博客蕴涵巨大的信息价值,不同的 Blog 选择不同的内容,收集和整理成为很多人关注的专业 Blog 目前越来越多的人获取信息的来源是一些固定的 Blog 。随着博客人数的增加, Blog 作为一种新的生活方式、新的工作方式、新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构:网络信息不再是虚假不可验证的,交流和沟通更有明确的选择和方向性,单一的思想和群体的智慧结合变的

4、更加有效,个人出版变成人人都可以实现的梦想Blog正在影响和改变着我们的生活。1.3. 系统的开发目标管理员通过前台界面进入管理模块,对注册的博客用户进行维护包括添加注册用户,查找注册用户,修改注册用户和删除注册用户。管理员进入登录后,可对帐户进行管理包括添加管理员帐户、修改管理员帐户、删除管理员帐户和对帐户进行权限设置。博客用户通过前台登录后,可对自己的博客空间进行管理包括发布自己的网络日志、收藏个人图片和相关人员进行交流和沟通以及删除访问者发表的评论等。因此,在具体设计实现该博客网站时,主要考虑了主流博客网站的几个主要功能:(1)博客的注册、登录验证功能(2) 网络用户通过关键字搜索博文功

5、能(3) 最热门博客页面推荐浏览(4) 文章详细内容及相关评论显示(5) 博客页面访问量统计(6) 博客个人文章管理维护功能(7) 博客个人文章分类管理维护功能(8) 博客个人友情链接维护功能(9) 博客个人基本信息管理维护功能(10) 博客图片上传及个人相册管理(11) 网络用户写留言,博主查看留言。第二章 可行性需求分析2.1. 技术可行性技术上的可行性分析要考虑将来要采用的硬件和软件技术能否满足用户(这里是服务器,网速)提出的要求(如计算机的容量、速度等)。此外,还要考虑开发人员的水平,学习了两年的jsp开发,对于这个系统的编写,我想完整的之需要两个月就可以写出程序,再花上几天的调试,计

6、划两个月左右就可以完成投入使用了。我们掌握了数据库及其应用技术、数据库原理、计算机网络技术等课程,对数据库的设计、应用、维护及局域网的组成有了深刻的认识与一定的动手实践能力,考取了信息处理、程序设计、数据库技术等国家IT认证。从一定程度上具备了开发一个小型系统的能力。2.2. 经济可行性主要从对项目的经济上进行分析评价,一方面是支出的费用,包括设备购置费、管理和维护费用、人员工资和培训费等,另一个是取得的收益。这是个小型的系统,从投入的人力,财力与物力来讲是非常小的,发布出去之需要注册域名就可以了,从节省人力方面,可以让管理人员从繁与复杂的工作中解脱出来,做更多的工作。2.3. 管理可行性有I

7、P地址、用户名与密码等,可以下载一个FTP上传工具(cure)上传更新后的内容.可以在 下载以后,通过站点管理-新建站点.输入IP,用户名,密码.然后连接即可. 当然也可用FTP工具.直接在IE浏览器地址栏输入ftp:/www.域名/然后输入用户名和密码.同样可以上传.随时更新文件!2.4. 需求分析Blog网站主要是实现注册用户登录、管理相关信息、博文及相关评论、查看留言、友情链接、及图片的上传和图像的播放而为上网用户提供按博文主题搜索,查看注册用户的博文及提出相关评论,并为注册用户写留言,游览注册用户的相册、注册等功能的系统。下面就以两种不同的用户来分析博客网站的需求。2.4.1 注册博友

8、首先必须在博客首页中登录填写用户名和密码,这样才能执行一些相关操作,不然就是普通用户只能查看一些信息,而不能发表博文。可以在管理页面上添加博文的分类,可以上传图片和游览自己的相册,在上传过程中可以将一张图片定义为自己的签名,在个人管理页面中注册用户还可以修改自己的个人信息。博文管理,友情链接管理及博文分类管理,用例图1图1 博客管理页面的用例图在博客主界面中发表博文时可以选择博文类型,这样可以更好管理自己的博文。并查看和删除网友对自己的博文的一些评论、查看和删除网友留下的一些留言,提供与其他网友交流的空间。更好交流,在信息时代人们通过个人空间沟通也用来但不能在自己的博客主页面中提交评论和留言。

9、这样在本系统中就可以为博友提供更多的个人色彩。在管理页面中添加和删除友情连接。这样博友可以在自己空间中快速定位自己的关心的网站。这样还可以让网友看到自己的一些信息。友情链接及网页访问量统计显示:在博客的个人页面中还提供了推荐给普通网络用户的相关友情链接,此外,对个人页面的访问量也在随时进行统计,并在个人页面中进行直观的显示,博客主页面的用例图如图2示:图2 博客主页面的用例图图3 博客首页的用例图第三章 系统设计3.1. 系统分析在整个blog进行开发之前,要确定出整个项目的整体架构,包括系统的选型、运行环境的确定及系统结构设计。下面对这进行详细介绍。在进行软件系统开发的最初环节,一般都需要进

10、行系统的选型,即根据系统功能的实际需求,选择合适的开发工具及软件架构。blog对系统的可靠性、稳定性有比较高的要求。本系统设计时,比较主流的B/S设计有基于JSP、ASP、PHP、CGI及J2EE等模式。相比较而言PHP的功能相对简单,不适合做大程序;而CGI效率相对较低,所以也不考虑。由于J2EE的开源的框架中提供了MVC模式实现框架Struts、对象关系模型中的Hibernate 的框架及拥有事务管理和依赖注入的Spring。利用现存框架可以更快开发系统。所以选择Java技术作为blog 的开发工具。为了增加系统的吞吐量,提高并发处理客户请求数量,系统采用了IBM服务器作为主机。在数据库处

11、理方面,不需要在数据层借助存储过程及数据库服务器端函数封装过多的业务逻辑,因此数据库系统采用相对精巧的MySQL6。该在线博客系统服务器端如果需要布置到其他主机上,则该主机必备条件如下:1. 服务器端操作系统:独立于操作系统的跨平台系统,客户端MicroSoft Windows 2000及以上;2. 数据库:MySQL 5.0.27版本;3. Web服务器:Tomcat 5.5及以上版本,配合MVC设计模式及 Hibernate开发架构;4. 客户端运行环境:能运行IE 5以上或Netscape 5以上浏览器的操作系统,配合使用Ajax技术;5. 客户端运行工具:目前的系统采用浏览器作为客户端

12、,为了支持Ajax开发框架,应该选择使用IE 5以上版本浏览器。本网站以xp为Web平台,JSP+Ajax+Servlet+JavaBean+Hibernate为网站实现技术,建立基于MySQL数据库系统的核心动态网页,实现博客网站前台及博客个人维护管理等功能模块。1、系统处理的准确性和及时性:系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足信息处理的需求。2、系统的开放性和系统的可扩充性:系统在开发过程中,应该充分考虑以后的可扩充性。例如数据表中用户选择字段方式的改变,用户查询的需求也会不断的更新和

13、完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。3、系统的易用性和易维护性:要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。4、系统的数据要求:a) 数据录入和处理的准确性和实时性。b) 数据的一致性与完整性。c) 数据的共享与独立性。3.2. 功能模块简介3.2.1 博客注册登录管理模块博客注册登录管理模块

14、用于建立博客网站固定的客户群体,通过记录对应的博客档案,实现对博客信息的后台维护及管理,同时也便于通过博客档案库将网站最新动态及相关企业的信息方便地传达给每一位潜在的客户。该功能模块实现了以下几个子功能。(1)新博客在线注册。(2)博客登录管理。(3)跳转到博客主页。只有进行登录并通过身份验证的用户,才可以在个人博客页面发表日志,并借助个人设置实现对个人博客相关信息的管理维护。对于没有经过身份验证的网络用户不允许在博客页面中发表日志,更不允许对博客页面信息进行管理维护。该模块实现新博客的注册及登录验证功能。其中,注册新博客时会对用户输入的注册信息进行有效性验证,包括基本数据格式的有效性以及逻辑

15、有效性,例如,用户名被占用时将及时给出提示。注册成功的博客登录时,会随时根据博客输入的登录信息进行提示,如用户名错误或者密码错误。3.2.2 博客个人维护管理模块博客个人维护管理模块用于实现用户对博客个人主页及相关信息的动态管理。该功能模块实现了如下几个子功能:(1)日志及日志分类管理。(2)评论及留言管理。(3)个人基本信息维护管理。借助该模块,用户可以随时对个人博客主页中的内容进行增加或修改,包括日志分类信息的更新、评论及留言管理等功能,也允许用户对博客的个人信息进行维护及其管理。3.3. 系统架构3.3.1 系统架构说明本系统采用严格的J2 EE 应用结构,主要有如下几个分层。1. 表现

16、层:由JSP 页面组成。2. MVC 层:使用Struts框架。3. 业务逻辑层:主要由Spring loC容器管理的业务逻辑组件组成。4. DAO 层:由7 个DAO 组件组成,实现类必须继承Spring提供的HibernateDaoSupport。5. Hibernate 持久层:由7 个PO 组成,并在Hibernate Session 管理下,完成数据库访问。6. 数据库服务层:使用MySQL 数据库存储持久化数据。系统的具体分层如图3所示。图4 系统结构图在图4黑色大方框内的MVC 控制层、Service 层及DAO 组件层的组件,都由Spring IOC容器负责生成,并管理组件的实

17、例(实例必须是单身模式的,本系统中的bean基本上是单身的)。本系统不仅严格按MVC 模式设计,还按J2 EE 分层设计,将中间层严格分成业务逻辑层、DAO 层及数据持久层等。MVC 层的控制器绝对禁止持久层访问,甚至不参与业务逻辑的实现。表现层采用传统JSP 技术。本系统采用的是典型的J2EE 三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。Jsp广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。中间层采用的是流行的Spring+Hi

18、bernate,为了将控制层与业务逻辑层分离,又细分为以下几种。Web 层,就是MVC 模式里面的C,负责逻辑层和表现层的交互。调用业务逻辑层,并将业务数据返回给表现层作组织表现,该系统的MVC采用Struts框架。Service 层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DAO 层为基础,通过对DAO 组件的正面模式包装,完成系统所要求的业务逻辑。DAO 层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。PO ,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库,该系统采用Hibernate 作为ORM 框架。Spri

19、ng 的作用贯穿了整个中间层,将Web 层、Service 层、DAO 层及PO 无缝整合,其数据服务层用来存放数据。通过使用Hibernate 持久层,可以避免使用传统的JDBC 操作数据库,对JDBC近一步包装,从而更好地使用面向对象的方式来操作数据库。保证了整个软件开发过程以面向对象的方式进行,即面向对象分析、设计及编程,透过Hibernte对PO对象持久化操作,不管插入还是查询都是通过PO。3.3.2 实现DAO 层DAO 还有助于提升系统的可移植性。独立的DAO 层使得系统能在不同的数据库之间轻易切换,底层的数据库实现对于业务逻辑组件是透明的。数据库移植时仅仅影响DAO 层,不同数据

20、库的切换不会影响业务逻辑组件,因此提高了系统的可复用性。对于不同的持久层技术, Spring 的DAO 提供一个DAO 模板,将通用的操作放在模板里完成,而对于特定的操作,则通过回调接口完成。Spring 为Hibernate 提供的DAO 支持类是: HibernateDaoSupport。3.3.3 DAO组件的定义DAO 组件提供了各持久化对象的基本的CRUD 操作。而在DAO 接口里则对DAO组件包含的各种CRUD 方法提供了声明,但有一些IDE 工具也可以生成基本的CRUD方法。使用DAO 接口的原因是:避免业务逻辑组件与特定的DAO组件藕合。由于DAO 组件中的方法不是开始就设计出

21、来的,其中的很多方法可能会随着业务逻辑的需求而增加,但以下几个方法是通用的。 get: 根据主键加载持久化实例。 saveor update: 保存或更新持久化实例。 remove: 删除持久化实例。上面涉及了7个PO,这样我们必须设计7个对应的PODao 7个Dao必须继承BaseDao这个BaseDao有对接口的一些基本的CURD操作。7个Dao 如下。LinksDao,BlogDao、FeedBackDao、ArticleDao、MessageDao、SortDao、PictureDao。这7个Dao 分别封装对自己的持久化对象的一些操作。3.3.4 部署DAO 层HibernateDa

22、oSupport类只需要一个SessionFactory属性,即可完成数据库访问。SessionFactroy创建Session,而数据库的CRUD操作都是有Session 完成,并将查询结果保存在一级缓存中,每次用户提交一次会话,可能需要Session完成一些数据库的操作而实际的数据库访问由模板类HibernateTemplate完成,该模板类提供了大量便捷的方法,简化了数据库的访问。第四章 主要功能代码编写if(this.session().getAttribute(rand)!=null)/检验随机数是否为空if(this.checkCode.equals(this.session().

23、getAttribute().toString()/比较随机数 uservo=userbo.queryUserByINfo(uservo);/检验用户信息并将信息返回 if(uservo!=null)/看用户是否存在 this.setUserpurview(uservo.getPurviewId();/设置用户权限 this.session().setAttribute(user, uservo);/将用户信息放在session中 return SUCCESS;/返回用户主界面页面 else return ERROR;返回到失败页面elsereturn ERROR; else return E

24、RROR; 4.2. Ajax读取txt格式数据function ajax_function(var1,var2) varxmlHttp = null; /创建xmlhttprequesttry / Firefox, Opera 8.0+, Safari 对不同浏览器常见不同对象xmlHttp=new XMLHttpRequest(); catch (e) / Internet Explorer xmlHttp=new ActiveXObject(Msxml2.XMLHTTP);Microsoft.XMLHTTPalert(Your browser does not support AJAX!

25、return false;xmlHttp.onreadystatechange=function() if(xmlHttp.readyState = 4 &xmlHttp.status = 200) varsomeDiv = document.getElementById(someDivsomeDiv.innerHTML=xmlHttp.responseText;xmlHttp.open(GET,www/index.jsp?param1=+var1+m2=+var2,true);xmlHttp.send(null);4.3. 部分效果预览图图4-1前台界面管理登录图4-2管理员登陆界面图4-3

26、 管理员操作界面图4-4 添加管理员图4-5 删除管理员账户图 4-6 图片管理图 4-7 链接管理图 4-8 博文管理图4-9 博客管理系统首页图4-10 查看留言图4-11 发博文第五章 数据库设计5.1. 定义数据词典1、数据库表名的定义使用:重点字_table;重点字可以是多个英文单词的组合,从组合的第二单词起首字母大写,字段命名是能表达字段内容的英文单词的组合,组合方式同表名重点字相同。2、NN表示not null 不填表可为空。3、数据类型不使用固定数据库的类型,标识大众类型,如字符串、字符、数字等。这样在更改数据库时需求的数据是可移植的4、输写数据表在数据库中的物理名称,可用自己

27、熟悉的语言再定义表名称,方便沟通。5、长度定义又数据类型决定:如字符串可选8000以下,数字可在50位之间,字符只允许一位。6、输入方式表示数据的来源:生成表由程序或数据库的索引自动生成,而不需人工录入;输入表示通过文本框等输入的数据;选择表单选框、复选框、下拉列表等通过选择输入的数据;自定获取是为外码的输入设定的,它由程序自动获取。5.2. 主要表结构如下1.表blogs日志数据表字段名类型说明blogidInt(10)日志的IDtitletext日志标题pubtimeInt(11)日志发表时间authoridInt(8)日志作者的UIDreplies日志的评论数tbs日志的trackbac

28、k数views日志的查看次数categoryInt(3)日志所属的分类的IDcontentmediumtext日志正文内容propertyInt(1)日志的属性0 公开日志1 锁定日志2 隐藏日志3 一般草稿2.表register用户数据表userid登陆时需要用到的用户名username用户昵称userpwd登陆密码regtime注册时间usergroupInt(2)所属的用户组IDemail用户emailqqQq号msn用户msngender用户性别第六章 参考文献1 孙卫琴. 精通Struts:基于MVC 的Java Web 的设计与开发M.北京:电子工业出版社,2004.2 陈天河. Hibernate 项目开发宝典M.北京:电子工业出版社,2006.3 阎宏. Java 与模式M.北京:电子工业出版社,2002.4 罗时飞.精通Spring 2.0M.北京:电子工业出版社,2007.第七章 附录源代码程序:packagecao.visit.fileread;import java.io.*;public class counter extends Object private String currentRec

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2