毕业论文范文——汽车售后服务中心网上订购系统的实现_第1页
毕业论文范文——汽车售后服务中心网上订购系统的实现_第2页
毕业论文范文——汽车售后服务中心网上订购系统的实现_第3页
毕业论文范文——汽车售后服务中心网上订购系统的实现_第4页
毕业论文范文——汽车售后服务中心网上订购系统的实现_第5页
免费预览已结束,剩余46页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

汽车售后服务中心网上订购系统的实现摘要 JSP技术是当前较为热门的Web开发技术。本文主要介绍了基于JSP技术的电子商务动态网站,主要功能是实现客户端和服务器端的动态交互。共分为五个模块:客户登录模块、商品信息模块、客户信息模块、订单处理模块、技术论坛模块。具体功能的实现利用JavaBeans组件技术,Servlet 技术,JDBC与数据库技术。本文从电子商务的概况说起,就当前最热门的动态网站开发工具JSP、ASP、PHP从技术上进行了分析和比较,肯定了JSP在构建动态网站中的优势,对JSP的基本工作原理以及一些主要技术作了说明。接着主要介绍了基于JSP技术的电子商务动态网站具体设计及实现。最后对本次毕业设计做出了总结。关键词:电子商务;动态网站;JSP;JavaBean;JDBCPurchasing System on Internet of Automobile After-sale ServiceAbstract: JSP is a quite popular technology in website developing. This paper introduces the construction of an e-commerce website based on JSP,of which the main function is to realize the interaction between client end and server end. Its functional modules include client login checking 、merchandize information、clients information and order processing technology forum. Some related technologies such as JavaBean 、Servlet 、JDBC、ODBC are used in the developing of this system. Starting with brief introduction of e-commerce ,this paper makes comparison among the most technologies in construction dynamic website JSP、ASP、PHP, and affirms the advantage of JSP, then makes illustration of the working principle of JSP and its related technologies .It is given in this paper the detailed procedure of design and implementation of a website based on JSP. In the end I make a summery of the graduation design.Keywords: E-commerce; Dynamic websites; JSP; JavaBean; JDBC1 绪 论近年来,随着Internet的迅速崛起,互联网已日益进入人们工作与学习的各个方面。电子商务打破了传统的“推销员满天飞”,“采购员遍地跑”,“说破了嘴,跑断了腿”的商务活动,给人们的生活与消费带来了极大的便利。 该系统是一个网上订购系统,它是电子商务应用三种类型中的B-B模式,即企业与企业之间的电子商务。我们的目的不仅是客户能够便捷地和企业进行商务来往,即通过登录我们的网站能够进行商品的查看、购买,客户自身信息的修改以及订单的创建修改,而且还要对企业内部提供一种方便实用的操作平台。 该系统是建立在一个汽车配件管理系统之中的,所以说它就是企业面向客户的一个窗口。通过这个窗口,客户能够呆在原地就达到采购的目的,它能够为客户节省大量时间与金钱上的开支.这样就更加体现了“顾客就是上帝”、“一切为顾客着想”的商业宗旨。目前,商务网站的应用以其独有的优越性,越来越多的影响着我们的生活,并且对传统的商业形式造成了很大的冲击。动态网站技术便是这一发展的重要的技术依托。国际上比较流行的动态网站技术有ASP、JSP、PHP等,而JSP已经成为开发Web动态网站的重要而快速、有效的工具,它是全新的网络服务器端技术。该系统是一个电子商务网站,但又不同于一般的电子商务网站。因为并不是所有的网络用户都能进入我们的网站,进入该系统的客户必须是被授权的合法用户。所以它的功能相对来说简单一些。另外,在界面设计方面,由于没有专业的美工人员,在页面上相对来说比较简单,没有体现一定的艺术美感。但我们将会本着功能与界面的最大统一,以及易于维护性的指导思想,来创建出一个让客户与我们都满意的电子商务网站。 2电子商务概述2.1 什么叫电子商务电子商务(Electronic Commerce)是在Internet开放的网络环境下,基于浏览器/服务器应用方式,实现消费者的网上购物、商户之间的网上交易和在线电子支付的一种新型的商业运营模式。 Internet上的电子商务可以分为三个方面:信息服务、交易和支付。2.2 电子商务的组成在电子商务的运作过程中涉及到企业或个人的消费者、网上的商业机构、CA认证中心、物流配送体系和银行。它们通过Internet网络连接在一起。形式如图2.1所示。图2.1 电子商务的组成2.3 电子商务应用的三种类型2.3.1 企业内部电子商务 即企业内部之间,通过企业内部网(Intranet)的方式处理与交换商贸信息。企业内部网(Intranet)是一种有效的商务工具,通过防火墙,企业将自己的内部网与Internet隔离,它可以用来自动处理商务操作及工作流,增强对重要系统和关键数据的存取,共享经验,共同解决客户问题,并保持组织间的联系。 通过企业内部的电子商务,可以给企业带来如下好处:增加商务活动处理的敏捷性,对市场状况能更快的做出反应,能更好地为客户提供服务。2.3.2 企业间的电子商务(简称为B-B模式)即企业与企业(Business-Business)之间,通过INTERNET或专用网方式进行电子商务活动。 企业间的电子商务是电子商务三种模式中最值得关注和探讨的,因为它最具有发展的潜力。据IDG公司1997年9月的统计,1997年全球在INTERNET网上进行的电子商务金额为100亿美元,其中企业间的商务活动占其中的79%。Forrester研究公司预计企业间的商务活动将以三倍于企业与个人间电子商务的速度发展。这是因为,在现实物理世界中,企业间的商务贸易额是消费者直接购买的10倍。 2.3.3 企业与消费者之间的电子商务(简称为B-C模式) 即企业通过INTERNET为消费者提供一个新型的购物环境-网上商店,消费者通过网络在网上购物、在网上支付。由于这种模式节省了客户和企业双方的时间和空间,大大提高了交易效率,节省了不必要的开支,因此网上购物将成为电子商务的一个最热闹的话题。3 JSP技术3.1 动态网页技术简介 使用不同技术编写的动态页面保存在WEB服务器内,当客户端用户向WEB服务器发出访问动态页面的请求时,WEB服务器将根据用户所访问页面的后缀名确定该页面所使用的网络编程技术,然后把该页面提交给相应的解释引擎;解释引擎扫描整个页面找到特定的定界符,并执行位于定界符内的脚本代码以实现不同的功能,如访问数据库,发送电子邮件,执行算术或逻辑运算等,最后把执行结果返回WEB服务器;最终,WEB服务器把解释引擎的执行结果连同页面上的HTML内容以及各种客户端脚本一同传送到客户端。虽然,客户端用户所接收到的页面与传统页面并没有任何区别,但是,实际上页面内容已经经过了服务端处理,完成了动态的个性化设置。3.2 动态网页技术的特点 所谓“动态”,并不是指那几个放在网页上的GIF动态图片,人们一般认为动态页面技术有以下几个特点: (1)“交互性”:即网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后WEB发展的大势所趋。(2)“自动更新”:即无须手动地更新HTML文档,便会自动生成新的页面,可以大大节省工作量。 (3)“因时因人而变”:即当不同的时间、不同的人访问同一网址时会产生不同的页面。3.3 流行动态网页技术比较 目前主流的动态网页技术有JSP、ASP、PHP ,这几种技术各有特点了,现在分别介绍如下: 3.3.1 ASP ASP是Microsoft Active Server Pages简称,它是一套微软开发的服务器端脚本环境,ASP内含于IIS 3.0 (Internet Information Server)及其以上版本中。通过ASP指令和ActiveX组件我们可以应用DHTML建立动态的交互的高效的 WEB 服务器应用程序。有了ASP你就不必担心客户的浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器端执行的,包括所有嵌套在普通HTML 中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。所以ASP具有简单易学,安装方便,开发工具强大而多样,效率高的强势;但ASP同时也具有很多的缺点,可以说明如下:(1) Windows本身的所有问题都会一成不变地累加到它的身上。(2) ASP由于使用了COM组件,所以它会变得十分强大,但是这样的强大由于Windows NT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中稍不注意,外部攻击就可以取得相当高的权限而导致网站瘫痪或是数据丢失。(3) ASP还是一种Script语言,所以除了大量使用组件外,没有别的办法提高其工作效率。它必须面对即时编译的时间考验。(4) 无法实现 跨操作系统的应用。(5) 无法完全实现企业级的功能 :完全的集群、负载均衡。3.3.2 PHP PHP-Hypertext Preprocessor(超文本预处理器),是一种易于学习和使用的服务器端脚本语言,是生成动态网页的工具之一。它是嵌入HTML文件的一种脚本语言。七语法大部分是从C,JAVA,PERL语言中借来,并形成了自己的独有风格;目标是让WEB程序员快速的开发出动态的网页。PHP是完全免费的,可以不受限制的获得源码,甚至可以从中加进你自己需要的特色。PHP在大多数Unix平台,GUN/Linux和微软Windows平台上均可以运行。与ASP、JSP一样,PHP也可以结合HTML语言共同使用;它与HTML语言具有非常好的兼容性,使用者可以直接在脚本代码中加入HTML标签,或者在HTML标签中加入脚本代码从而更好的实现页面控制,提供更加丰富的功能。 PHP的优点有:(1) 它是一种能快速学习、跨平台、有良好数据库交互能力的开发语言。(2) 与Apache及其它扩展库结合紧密。PHP与Apache可以以静态编译的方式结合起来,而与其他的扩展库也可以用这样的方式结合。(3) 好的安全性。PHP的缺点有:(1) 数据库支持的极大变化。(2) 安装复杂。(3) 缺少正规的商业支持。(4) 无法实现商品化应用的开发。3.3.3 JSP JSP(Java Server Pages)是由Sun Microsystem公司于1999/6推出的新技术,是基于Java Servlet以及整个Java体系的Web开发技术。JSP页面是由HTML代码和嵌入其中的Java代码所组成.服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器.。利用这一技术可以建立先进、安全和跨平台的动态网站。JSP的优点:(1) 一次编写,到处运行。(2) 系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。(3) 从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理、消息处理,一台服务器到无数台服务器,Java显示了一下巨大的生命力。(4) 多样化和功能强大的开发工具支持。JSP的缺点:(1) 正是由于跨平台的功能,为了极度的伸缩能力,所以极大地增加了产品的复杂性。(2) Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比用户数量来说 是“最低性能价格比。以上3种技术,皆在制作动态网页上各显神通。尤其是基于强大的Java语言的JSP技术,具有良好的伸缩性,与JavaEnterprise API紧密地集成在一起,在网络数据库应用开发领域具有得天独厚的优势,基于Java平台构建网络程序已经被越来越多的人认为是最有发展前途的技术。3.4 JSP动态网页生成的技术原理JSP(Java Server Pages)是由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,他在传统的网页HTML文件(.htm,.html)中加入Java程序片段和JSP标记,就构成了JSP网页(.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送E-mail等,这就是建立动态网站时经常需要的功能。JSP是面向服务器的,因此支持任何浏览器,其工作方式如图3.1所示。当Web服务器和JSP引擎遇到访问JSP网页的请求时,JSP引擎将请求对象发送给服务器端的相关组件,比如JavaBean TM组件、Servlet或EJB等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回JSP引擎。JSP引擎将响应对象传递给JSP页面,根据JSP页面的HTML格式完成数据编排,最后Web服务器和JSP引擎将格式化后的JSP页面以HTML格式返回客户浏览器。这就是当前网站构造中广泛采用的浏览器Web服务器后台数据库的三层架构模式。因JSP所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果。 图3.1 JSP网页工作基本原理3.5 JSP动态网页技术的特点 (1) 将内容的生成和显示分离。使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终的页面。使用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Bean中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。(2) 生成可重用的组件。绝大多数JSP页面依赖于可重用的、跨平台的组件来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。(3) 用标识简化页面开发。 Web页面开发人员不一定都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP技术相关的XML标识中进行动态内容生成时所需要的。(4) JSP能提供所有的Servlet功能。(5) 健壮的存储管理和安全性。由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有JAVA技术的所有优点,包括健壮的存储管理和安全性。(6) 一次编写,随处运行。(7) JSP的平台适应性更广。这是JSP比ASP的优越之处。几乎所有的平台都支持Java、JSP+JavaBeans, 它们可以在任何平台下通行无阻。3.6 JavaBeans在JSP中的应用3.6.1 JavaBeans它是一个可重复使用的软件部件,该部件可以用来生成其进行可视化处理的组件。一个组件即Java应用程序或Applet的可重复使用的部件就是一个Bean。JavaBean传统的应用在于可视化领域,如ATM(窗口抽象工具集)下的应用。现在,JavaBean更多的应用在不可视化领域,它在服务器端应用方面表现出了越来越强的生命力。它们同样使用属性和事件。不可视化的JavaBean在JSP程序中常用封装事务逻辑、数据库操作等,可以很好地实现业务逻辑和前台程序的分离,使得系统具有更好得健壮性和灵活性。3.6.2 JavaBean的特点(1) 可以实现代码的重复利用。(2) 易维护性、易使用性、易编写。(3) 可以在支持Java的任何平台上工作,而不需要重新编译。(4) 可以在内部、网内或者是网络之间进行传输。(5) 可以以其他部件的模式进行工作。3.6.3 JavaBean的属性 属性是Bean组件内部状态的抽象表示。JavaBean的属性可以分为以下四类:(1) Simple简单的:它依赖于标准命名来定义getXXX() 方法和setXXX()方法。(2) Indexed索引的:允许读取和设置整个数组的值,也允许使用数组索引单独地读取和设置数组元素。(3) Bound 绑定的:其值发生变化时要广播经属性变化监听器的属性。(4) Constrained约束的:那些值发生改变及起作用之前,必须由约束属性变化监听器生效的属性。3.7 在JSP开发中使用数据库3.7.1 JDBC技术工作原理JDBC是Java数据库连接(Java Data Base Connectivity)技术的简称,是为各种常用数据库提供无缝连接的技术。JDBC向应用程序开发者提供了独立于数据库的统一的API,这个API提供了编写的标准和考虑不同应用程序设计的标准。其奥秘是一组由驱动程序实现的Java接口。驱动负责标准JDBC调用向支持的数据库所要的具体转变。JDBC API中有两层接口:应用程序层,开发人员用API通过SQL调用数据库和取得结果;驱动程序层,处理与具体驱动程序版本的所有通信。3.7.2 JDBC四种类型的驱动(1) JDBC-ODBC Bridge 它为Java应用程序提供了一种把JDBC 调用映射为ODBC调用的方法。因此,需要在客户端机器上安装一个ODBC驱动。(2) JDBC Native Bridge 它提供了一个建筑在本地数据库驱动上的JDBC接口。(3) JDBC Network Bridge 它不需要客户端的数据库驱动,而是使用网络-服务器中层来访问一个数据库。(4) pure Java JDBC drive 纯Java驱动运行在客户端,并且直接访问数据库,因此运行这个模式要使用一个两个层的体系。3.7.3 JDBC对数据库记录访问的实现JDBC有一个非常独特的动态连接结构,它使得系统模块化。使用JDBC来完成对数据库的访问包括以下四个主要组件:Java的应用程序、JDBC驱动管理器、驱动器和数据源。JDBC实现访问数据库记录步骤(1) 通过驱动器管理器获取连接接口。(2) 获得Statement或它的子类。(3) 限制Statement中的参数。(4) 执行Statement。(5) 查看返回的行数是否超出范围。(6) 关闭Statement。(7) 处理其他的Statement.(8) 关闭连接接口。 4 系统具体设计4.1 总体设计思路该网站是一个网上订购系统,可分为面向用户的前台页面和面向管理员的后台页面。对于用户而言,它主要实现的功能有用户的登录与相关信息的修改,商品的购买与查看以及订单的相关内容,还有用于客户与客户之间、客户与企业之间交流的技术论坛。对于管理员而言,他主要实现的功能为对用户、商品以及订单进行相关的处理。所以对网站的总体设计我们追求的是功能的最大满足与界面的最佳友好。对于不同的使用者我们的侧重点也有所不同。界面设计思路:美观、大方、实用。就页面布局来说,采用“匡”形结构。色调主要采用浅黄浅绿相间,主要辅助颜色为白色。页面导航按钮的设计上也是简单明了。整个网站风格统一,一气呵成。只在页面左边的相应的板块标志图片或其他文字提示上有所区别。对于功能的满足来说,给用户一个易于接受的形式来表达。我们以一个条形菜单的形式列出系统所要实现的主要功能,并且标以类别,比如有订单处理、客户信息、产品,然后在大功能的下面在分别标有各自的小功能.以达到给人一种一目了然的感觉。 后台设计思路:自然、通俗、丰富。考虑到网站的管理和维护人员的实际操作能力,一个通俗的后台管理界面的设计是很有必要的。整个网站要便于维护。维护人员和开发人员能否很好地实现分工很大程度上依赖于后台管理程序设计的水平。实际上,一个优秀的后台程序设计是很有必要的,很多网站却忽略了这一点。.2 网站开发语言及其环境配置.2.1 语言选择本系统的设计采用JSP产生一系列高效的交互式WEB应用程序。JSP技术使用的设计环境,用户可以自己定义和制作组件加入其中,使自己的动态网页几乎具有无限的扩充能力,这是传统的CGI等程序所远远不及的地方。JSP中的命令和Script语句都是由服务器来解释执行的,执行结果产生动态生成的Web页面并送到浏览器。由于JSP是在服务器端解释执行,所以运行该电子商务网站不必考虑浏览器是否支持JSP;同时由于它在服务器端执行,用户也不必担心别人下载程序从而窃取编程逻辑。数据库选用Microsoft SQL Server 2000作为网站后台数据库。.2.2 运行环境本系统运行环境如下:1. 服务器环境:*编译环境 JDK1.4.1*后台数据库 Microsoft SQL Server 2000*WEB服务器 Tomcat 5.0*Microsoft ODBC32*系统平台 Windows 2000 Server Professional2. 用户端环境:* Windows 98 /2000/xp/2003* 浏览器为IE5.0以上.2.3 Web服务器配置(1) 下载并安装JDK1.4.1(2) JDK环境配置* 打开我的电脑属性环境变量用户变量新建在变量名中输入 CLASS在变量值中输入 D:JDK141BIN* 重复新建在变量名中输入 CLASSPATH在变量值中输入 D:JDK141LIBTOOL.JAR* 重复新建在变量名中输入 JAVA_HOME在变量值中输入 D:JDK141(3) 下载并安装Tomcat 5.0以上(4) 将我的文件夹store复制到Tomcatwebapps目录下。(5) 运行Tomcat Administration ,在左侧的菜单栏中选取service,然后点击其下面的context,右边区域右下角的下拉框里选取create new context,在doc输入下输入store,在directory中输入/store,点击下面的”保存”,点击上面的commit changes。.2.4 SQL Server 服务器配置(1)在服务器上将所给的数据库文件STORE_Data STORE_log复制到硬盘某一目录下。(2)一台有客户端的电脑(若服务器装了客户端也行)上打开SQL Server 企业管理器,在目录树中选择新建registration ;找到目录所有的SQL Serve 服务器,选择刚才数据库所在的服务器,输入管理员名称和密码,即可连上服务器。在选择的数据库(我用的是Server4)上右击选择所有任务 附加数据库 ,找到刚才复制的文件,选择确定,完成数据库的装载。(3)建立有登录和用户名l 在Server4下选择安全 登录 左边右击 新建登录 输入 登录名,如BJ2020,输入口令,设置默认数据库为store。l 在store数据库中选择用户,若存在用户如ah1023,但他没有登录名,则将其删除,然后新建用户,设置其角色为服务站。.2.5 数据源的建立如果涉及到数据库,则还要建立数据源。方法是:开始设置控制面板管理工具数据源(ODBC),这时会出现ODBC数据源管理器,在 System DSN中点击“添加”按钮,出现创建数据源页面,选择你所需要的数据源(我用的是SQL Server,因此我选择的是SQL Server),选择完成后出现ODBC Microsoft SQL Server安装界面,选择你的数据库所在的服务器,为你的数据源起名(应与程序中连接数据库的数据源名相同),然后选择你的数据库,使用管理员授权的名称登录,完成后单击“确定”,这时在数据源管理器中会出现你所建立的数据源,然后进行测试,如果测试结果成功,则说明数据源建立成功。当一切准备完成后,打开服务器,等服务器启动成功后在浏览器中输入http:/localhost:8080/store/login.htm,就可以登录该网站了。.2.6 建立数据库表和视图 对于这个站点,因为是汽车配件管理系统对外的一个窗口,所以不需要建立其它主要的数据库表,只需建立技术论坛所涉及的两个表topic、reply即可。该模块可以看作是与汽车配件管理系统不相关的一个独立的模块。所建的数据库表如下所示:(1) 用于发布帖子的表表4.1 topic表名称 数据类型 大小 空 默认值id int 4 title nvarchar 50 author nvarchar 50 email nvarchar 50 content text 16 topicdate datetime 8 (getdate( ) (2) 用于回复帖子的表表4.2 reply 表名称 数据类型 大小 空 默认值id int 4 topicID int 4 title nvarchar 50 author nvarchar 50 email nvarchar 50 content text 16 topicdate datetime 8 (getdate( ) 为了便于查询、修改,我们建立了几个数据库视图,这样我们就可以很方便的在JSP程序中进行表中信息的筛选,所建视图如下所示:(1) 名称: partformyclient功能: 获取用户所关心的零件信息,如零件号,零件名,零件的价格,零件的数量等. CREATE VIEW dbo.partformyclient ASSELECT dbo.partlistforclient.PartNo, dbo.partlistforclient.PartNameCh, dbo.partlistforclient.PartNameFr, dbo.partlistforclient.PHT, dbo.partlistforclient.prmtdiscnt, dbo.partlistforclient.discnt, dbo.StockNSales.StorageFROM dbo.partlistforclient INNER JOIN dbo.StockNSales ON dbo.partlistforclient.PartNo = dbo.StockNSales.PartNo(2) 名称 :clientorderstatus1功能:获取订单的执行状况,其中使用了自定义函数uf_CheckClientOrderStatus结果分为:“未处理”,“未处理完”,“处理完毕”CREATE VIEW dbo.clientorderstatus1ASSELECT OrderNo, OrderType = CASE WHEN OrderType = 3 THEN 紧急订购 WHEN ordertype = 4 THEN 库存订购 ELSE 其他订购 END, ClientCode, DateReceipt, DateProcess, Empname, Note, dbo.uf_CheckClientOrderStatus(OrderNo) AS statusFROM dbo.ClientOrders LEFT OUTER JOIN employees ON dbo.clientorders.respempid = dbo.employees.employeeid(3) 名称:ClientOrderstatus功能 :用于客户检索其订单的执行情况分两种情况:1已经发运的零件: 2订单的零件尚没有发运;CREATE VIEW dbo.ClientOrderstatusASSELECT dbo.ClientOrders.OrderNo, dbo.ClientOrderDetails.PartNo,dbo.Parts.PartNameCh, -已经发运的项目 dbo.ClientOrderDetails.Qty, dbo.OutStockDetails.Qty AS QtyServed, dbo.OutStock.OutStockNo, dbo.OutStock.OutStockDate, dbo.Invoices.InvoiceNoFROM dbo.OutStock LEFT OUTER JOIN dbo.Invoices ON dbo.OutStock.OutStockNo = dbo.Invoices.OutStockNo RIGHT OUTER JOIN dbo.ClientOrders INNER JOIN dbo.ClientOrderDetails ON dbo.ClientOrders.OrderNo = dbo.ClientOrderDetails.OrderNo ON dbo.OutStock.OrderNO = dbo.ClientOrders.OrderNo INNER JOIN dbo.OutStockDetails ON dbo.ClientOrderDetails.PartNo = dbo.OutStockDetails.PartNo AND dbo.OutStock.OutStockNo = dbo.OutStockDetails.OutStockNo INNER JOIN dbo.Parts ON dbo.ClientOrderDetails.PartNo = dbo.Parts.PartNo AND dbo.OutStockDetails.PartNo = dbo.Parts.PartNoUNION -没有出库的订购单项目SELECT OrderNo, dbo.ClientOrderDetails.PartNo,dbo.Parts.PartNameCh, Qty, 0 AS Expr1, NULL AS Expr2, NULL AS Expr3, NULL AS Expr4FROM dbo.ClientOrderDetails inner join dbo.parts on dbo.clientOrderDetails.partno=dbo.parts.partnoWHERE (NOT EXISTS (SELECT * FROM outstock, outstockdetails WHERE outstock.outstockno = outstockdetails.outstockno AND outstockdetails.partno = clientorderdetails.partno AND clientorderdetails.orderno = outstock.orderno)(4) 名称:promotionlist功能:促销商品的信息:包括零件号、零件名称、价格、起止日期、折扣率。CREATE VIEW motionlistASSELECT dbo.Parts.PartNo, dbo.Parts.PartNameCh, dbo.Parts.PHT, dbo.Promotion.EndPromotion, dbo.Promotion.DiscountPromotion, dbo.ClientType.Discount, ROUND(dbo.Parts.PHT * (1 - dbo.ClientType.Discount / 100.0) - dbo.Promotion.DiscountPromotion / 100.0), 2) AS price, ROUND(dbo.Parts.PHT * dbo.Promotion.DiscountPromotion / 100.0, 2) AS favorFROM dbo.Parts INNER JOIN dbo.Promotion ON dbo.Parts.CodePromotion = dbo.Promotion.CodePromotion CROSS JOIN dbo.ClientTypeWHERE (dbo.Promotion.EndPromotion = GETDATE() AND (dbo.ClientType.OrderTypeCode = 3)(5) 名称:dbo.ordermod功能 :用于显示所需更改的订单的信息,而允许用户更改的只有订购的数量及备注。CREATE VIEW dbo.ordermodASSELECT dbo.ClientOrderDetails.OrderNo, dbo.ClientOrderDetails.PartNo, dbo.Parts.PartNameCh, dbo.ClientOrderDetails.Qty, dbo.ClientOrderDetails.NoteFROM dbo.ClientOrderDetails INNER JOIN dbo.Parts ON dbo.ClientOrderDetails.PartNo = dbo.Parts.PartNo.3 网站功能模块设计.3.1 面向客户的前台管理 主页面功能该页面主要是面对客户,所以它实现了用户系统、商品系统、用户订单系统三大模块。给客户一个清晰的界面,使客户需求很方便的得到满足,达到网上订购的目的。主页面功能关系如图4.1所示: 图4.1 主页面功能 用户登录系统该模块是进入系统的门户,它的主要功能是使我们的客户能够进入该网站。该客户必须是数据库授权的合法用户,他的角色一般是服务站.然后进行所需的操作,比如订购,查看并更改一些信息。对数据库所进行的主要操作是验证用户是否为合法的用户,即是否是被授权的用户。用户登录执行流程如图4.2所示: 图4.2 登录执行流程 产品系统(1) 产品信息该模块能够实现用户对所需产品的查询。其查询方式有两种,根据零件名或零件号。这样就可以在很短的时间内使用户得到所要的信息。这一功能是一般的电子商务网站所必备的功能之一。数据库的操作为对视图partformyclient进行条件查询。实际上就是执行了相应的SQL语句,然后把结果以表单的方式返回给用户。查询执行流程如下所示:图4.3 查询执行流程(2) 特价产品 该模块功能是显示特价产品,即打了折扣的产品。当用户选择此项功能时执行的操作是:首先进行用户的身份验证.若为我们的合法用户,则进行视图查询,结果显示出所查到的特价产品,否则不显示信息。对数据库视图promotionlist的查询语句如下所示:sql = select partno,partnamech,pht,discount,discountpromotion,price,favor,endpromotion from promotionlist;(3) 供货状况 该模块的功能是显示所有的产品信息。当然它并不只是数据库中一个零件表parts的信息,它还需产品的库存情况,所以构造了一个视图partformyclient.该视图用来显示用户所关心的产品信息:零件号、零件中文名、零件德文名、价格、特价折扣、普通折扣、库存量。在实际操作中可能有几千几万条记录需要显示,而一页根本是无法完成任务的,这里我们就采用了分页显示,这样就可以一页一页的看完所有的产品信息。并且在每一页中都显示总共有多少条记录,当前显示的是第几页。这一技术在后面还要进行详细的介绍。 订单处理(1) 新建订单 模块功能是实现上网上订购目的.如果客户决定购买我们的产品,就可进入该系统,根据提示输入零件号、订购数量、备注,然后单击落”加入”按钮,即可生成订单的一项条目。重复此操作,直到选择完一张订单所需的所有产品为止.然后进行订单类型的选择,有库存订购和紧急订购两种类型.最后会自动显示出订单的总费用。此刻如果点击”发送”按钮,一个真正意义上的订单便会在后台数据库中生成了,如果在发送订单之前客户想对订单进行重写改动便可单击全部重写按钮。其执行的流程如下所示: 图4.4 新建订单执行流程 (2) 订单查询 模块功能是根据客户登录的名称,把与该客户有关的订单全部显示出来,在实际的操作中.每一天一个客户不可能生成很多的订单,所以在这里没有进行分页显示。对数据库视图clientorderstatus1的操作的SQL语句如下:select orderno,ordertype,datereceipt,dateprocess,empname ,status from clientorderstatus1 where clientcode=+(String)mysession.getAttribute(clientcode)+ order by datereceipt desc(3)订单更改 在实际的应用中,当订单没有处理时,客户可以对其进行一些操作。该模块功能为对未处理的订单进行更改或删除。首先显示出客户未处理的所有订单的信息,在每一个订单的后面分别有两个操作链接,一个为订单的删除,一个为订单的更改。删除即是从数据库中删去所选订单的相关记录,因为订单信息涉及两个数据库表clientorderdetails , clientorders 所以我们要分别对这两个表进行删除,这样才是一个完整的操作。当正确删除之后,页面将显示删除成功的信息。其数据库操作为:delete from clientorderdetails where orderno=+orderno;delete from clientorders where orderno=+orderno;更改操作将转入更改页面,此时便可在相应的框中输入信息,就可对订单进行更改。修改完毕单击”提交”按钮,便可把更改后的信息发送到数据库的表中,对有关订单信息的表进行更新.。因为客户所能修改的订单信息只能是订购的数量和订单备注,所以只需传递两个参数,有关订单的其它信息便会直接显示输出。当后台更新成功,页面便会出现修改成功信息。其数据库操作的SQL语句为:UPDATE clientorderdetails SET qty=+qty+ where orderno=+orderno(4)付款查询 该模块为客户提供查询付款的功能,点击此项便会显示客户发出订单之后,是否交付付款以及付款是否收到。 客户信息(1) 信息查阅 该模块为客户提供查阅自身信息的功能,在实际的应用中,要涉及到一些商业机密,所以每个客户只能查阅自己的信息.单击此项便会显示客户的详细信息。其执行过程为:首先判断客户是否有合法的身份,然后对数据库clients进行信息的选择,其SQL查询语句如下所示:select ClientCode,namebrief,nameclient,addressclient,cityclient,provinceclient,pobox

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论