基于J2EE的博客系统的设计与实现毕业设计.docx
- 文档编号:1123578
- 上传时间:2022-10-17
- 格式:DOCX
- 页数:35
- 大小:514.40KB
基于J2EE的博客系统的设计与实现毕业设计.docx
《基于J2EE的博客系统的设计与实现毕业设计.docx》由会员分享,可在线阅读,更多相关《基于J2EE的博客系统的设计与实现毕业设计.docx(35页珍藏版)》请在冰豆网上搜索。
基于J2EE的博客系统的设计与实现毕业设计
基于J2EE的博客系统的设计与实现毕业设计
前言
随着互联网技术的高速发展和日益的普及,互联网用户迅速增加,用户对互联网的寄托也发生了翻天覆地的变化,用户不甘于只单单的被动的接受互联网提供的内容,更希望能够加入到内容制造的大家庭中,这时传统的Web应用已经显得力不从心,而Web2.0的出现,极大的改变了这一局面。
所谓Web2.0其核心就是用户不只是内容的被动浏览者,同时也是内容的制造者。
正是因为整个互联网产品设计理念的重大变化,具有代表性的Web2.0时代的互联网产品也就相继出现,如:
论坛,博客、威客,社区、RSS和SNS等。
博客也称为网络日志,是blog的谐音,由很多经常更新的帖子(也叫日志或者个人文章)顺序倒序排列,最新的帖子在最上面,这些帖子的内容不一定要长篇大论,具体内容格式也没有任何要求,它以个人纯粹的个人想法和心得,包括你对时事新闻、国家大事的个人看法,或者一日三餐、服饰打扮的精心料理等,也可以是在基于某一主题的情况下或者是在某一共同领域内由一群人集体创作的内容。
类似于传统的“网络日志”,但又不同于传统的“网络日志“,传统的”网络日志“是带有显示的私人性质的,而博客则是私人性和公共性的有效结合,绝不仅仅是纯粹个人思想的表达和日常琐事的记录,它所提供的内容可以用来进行交流和为他人提供帮助,是可以包容事个互联网的,具有极高的共享精神和价值。
博客还有个最大的特点是可以图文并茂的描述一件事,在文字、图片和视频等的共同描述下,使得内容更加生动形象。
博客由2000年悄然进入中国,随后得到迅速发展,但业绩平平,直到2004年由于某一事件,才让民众了解博客,并运用博客。
2005年,财大气粗的原本不看好博客的几大门户,也加入到博客的春秋战国时代,开始了你死我活的拼杀。
Web2.0和传统Web1.0应用相比,有一个非常显著的特点,即:
实时性和较高的交互性,正是因为这一实时性和较高的交互性,传统的互联网开发技术也面临的严峻的挑战。
在传统的应用中,内容一旦发布,基本不会更新,为了减少服务器的的负载,一般会将内容归档成静态文件(后缀为.html的文件)存在磁盘中,并根据内容在数据库中的唯一标识号生成一个唯一的url地址。
当用户需要查看这些内容时,直接通过所生成的唯一的URL地址,经过服务器就直接能访问到这些内容,服务器基本不需要花费时间来生成这些内容,这对于服务器软硬件资源是一个很大的节省。
而新形势下(Web2.0)的应用,由于它的实时性和较高的交互性,就注定了不能完全采用生成静态文件方式来解决这一问题,页面可能会实时更新,从而需要实时的请求数据库,将所请求的内容展现在用户面前。
由于数据的动态生成。
无疑会添加服务器的处理能力,在服务器端并发性一定的情况下,由于请求的用户过多,而服务器又一时处理不过来,所请求的用户必然会经历一个排队的过程,从而使得系统的整体响应时候大幅度添加,这样的用户体验也就不言而喻了。
以上这些都是做一个Web2.0应用所必考虑的问题。
第1章技术背景
本章将从系统的技术方案及与此相关的开发工具进行说明
1.1方案分析
由于博客提供了信息的实时发布,动态展示,信息状态的跟踪,以及博客和浏览者、博客和博客之间互动等这些高交互行为,就注定了对技术的要求会比较苛刻,必需选择一种技术架构成熟,稳定性好,执行效率高、经济实惠的解决方案。
纵观各种解决方案,最终选择JAVA作为博客系统的技术路线。
本系统以JAVA为技术路线,结合以JavaEE为基础的综合开发平台MyEclipse,开源数据库MySQL和开源服务器Tomcat,技术框架主要采用当今流行的Struts2和Hibernate。
它们都是各自独立的程序,但是因为长期的放在一起使用,拥有越来越高的兼容性,共同组建了一个强大的Web应用开发平台。
其中MySQL,Tomcat,Struts2和Hibernate均为开源免费的软件,由于他们的开源,标志着任何人都可以无偿的免费使用它们,也意味着越来越多的开发者加入到其中,无偿的奉献他们的智慧,使得软件的效率和性能得到很大程度的提高。
因此,JavaEE是当今比较强大的互联网解决方案。
1.2开发工具
本系统以JavaEE为解决方案,JavaEE不只是稳定性好,效率高和开源免费,它还有一个更重要的特点,那就是运行平台无关性。
它除了能运行在Windows操作系统上外,还能运行在Linux,苹果等操作系统上,真正做到一处开发,多处运行。
综合各方面因素,最终决定在Windows操作系统上进行开发。
本系统采用现今流行的MVC设计模式,从而使整个系统的架构更加清晰。
为了提高客户端的用户体验,系统中还会借助客户端技术JavaScript脚本语言等相关技术。
以下为各自的介绍。
1.2.1JSP简介
JSP(JavaServerPages)[1]是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
总的来说,它具有以下几个方面的优点:
1.一次编写,到处运行。
在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改[4]。
2.系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比ASP/PHP的局限性是显而易见的[4]。
3.强大的可伸缩性。
从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力[4]。
4.多样化和功能强大的开发工具支持。
这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下[4]。
1.2.2MySQL简介
MySQL是基于SQL的,完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统[2]。
它具有体积小,功能强,使用简便,管理方便,运行速度快,安全可靠性高,尤其是开源这一特点,所以很多企业为了降低网站总体拥有成本而选择了MySQL作为网络数据库。
更重要的是提供了用于C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl的API,从而可以很容易的将其加入到各种应用中[6]。
1.2.3Tomcat简介
Tomcat是Apache软件基金会(ApacheSoftwareFoundation)[3]的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范。
因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
1.2.4MyEclipse简介
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。
1.2.5MVC简介
MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。
使用MVC应用程序被分成三个核心部件:
模型、视图、控制器。
它们各自处理自己的任务。
优点如下:
1.低耦合性
视图层和业务层分离:
这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。
因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。
2.高重用性和可适用性
随着技术的不断进步,现在需要用越来越多的方式来访问应用程序。
MVC模式允许你使用各种不同样式的视图来访问同一个服务器端的代码。
它包括任何WEB(HTTP)浏览器或者无线浏览器(wap),比如,用户可以通过电脑也可通过手机来订购某样产品,虽然订购的方式不一样,但处理订购产品的方式是一样的。
由于模型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。
例如,很多数据可能用HTML来表示,但是也有可能用WAP来表示,而这些表示所需要的仅令是改变视图层的实现方式,而控制层和模型层无需做任何改变。
3.较低的生命周期
MVC使降低开发和维护用户接口的技术含量成为可能。
4.快速的部署
使用MVC模式[3]使开发时间得到相当大的缩减,它使程序员集中精力于业务逻辑,界面程序员(HTML开发人员)集中精力于表现形式上。
5.可维护性
分熟视图层和业务逻辑层也使得WEB应用更易于维护和修改。
6.有利于软件工程化管理
由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。
图1-1MVC模型
1.2.6Struts2简介
虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts1而言。
Struts2与Struts1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:
WebWork[5]基础上发展起来的。
从某种程度上来讲,Struts2没有继承Struts1的血统,而是继承WebWork的血统。
或者说,WebWork衍生出了Struts2,而不是Struts1衍生了Struts2。
因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:
而且吸收了Struts1和WebWork两者的优势,因此,是一个非常值得期待的框架。
ApacheStruts2是一个优雅的,可扩展的JAVAEEweb框架。
框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。
ApacheStruts2即是之前大家所熟知的WebWork2。
在经历了几年的各自发展后,WebWork和Struts社区决定合二为一,也即是Struts2。
图1-2Struts2模型
1.2.7Hibernate简介
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Hibernate的核心接口一共有5个,分别为:
Session、SessionFactory、Transaction、Query和Configuration[5]。
这5个核心接口在任何开发中都会用到。
通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。
第2章需求分析
本章主要从多用户博客系统的各功能需求、性能、运行环境几个方面进行描述。
2.1功能分析
本节主要对本系统的具体需求进
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 J2EE 博客 系统 设计 实现 毕业设计