网站系统设计与实现毕业论文Word文档格式.docx
- 文档编号:18847124
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:31
- 大小:640.07KB
网站系统设计与实现毕业论文Word文档格式.docx
《网站系统设计与实现毕业论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《网站系统设计与实现毕业论文Word文档格式.docx(31页珍藏版)》请在冰豆网上搜索。
博客之所以受到用户的欢迎,首先在于它有无与伦比的“越分享越多”的魅力精髓。
对于博主本人,对于阅读博客的人;
对于自己,对于他人,对于社会;
对于工作,对于生活,“越分享越多”的博客精髓注定了博客的发展势不可挡。
博客可以美化一个人的生活!
而所谓的新媒体革命,所谓的人际交往和知识传播的革命,都是第二层次的。
通过分享,美化每一个人的博客,美化每一个人的生活,自然美化整个社会。
分享可以是沟通,可以是人际关系,可以是文章,可以是音乐和声音,可以是图片和视频,可以是阅读和推荐。
。
“博客网,让你随心所欲”,这个所欲主要就是在超越时空的虚拟世界中,可以随心所欲的地分享你愿意分享的一切。
第一章绪论
1.1系统设计背景
当今时代是飞速发展的信息时代,计算机与信息处理技术日渐成熟。
随着Internet和计算机网络技术的蓬勃发展,Web技术得到了迅猛地发展。
在科学技术高速发展的今天,信息技术已经渗透到社会发展的每一个领域,而计算机技术为工作提供了方便性、高效性、灵活性及安全性,尤其Web技术的高速发展将计算机的应用提升到另一个层次。
对于博客网的运用也越来越广泛,而博客网作为一种信息资源的集散地,正所谓“越分享越多”,它美化了一个人的生活。
因此我们通过拥有了博客网来充分发挥计算机的优越性。
1.2系统设计目标
尽管网上有许多博客网系统,但是功能上还有着欠缺。
对于此问题,有必要设计出一个功能完善的博客网系统,以方便与大家的使用。
本系统的设计主要是借助与java平台开发,使用SQLServer作为后台数据库系统。
系统主要实现了以下功能:
全面展示博客网站的主题思想、通过发表“我的文章”,表达作者的想法和观点,实现与访问者得相互交流、通过上传个人相册,使访问者对建设者有进一步的了解、用户可以查看文章,并可以对文章发表意见、展现最新的博客列表,方便访问者浏览、提供网站统计信息,使访问者了解网站的基本信息、对文章信息进行管理、对相册信息进行管理、可以修改管理员登录信息等。
第二章系统开发工具及相关技术
2.1Java语言简介
Java语言其实最早是诞生于1991年,起初被称为OAK语言,是SUN公司为一些消费性电子产品而设计的一个通用环境。
他们最初的目的只是为了开发一种独立于平台的软件技术,而且在网络出现之前,OAK可以说是默默无闻,甚至差点夭折。
但是,网络的出现改变了OAK的命运。
在Java出现以前,Internet上的信息内容都是一些乏味死板的HTML文档。
这对于那些迷恋于WEB浏览的人们来说简直不可容忍。
他们迫切希望能在WEB中看到一些交互式的内容,开发人员也极希望能够在WEB上创建一类无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。
对于用户的这种要求,传统的编程语言显得无能为力,而SUN的工程师敏锐地察觉到了这一点,从1994年起,他们开始将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本。
当SUN公司1995年正式以Java这个名字推出的时候,几乎所有的WEB开发人员都想到:
噢,这正是我想要的。
于是Java成了一颗耀眼的明星,丑小鸭一下了变成了白天鹅。
Java的开发环境有不同的版本,如sun公司的JavaDevelopmentKit,简称JDK。
后来微软公司推出了支持Java规范的MicrosoftVisualJ++Java开发环境,简称VJ++。
2.2JSP技术
JavaServerPages技术是一个纯Java平台的技术,它主要用来产生动态网页内容。
在传统的网页HTML文件中加入Java程序片段和JSP标记,就构成了JSP网页。
Web服务器接收到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。
JSP是基于JavaServlet以及整个Java体系的Web开发技术,利用这一技术可以建立先进、安全、快速和跨平台的动态网页。
JSP在多个方面加速了动态的Web页面的开发:
程序写一次,到处可以运行。
JSP在设计时,充分考虑到应用平台的无关性。
依赖于Java的可移植性,JSP得到目前许多流行操作平台的支持,可在Apache、NetScape、IIS等服务器上执行。
执行速度快。
JSP页面只需编译一次转化为Java字节代码,其后一直驻留于服务器内存中,加快了对JSP页面的响应速度。
若不考虑JSP页面第一次编译所花的时间,则JSP的响应速度要比ASP快得多。
Java的优势。
JSP技术是用Java语言作为脚本语言的。
跨平台、成熟、健壮、易扩充的Java技术使得开发人员的工作在其他方面也变得容易和简单。
Java语言通过提供防止内存泄漏的方法,在内存管理方面大显身手。
加之,JSP为应用程序提供了更为健壮的意外事件处理机制,充分发挥了Java的优势。
JSP标签可扩充性和跨平台的可重用性。
JSP技术能够使开发者扩展JSP标签得以应用,JSP开发者能定制标签库,大大减少对脚本语言的依赖。
由于定制标签技术,使网页制作者降低了制作网页和向多个网页扩充关键功能的复杂程度。
JSP组件(企业Javabeans,JavaBeans或定制的JSP标签)都是跨平台可重用的。
Javabeans和企业Javabeans组件可以访问传统的数据库,并能以分布式系统模式工作于UNIX和WINDOWS平台。
2.3J2EE技术
2.3.1Struts技术
Struts最早是作为ApacheJakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServerPages、Servlet、标签库以及面向对象的技术水准。
Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。
这个框架之所以叫"
Struts"
,是为了提醒我们记住那些支撑我们房屋,建筑,桥梁,甚至我们踩高跷时候的基础支撑。
这也是一个解释Struts在开发Web应用程序中所扮演的角色的精彩描述。
当建立一个物理建筑时,建筑工程师使用支柱为建筑的每一层提供支持。
同样,软件工程师使用Struts为业务应用的每一层提供支持。
它的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。
我们仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。
如果想混合使用Servlets和JSP的优点来建立可扩展的应用,Struts是一个不错的选择。
早期Smalltalk程序语言便采用了MVC(Model-View-Controller)模式(Patterns)以增加程序代码弹性,MVC模式将程序代码整理切割为三部份,Model部分是业务与应用领域(Businessdomain)相关逻辑、管理状态之对象,Controller部分接收来自View所输入的资料并与Model部分互动,
是业务流程控制(FlowControl)之处,View部分则负责展现资料、接收使用者输入资料。
在Java应用中,JFC/Swing、AWT、JSP皆是可用作View之技术规格,而JavaBean与EnterpriseJavaBean规格则可用于Model程序代码,一旦应用程序以MVC模式加以适当(的)分割,Model部分程序代码可在不同使用者接口外观(的)应用程序中重复使用。
随着JSP与Servlet技术大量应用于以Web为基础(的)应用程序,Java开发人员群体认为应以较佳之模式以提升Web应用程序之可维护性与重复使用性。
早期JSP规格书中曾列举两种可行之JSP应用架构,分别为Model1与Model2。
在Model1架构中,JSP直接处理Web浏览器送来之请求(Request),并辅以JavaBean处理应用相关逻辑。
Model1架构单纯编写比较容易,但在Model1中JSP可能同时肩负View与Controller角色,两类程序代码有可能混杂而不易维护。
而Model2中将Servlet纳入架构中扮演前端Controller角色,将Web浏览器送出之请求集中送至Servlet,Servlet可集中管理使用者登入、权限控制、多国语言转换等前置处理,再视需求转向给对应之JSP处理。
Model2中采用了较佳之MVC模式,但增加了编写复杂度。
Struts是Apache软件基金下Jakarta项目的一部分。
除Struts之外,还有其他成功的开源产品,包括Tomcat,Ant和Velocity。
2000年CraigR.McClanahan先生贡献了他编写的JSPModel2架构之ApplicationFramework原始程序代码给Apache基金会,成为ApacheJakarta计划StrutsFramework前身。
开始的代码基础从2000年5月开始开发,直到2001年6月,1.0版本发布。
有30多个开发者参与进来,并有数千人参与到讨论组中。
Struts代码基础由一个志愿的Commnitter团队来管理。
到2002年,Struts小组共有9个志愿Commnitter。
Struts框架的主要架构设计和开发者是CraigR.McClanahan。
Craig也是Tomcat4的主要架构师,以及JavaWebServicesDeveloperPack的主要架构师和实现者。
他现在是Sun的JavaServerFaces(JSR-127)以及J2EE平台的Web层架构的规范领导。
CraigR.McClanahan先生是JCPExpertGroup成员之一,曾参与JSP规格制定与Tomcat4之编写,因此StrutsFramework广受Java开发人员群体所重视。
Borland自2002年底开始于开发工具JBuilder中支持StrutsFramework。
Struts是Apache基金会Jakarta项目组的一个OpenSource项目,它采用MVC模式,能够很好地帮助java开发者利用J2EE开发Web应用。
和其他的java架构一样,Struts也是面向对象设计,将MVC模式"
分离显示逻辑和业务逻辑"
的能力发挥得淋漓尽致。
Structs框架的核心是一个弹性
的控制层,基于如JavaServlets,JavaBeans,ResourceBundles与XML等标准技术,以及JakartaCommons的一些类库。
Struts由一组相互协作的类(组件)、Servlet以及jsptaglib组成。
基于struts构架的web应用程序基本上符合JSPModel2的设计标准,可以说是一个传统MVC设计模式的一种变化类型。
Struts最早是作为ApacheJakarta项目的组成部分问世运作。
项目的创立者希望通过对该项目的研究,改进和提高JavaServerPages、Servlet、标签库以及面向对象的技术水准。
Struts的目的是为了减少在运用MVC设计模型来开发Web应用的时间。
你仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。
Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。
除此之外,Struts的优点主要集中体现在两个方面:
Taglib和页面导航。
Taglib是Struts的标记库,灵活运用,能大大提高开发效率。
另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。
关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。
通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。
尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。
MVC即Model-View-Controller的缩写,是一种常用的设计模式。
MVC减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。
Struts是MVC的一种实现,它将Servlet和JSP标记(属于J2EE规范)用作实现的一部分。
Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。
服务器启动后,根据web.xml加载ActionServlet读取struts-config.xml文件内容到内存。
以登录为例:
第一次进login.jsp会先实例化Form、把默认值(String默认为空字符串,整形默认为0)赋给表单元素。
输入用户名密码提交表单、提交到action属性的login.do,通过ActionServlet读struts-config.xml文件找到action下的path属性找到.do,通过name属性找form-beans中的form-bean的name属性得到ActionForm的包名类名,先实例化form,把表单的值填充给form,调用form的validate方法验证、ActionErrors返回null表示验证通过,否则失败返回input指定的页面.验证通过会实例化Action,执行Action的excute方法。
Struts对Model,View和Controller都提供了对应的组件。
ActionServlet,这个类是Struts的核心控制器,负责拦截来自用户的请求。
Action,这个类通常由用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。
Model部分
由JavaBean组成,ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionFrom里面的请求参数处理用户的请求。
JavaBean则封装了底层的业务逻辑,包括数据库访问等。
View部分
该部分采用JSP实现。
Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。
对应上图的JSP部分。
Controller组件
Controller组件有两个部分组成——系统核心控制器,业务逻辑控制器。
系统核心控制器,对应上图的ActionServlet。
该控制器由Struts框架提供,继承HttpServlet类,因此可以配置成标注的Servlet。
该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。
业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。
对应Action部分。
2.3.2Spring技术
Spring是一个开源框架,它由RodJohnson创建。
它是为了解决企业应用开发的复杂性而创建的。
Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。
然而,Spring的用途不仅限于服务器端的开发。
从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
◆目的:
解决企业应用开发的复杂性
◆功能:
使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
◆范围:
任何Java应用 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
◆轻量——从大小与开销两方面而言Spring都是轻量的。
完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。
并且Spring所需的处理开销也是微不足道的。
此外,Spring是非侵入式的:
典型地,Spring应用中的对象不依赖于Spring的特定类。
◆控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。
当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。
你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
◆面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。
应用对象只实现它们应该做的——完成业务逻辑——仅此而已。
它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
◆容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。
然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。
◆框架——Spring可以将简单的组件配置、组合成为复杂的应用。
在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。
Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。
所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。
它们也为Spring中的各种模块提供了基础支持。
你可能正在想“Spring不过是另外一个的framework”。
当已经有许多开放源代码(和专有)J2EEframework时,我们为什么还需要SpringFramework?
Spring是独特的,因为若干个原因:
◆它定位的领域是许多其他流行的framework没有的。
Spring关注提供一种方法管理你的业务对象。
◆Spring是全面的和模块化的。
Spring有分层的体系结构,这意味着你能选择使用它孤立的任何部分,它的架构仍然是内在稳定的。
因此从你的学习中,你可得到最大的价值。
例如,你可能选择仅仅使用Spring来简单化JDBC的使用,或用来管理所有的业务对象。
◆它的设计从底部帮助你编写易于测试的代码。
Spring是用于测试驱动工程的理想的framework。
Spring对你的工程来说,它不需要一个以上的framework。
Spring是潜在地一站式解决方案,定位于与典型应用相关的大部分基础结构。
它也涉及到其他framework没有考虑到的内容。
◆方便解耦,简化开发
通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。
有了Spring,用户不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。
◆AOP编程的支持
通过Spring提供的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付。
◆声明式事务的支持
在Spring中,我们可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。
◆方便程序的测试
可以用非容器依赖的编程方式进行几乎所有的测试工作,在Spring里,测试不再是昂贵的操作,而是随手可做的事情。
◆方便集成各种优秀框架
Spring不排斥各种优秀的开源框架,相反,Spring可以降低各种框架的使用难度,Spring提供了对各种优秀框架(如Struts,Hibernate、Hession、Quartz)等的直接支持。
◆降低JavaEEAPI的使用难度
Spring对很多难用的JavaEEAPI(如JDBC,JavaMail,远程调用等)提供了一个薄薄的封装层,通过Spring的简易封装,这些JavaEEAPI的使用难度大为降低。
◆Java源码是经典学习范例
Spring的源码设计精妙、结构清晰、匠心独用,处处体现着大师对Java设计模式灵活运用以及对Java技术的高深造诣。
Spring框架源码无疑是Java技术的最佳实践范例。
如果想在短时间内迅速提高自己的Java技术水平和应用开发水平,学习和研究Spring源码将会使你收到意想不到的效果。
在我们进入细节以前,让我们看一下Spring可以给一个工程带来的一些好处:
◆Spring能有效地组织你的中间层对象,无论你是否选择使用了EJB。
如果你仅仅使用了Struts或其他的包
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网站 系统 设计 实现 毕业论文
![提示](https://static.bdocx.com/images/bang_tan.gif)