完整版基于Java的web网上书城毕业设计论文.docx

上传人:b****3 文档编号:2014733 上传时间:2022-10-26 格式:DOCX 页数:16 大小:104.91KB
下载 相关 举报
完整版基于Java的web网上书城毕业设计论文.docx_第1页
第1页 / 共16页
完整版基于Java的web网上书城毕业设计论文.docx_第2页
第2页 / 共16页
完整版基于Java的web网上书城毕业设计论文.docx_第3页
第3页 / 共16页
完整版基于Java的web网上书城毕业设计论文.docx_第4页
第4页 / 共16页
完整版基于Java的web网上书城毕业设计论文.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

完整版基于Java的web网上书城毕业设计论文.docx

《完整版基于Java的web网上书城毕业设计论文.docx》由会员分享,可在线阅读,更多相关《完整版基于Java的web网上书城毕业设计论文.docx(16页珍藏版)》请在冰豆网上搜索。

完整版基于Java的web网上书城毕业设计论文.docx

完整版基于Java的web网上书城毕业设计论文

摘要

JAVA语言是目前Internet上大型的WEB应用程序开发时使用得最热门的编程语言,本文描述了JAVA和JSP技术的特点以及在互联网上的使用情况,介绍这两种技术的重要编程方法和两者之关的联系,同时也会应用相关的Struts框架,并完成一个基于这种技术的网上书店系统。

关键字:

JAVA,Struts,Servlet,JSP,网络编程,电子商务,网上书店

 

第一章JAVA的网络功能与编程

1-1  JAVA语言简介

Java是一种简单易用、完全面向对象、具有平台无关性且安全可靠的主要面向Internet的开发工具。

自从1995年正式问世以来,Java的快速发展已经让整个Web世界发生了翻天覆地的变化。

在早期,Java比较多的用在浏览器上,插入到网页中(即是JavaApplet程序),成为最灵活、最强大的网页多媒体的载体,但由于Java虚拟机相对于个人电脑而言,有占用资源大,安全性相对较差等缺点,Applet逐渐的被后起之秀Flash所替代,但随着JavaServlet的推出,Java在电子商务方面开始崭露头角,最新的JSP(JavaServerPage)技术的推出,更是让Java成为基于Web的应用程序的首选开发工具,目前的Java技术已成为所有大型电子商务项目的必然选择。

1-2JAVA语言在网络上的应用

Java程序可以获取网络上结点的图象、声音、HTML文档及文本等资源,并可以对获得的资源进行处理。

例如Java程序可以每隔一定时间读取某结点提供的最新数据,并以图表的形式显示出来。

在编程处理上,一般先生成一个URL类型的对象,然后用Java中相应的方法(method)获取该对象所代表的资源。

1-3JSP的基础——Servlet技术

JavaServlet是JSP技术的基础,JSP本身就是预先被编译成Servlet,然后再运行的,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成,Servlet这个名称大概源于Applet,现在国内的翻译方式很多,本文为了避免误会,本文直接采用Servlet这个名称而不做任何翻译,读者如果愿意,可以称之为“小服务程序”。

Servlet其实和传统的CGI程序和ISAPI、NSAPI等Web程序开发工具的作用是相同的,在使用JavaServlet以后,用户不必再使用效率低下的CGI方式,也不必使用只能在某个固定Web服务器平台运行的API方式来动态生成Web页面。

许多Web服务器都支持Servlet,即使不直接支持Servlet的Web服务器也可以通过附加的应用服务器和模块来支持Servlet。

得益于Java的跨平台的特性,Servlet也是平台无关的,实际上,只要符合JavaServlet规范,Servlet是完全平台无关且是Web服务器无关的。

由于JavaServlet内部是以线程方式提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此JavaServlet效率非常高。

但JavaServlet也不是没有缺点,和传统的CGI、ISAPI、NSAPI方式相同,JavaServlet是利用输出HTML语句来实现动态网页的,如果用JavaServlet来开发整个网站,动态部分和静态页面的整合过程简直就是一场噩梦。

这就是为什么SUN还要推出JavaServerPages的原因。

第二章Struts概述

2-1Struts的由来和发展

Struts框架工具是Apache基金会Jakarta项目中推出的一个子项目。

Struts在英文中是支架、支撑的意思,这也体现出Struts在开发Web应用程序过程所起到的重要作用,Struts为Web应用提供了通用的框架,让开发人员可以把主要精力集中在如何解决实际业务问题上,与此同时Struts框架也允许开发人员根据实际需要进行扩展和定制,从而可以更好的适应用户的需求。

采用Struts可以简化遵循MVC设计模式的Web应用的开发工作,很好地实现代码重用,使开发人员从一些繁琐的工作中解脱出来,快速开发能够充分发挥JSPServlet优点、并具有强可扩展性的Web应用。

总之,Struts的出现使得Web应用的开发过程大大简化,从而能够缩短开发周期、提高开发效率。

Struts架构一经推出,即受到Java开发群体的广泛重视,从2004年开始逐渐升温,并日渐成为Java创建Web应用开发的最流行的框架工具,在目前JavaWeb程序员的招聘要求中,几乎都提出了对Struts的要求,精通Struts架构已经成为JavaWeb程序员必备的技能。

2-1-1MVC简介

模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用。

1、模型(Model)

  模型是应用程序的主体部分。

模型表示业务数据,或者业务逻辑.

2、视图(View)

  视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。

3、控制器(controller)

  控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。

  MVC式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性

  早期的程序中,如果不注意对数功能和显示的解耦合,常常会导致程序的复杂及难以维护。

很多VB,Delphi等RAD程序都有这种问题。

甚至现在的C#,Java有时候也会出现把业务逻辑写在显示模块中的现象

  管MVC设计模式很早就提出,但在Web项目的开发中引入MVC却是步履维艰。

主要原因:

一是在早期的Web项目的开发中,程序语言和HTML的分离一直难以实现。

CGI程序以字符串输出的形式动态地生成HTML内容。

后来随着脚本语言的出现,前面的方式又被倒了过来,改成将脚本语言书写的程序嵌入在HTML内容中。

这两种方式有一个相同的不足之处即它们总是无法将程序语言和HTML分离。

二是脚本语言的功能相对较弱,缺乏支持MVC设计模式的一些必要的技术基础。

直到基于J2EE的JSPModel2问世时才得以改观。

它用JSP技术实现视图的功能,用Servlet技术实现控制器的功能,用JavaBean技术实现模型的功能

  JSPModel1与JSPModel2

  SUN在JSP出现早期制定了两种规范,称为Model1和Model2。

虽然Model2在一定程度上实现了MVC,但是它的应用用并不尽如人意

  JSPModel1

  JSPModel2

  model2容易使系统出现多个Controller,并且对页面导航的处理比较复杂

  有些人觉得model2仍不够好,于是CraigR.McClanahan2000年5月提交了一个WEBframework给JavaCommunity.这就是后来的Struts.

  2001年7月,Struts1.0,正式发布。

该项目也成为了ApacheJakarta的子项目之一

  Struts质上就是在Model2的基础上实现的一个MVC架构。

它只有一个中心控制器,他采用XML定制转向的URL。

采用Action来处理逻辑

2-2Struts优缺点 

优点:

 

Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。

使开发者能更深入的了解其内部实现机制。

 

除此之外,Struts的优点主要集中体现在两个方面:

Taglib和页面导航。

Taglib是Struts的标记库,灵活动用,能大大提高开发效率。

另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。

 

关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。

通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。

尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。

 

缺点:

 

Taglib是Struts的一大优势,但对于初学者而言,却需要一个持续学习的过程,甚至还会打乱你网页编写的习惯,但是,当你习惯了它时,你会觉得它真的很棒。

 

Struts将MVC的Controller一分为三,在获得结构更加清晰的同时,也增加了系统的复杂度。

 

Struts从产生到现在还不到半年,但已逐步越来越多运用于商业软件。

虽然它现在还有不少缺点,但它是一种非常优秀的J2EE MVC实现方式。

2-3Struts的工作流程

下图是Struts的工作流程,所有的请求都提交给ActionServlet来处理。

  ActionServlet是一个FrontController,它是一个标准的Servlet,它将request转发给RequestProcessor来处理,

  ActionMapping是ActionConfig的子类,实质上是对struts-config.xml的一个映射,从中可以取得所有的配置信息

  RequestProcessor根据提交过来的url,如*.do,从ActionMapping中得到相应的ActionForn和Action。

然后将request的参数对应到ActionForm中,进行form验证。

如果验证通过则调用Action的execute()方法来执行Action,最终返回ActionFoward。

  ActionFoward是对mapping中一个foward的包装,对应于一个url

  ActionForm使用了ViewHelper模式,是对HTML中form的一个封装。

其中包含有validate方法,用于验证form数据的有效性。

ActionForm是一个符合JavaBean规范的类,所有的属性都应满足get和set对应。

对于一些复杂的系统,还可以采用DynaActionForm来构造动态的Form,即通过预制参数来生成Form。

这样可以更灵活的扩展程序。

  ActionErrors是对错误信息的包装,一旦在执行action或者form.validate中出现异常,即可产生一个ActionError并最终加入到ActionErrors。

在Form验证的过程中,如果有Error发生,则会将页面重新导向至输入页,并提示错误。

  Action是用于执行业务逻辑的RequsestHandler。

每个Action都只建立一个instance。

Action不是线程安全的,所以不应该在Action中访问特定资源。

一般来说,应改使用BusinessDelegate模式来对Businesstier进行访问以解除耦合。

  Struts提供了多种Action供选择使用。

普通的Action只能通过调用execute执行一项任务,而DispatchAction可以根据配置参数执行,而不是仅进入execute()函数,这样可以执行多种任务。

如insert,update等。

LookupDispatchAction可以根据提交表单按钮的名称来执行函数。

第三章网上书店详细设计

3-1需求分析

网上书店系统主要是实现网上选书、购书、产生订单等功能的系统。

一个典型的网上商城一般都需要实现商品信息的动态提示、购物车管理、客户信息注册登录管理、订单处理等模块。

根据网上书店的基本需求,本系统需要完成的具体任务如下:

A.书图查询:

当客户进入网上书店时,应该在主页面中分类显示最新的书目信息,以供客户选择所需图书,同时也应该提供按

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

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

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