版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于JSP的网络订餐系统毕业设计论文PAGE1引言1.1课题开发背景随着网络经济的不断发展,计算机网络已经成为人们社会生产和日常生活中不可缺少的部分。现在各行各业都在推行信息化,以提供效益和竞争力。俗话说,民以食为天,作为传统的餐饮服务行业也正面临着越来越激烈的竞争,如何才能更好在强手如林的餐饮市场上站稳脚跟并获得利润,电子商务的兴起为传统的餐饮服务行业提供了一条新的成功之路。挑战是现实的、机遇是潜在的,所以我们必须重组原有的商业格局,变革原有的商业模式来契合Internet的发展以获取更大的效益。现在超市、商场、机关以及写字楼里的工作人员的就餐成为一个非常紧迫的问题。对于传统的餐饮业来说,其地位置至关重要。超市、写字楼、科技市场等人口集中的地方,都是开办快餐的最佳地点,但是那里的地价和房租都非常高,一般的经营者难以承受。更为重要的是,这些地方的餐饮业因为被其广泛的消费群体所吸引,餐馆林立,对于一般的经营者来说,在营业地点上已经没有插足之处了。而网上餐饮不会被地域因素而局限,由于它的成本低廉,在价格上往往是和传统餐饮抗衡的重要因素。现在电子商务已经成为网络交易的主流,人们已经慢慢习惯网上购物的方式,习惯在家里登录淘宝等购物网站挑选自己所喜爱的商品。同样,餐饮业也可以利用Internet开发网上餐饮服务市场。1.2课题现状及发展趋势现在我国使用的订餐方式还停留在电话订餐的层面上,但是不容置疑,电话订餐方便,随时打一个电话就可以预订餐品。但是这种方式也存在着一些问题,这些问题或多或少的影响着饭店的运营,进行网上订餐还是近两年来发展起来的新型订餐方法,人们通过上网,对餐品进行预订,这样不仅节约了时间,也为饭店的订餐管理工作提供了方便。随着越来越多的人接受了电子商务这种便捷、快速的交易形式,网上订餐的顺势而出很快受到了大家的欢迎。互联网的应用以普及千家万户,这为网络订餐提供了良好的发展空间。特别在公司,企业内部,团体订餐已经成为了趋势。同时,随着全国人民的精神、物质和文化生活高度的提高,人们已经不在仅仅停留在吃饱的程度,不但要吃饱,还要吃好,而且口味也越来越挑刺,正因为如此网络订餐业务的出现,正迎合了这些人的口味,他们不但省去了自己做饭的麻烦,而且也能寻找和发现新的餐品,品尝不同风格的餐品,网络订餐业务在中国有着极大的发展空间以及良好的背景。而且网络订餐服务的直观、有效、便捷等优点是传统的电话订餐业务无法比拟的。调查数据显示,北京白领更乐于选择网络订餐服务,网络订餐将是白领一族捕获餐店信息、进行订餐的发展趋势。1.3课题开发意义在网络技术逐渐渗入社会生活各个层面的今天,传统的商业经营方式也面临着变革,而网上订餐则是一个很重要的方向。现在普遍使用的订餐方式是进行电话预订,这种预订方式简洁,方便,错误率也比较低,但是由此引发的一些不良现象也比较多,主要是订餐后出现饭店并没有将信息记录在案,这样的订餐就没有了意义,另外这种订餐方式只是进行电话的预约,很可能会出现订餐但是不履行订单也不进行订餐取消的现象,订餐人员对订购的餐桌信息不了解会进行相关信息的询问,这样就在一定程度上造成了时间的浪费,饭店人员会在同一天反复重复相同的信息,造成了人力资源的浪费。这样开发出图文并茂,信息能够及时更新和查看的在线网上订餐系统就成为了解决上述问题的主要途径。研究并开发这样的一款网上订餐系统就具有了重要的意义。
2系统分析2.1系统功能需求分析网络订餐系统无论是在应用的深度还是广度都是一个逐步发展的过程。在开发一个局部系统时要充分考虑到局部系统和整个目标系统之间的相容性和完整性,以利于今后整个系统的建立。在具体的设计实现上我们围绕着两个方面的需求展开,即用户和管理员。该系统在功能上应达到如下需求:从用户的角度。从用户的角度通过注册后可以浏览页面进行订餐,把自己喜欢的餐品添加到购物车中,并生成订单。同时可以通过页面进行餐品的查询,使用户更加方便的查询到自己需要的餐品。从管理员的角度。从管理员的角度可以通过登入管理员的页面进行对用户的管理,添加和删除用户,并对用户的订单进行管理和餐品进行管理。2.2可行性分析可行性研究阶段的主要任务是在系统初步调查的基础上,对新系统是否能够实现和值得实现等问题做出判断,避免在花费了大量的人力和物力之后才发现系统不能实现或新系统投入使用后没有任何实际意义而引起的浪费,对新系统可行性的分析,要求用最小的代价在尽量短的时间内确定系统是否可行。2.2.1技术可行性JSP可以创建和运用动态、交互的WEB服务器应用程序。同时,JSP具有向跨平台跨服务器的优点。SQLServer2000是一个杰出的数据库平台,具有功能强大,安全可靠等特点,可用于大型联机事务处理、数据仓库及电子商务等。所以利用JSP和SQL数据库开发设计网络订餐系统是可行的。2.2.2操作可行性现在是信息社会,绝大多数的人都已经接触互联网,而且很多人有在网上购物的经验。网络订餐系统无疑也是电子商务购物网站的一类,所以对于稍有点网络经验的人来说可以很轻松的应用本系统实现在网上订餐。而对于系统的管理员也就是餐厅的老板也不需要了解过多电脑技术就可以应用本系统。他们只需要登录到后台后,在简单易懂的操作菜单中进行选择,就可以方便的查看订单、管理餐品等操作。还有就是系统是基于B/S(Browser/Server)结构开发的,即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现的,所以订餐用户无需安装多余的客户端软件,所有的客户端只是浏览器,根本不需要做任何维护。大大的减少了维护工作量。在服务器方便只要安排配置好之后在适时做些维护,这也降低了开发成本。2.2.3经济可行性由于本订餐系统操作简单方便,不需要投入额外的设备和人员的培训费用。系统的运行环境的软硬件要求都都不是很高,只要一台能连接互联网的计算机就可以运行操作,再加上一个域名就可以给广大需要订餐的顾客服务了。所以在经济方面是可以执行的。
3总体设计总体设计阶段的基本目的是用比较抽象概括的方式确定系统如何完成预定的任务,也就是说,应该确定系统的物理配置方案,并且进而确定组成系统的每个程序的结构。因此,总体设计阶段主要由两个阶段组成。首先进行系统设计,然后进行软件结构设计,确定软件由哪些模块组成以及这些模块之间的动态调用关系。3.1结构设计系统采用JSP设计,通过交互的WEB应用技术的学习,提高对B/S系统的应用能力。在设计上将本系统的功能模块化,便于开发。这不仅使系统的结构清晰、层次明了,还提高了代码的重用率,减轻了开发者的负担。在设计上采用3层体系结构,将表现层、控制层和数据库操作分开,客户端通过统一的接口向控制层发送请求,控制层再从数据库操作中获得相关的数据,通过视图显示出来。这在一定程度上增加了数据库的安全性、系统的可移植性。根据以上设计思想系统总体结构如图3.1所示:SQLServerSQLServer服务器数据库驱动(JDBC)ServletJavaBean客户端http请求与响应视图控制器图3.1系统结构设计3.2系统层次及模块划分根据需求分析阶段对在线考试系统的功能分析,系统功能层次图如图3.2所示:在线订餐在线订餐用户(前台)注册登陆菜品查询用户订餐留言簿用户管理订单管理菜品管理系统管理管理(后台)图图3.2系统功能图本系统具有五大功能模块,分别为用户注册及登录模块,餐品查询模块,购物车模块,留言簿和系统管理员管理模块。用户注册登录模块分为三个子模块,分别为:用户注册子模块,用户登录子模块,用户查看修改注册信息模块。功能模块如图3.3所示:用户注册及用户注册及登录用户修改信息用户登录用户注册图图3.3用户注册及登录模块餐品查询模块可以根据各个子模块实现:根据菜系查询、根据价格查询、根据类型查询、用户自行输入菜名查询等。功能模块如图3.4所示:餐品查询餐品查询根据类型查询根据价格查询根据菜系查询其他词查询图3.图3.4餐品查询功能模块购物车模块可以分为添加餐品子模块,删除餐品子模块,生成订单子模块,查看订单明细模块。功能模块如图3.5所示:购物车购物车生成餐品订单删除餐品添加餐品查看订单明细图3.图3.5购物车功能模块系统管理员管理模块可以分为用户管理子模块,订单管理子模块,餐品管理模块,系统管理模块。3.3数据库设计数据库是一个管理系统中的重点,大多数商业应用程序的核心都是数据库。数据库设计的好坏将直接影响到系统的效率以及系统实现的效果。一个好的数据库的结构设计会减少数据库的存储量,可以提高数据库的存储效率等。SQLServer2000是一个分布式的关系型数据库管理系统,具有客户/服务器体系结构。MicrosoftSQLServer2000是一个应用广泛的数据库管理系统,具有许多显著特点,例如,用户喜欢的易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性能价格比等。SQLServer2000系统中,数据库的管理采取了先进的动态管理机制,数据库的大小可以随着数据量的变化而缩小或者扩大。另外,用户数据都是非常重要的和保密的,这些数据存储在MicrosoftSQLServer2000系统中有绝对的安全性保障,有完善的用户帐户策略和许可机制,只有经过授权的用户才能访问系统,并且执行相应的操作和访问允许访问的数据。未经授权的用户既不能执行相应的操作,也不能访问数据库中的相应数据。SQLServer2000系统具有强大的网上功能,可以在Internet上发布数据库中的数据。在MicrosoftSQLServer2000系统中,允许用户简单的使用一些向导和工具把数据库的数据发布到网络上,并且可以根据需要来调度修改已经发布的数据。对于数据库的需求主要体现在对数据库的提交信息、更新信息、删除信息、保存信息等。这些信息的存在都取决于各个功能模块的对信息的需求。通过对功能模块的具体操作,实现对数据库中信息的输入和输出。所以,针对各个功能模块的需求,设计如下的数据表和数据结构:用户表(users),用于存放注册用户的基本信息。该表记录着注册用户的详细资料,包括姓名、地址、联系电话,管理员通过查看用户的信息可以准确的将餐饮送到订餐用户的手中。该表共设9列,分别用户存储注册用户ID、登录帐号、登陆密码、密码保护的问题和答案,以及注册用的联系方式、地址等信息,表的具体逻辑结构如表3.1所示:表3.1用户表(users)列名数据类型长度约束条件描述usersIdusersNameusersPassusersPassQuestionusersPassReplyusersTrueNameusersAddressusersPhoneusersE_mailintvarcharvarcharvarcharvarcharvarcharvarcharvarcharvarchar44040404040100100100PrimaryKeyNOTNULLNOTNULLNOTNULLNOTNULLNOTNULLNOTNULL注册用户ID用户登录帐号用户登录密码密码保护的问题密码保护的答案用户的真实姓名用户的联系地址用户的联系电话用户的电子邮箱管理员表(admin),存放管理员的基本信息。其中adminId列用于存放该管理员的用户ID,由系统标识自动增加;adminName列用于存放管理员的登录用户名;adminPass列用于存放管理员的登录密码。admin表的数据的具体逻辑结构如表3.2所示:表3.3.2管理员表(admin列名数据类型长度约束条件描述adminIdadminNameadminPassintvarcharvarchar44040PrimaryKeyNOTNULLNOTNULL管理员ID管理员登录帐号管理员登录密码餐品表(goods),存放餐厅所以的餐品的信息,记载着某个餐品菜名、配料、口味、价格等,前台通过对该表的查询引用,能显示出改餐品的详细信息给用户,方便其订购使用。其中goodsId列、goodsName列、goodsmaterial列、goodsPackage列、goodsLanguage列、goodsPrice列、goodsHabitus列、sortName列分别用来存放餐品的ID,菜名、所属菜系、口味、做菜时的配料、订购价格、状态及餐品的类型。餐品表数据的具体逻辑结构如表3.3所示:表3.3餐品表(goods)列名数据类型长度约束条件描述goodsIdgoodsNamegoodsmaterialgoodsPackaggoodsLanguagegoodsPricegoodsHabitussortNameintvarcharvarcharvarcharvarcharfloatvarcharvarchar440200200200810040PrimaryKeyNOTNULLNOTNULLNOTNULLNOTNULLNOTNULLNOTNULLNOTNULL餐品ID菜的名称该餐品所属菜系该餐品的口味餐品的主辅配料销售价格是否上架所属类型餐品类别表(sort),主要是用来存放餐品的类型的,以方便在添加新的餐品时好调用。该表非常简洁只有一个sortId列和一个sortName列,分别存放餐品的类别ID和所属类型。具体的数据的逻辑结构如表3.4所示:表3.4餐品类别表(sort)列名数据类型长度约束条件描述sortIdsortNameintvarchar440PrimaryKeyNOTNULL餐品类别ID餐品类型订单表(orders),该表主要是用来存放用户所生成的订,记录订单的ID,生成该订单的用户名以便明确是那个用户的订单,还有就是订单的总值和订单的生成日期,它们分别对应的列表名为ordersId,usersName,ordersPrice,ordersDatetime。该表主要是方便管理员查看订单的大概情况。具体的数据的逻辑结构如表3.5所示:表3.5订单表(orders)列名数据类型长度约束条件描述ordersIdusersNameordersPriceordersDatetimeintvarcharvarcharvarchar4404040PrimaryKeyNOTNULLNOTNULLNOTNULL订单ID订单中的用户名该订单的总价钱订单的生成时间日期订单明细表(ordersDetails),这个表是订单表(orders)的一个补充,订单表(orders)只是简单的记录存放了订单中的用户名、总价钱和生成日期,而订单明细表(ordersDetails)则详细的记录了订单中的餐品名称、单价及数量,这是一个订单中重要的一部分。该表设四个列:ordersId、goodsName、goodsPrice、goodsCount,分别存放订单的ID、订单中的餐品名称、餐品的单价、该餐品的订购数量。具体的数据的逻辑结构如表3.6所示:表3.3.6订单明细表(列名数据类型长度约束条件描述ordersIdgoodsNamegoodsPricegoodsCountintvarcharvarcharint440404PrimaryKeyNOTNULLNOTNULLNOTNULL订单ID订单中的餐品名称餐品的单价数量3.3相关技术3.3.JSP(JavaServerPages)技术是一个纯Java平台的技术,它主要用来产生动态网页内容。在传统的网页HTML文件中加入Java程序片段和JSP标记,就构成了JSP网页。Web服务器接收到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。JSP是基于JavaServlet以及整个Java体系的Web开发技术,利用这一技术可以建立先进、安全、快速和跨平台的动态网页。将内容的生成和显示进行分离。使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容,这些内容是根据请求来变化的,例如请求帐户信息或者特定的一道菜的价格。生成内容的逻辑部分被封装在JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在Beans中,那么其他人,如Web管理人员和页面设计者,在编辑和使用JSP页面的时候,将不会影响到内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成客户端请求的内容,例如,通过访问JavaBeans组件,使用JDBC技术访问数据库或者其他文件,并且将结果以HTML(或者XML)页面的形式发送回浏览器。这将有助于作者保护自己的代码,并且又保证任何基于HTML的Web浏览器的完全可用性。强调可重用的组件。绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者EnterpriseJavaBeansTM组件)来执行应用程序所要求的更为复杂的处理问题。开发人员能够共享和交换执行普通操作的组件,或者发布这些组件使更多的使用者或者客户团体能够使用。采用标识简化页面开发。Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServerPage技术封装了许多功能,这些功能是容易使用的、同时与JSP相关的XML标识中进行动态内容的生成时需要的。通过开发定制化标识库,JSP技术是可扩展的。今后,第三方开发人员和其他人员可以将常用的功能创建到自己的标识库。这使得Web页面开发人员能够象使用熟悉的工具一样来使用标识来执行特定功能的构件来工作。JSP技术很容易整合到多种应用体系结构中,以便使用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用中。作为采用Java技术家族的一部分,以及Java2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用开发。由于JSP页面的内置脚本语言是基于Java编程语言的,并且所有的JSP页面都能被编译成为JavaServlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的厂家将对JSP的支持添加到他们的产品中,我们可以选择不同的服务器和工具,因为更改工具或服务器并不影响当前的应用。当与Java2平台,企业版和EnterpriseJavaBean技术整合时,JSP页面提了供企业级的扩展性能,这对于在虚拟企业中部署基于Web的应用是必需的。3.3.2JavaBean是描述Java的软件组件模型,JavaBean就是一个Java类,是一种Java语言写成的可重用软件组件,它在内部有接口或有与其相关的属性,以便不同人在不同时间开发的bean可以询问和集成。非可视化的JavaBean与JSP结合起来使用,在JSP程序中常用JavaBean来封装事务逻辑(功能实现部分)如数据运算、数据处理、数据库操作等,然后在JSP网页中调用,而JSP文本着重的是网页界面设计,实现了业务逻辑和前台显示部分的分离,这样不仅使JSP网页变得清晰,而且可以节省软件开发时间和降低以后维护的难度,使系统变得健壮和灵活。JSP有两中开发模式JSP+JavaBeans和JSP+Servlet+JavaBeans。两种模型的整体结构都比较清晰,易于实现。它们的基本思想都是实现表示层、事务逻辑层和数据层的分离。这样的分层设计便于系统的维护和修改。两种模型的主要区别表现在:a)处理流程的主控部分不同。JSP和JavaBean模型利用JSP作为主控部分,将用户的请求、JavaBean和响应有效的链接起来。JSP和模型利用Servlet作为主控部分,将用户的请求、JavaBean和响应有效的链接起来。b)实现表示层、事务逻辑层和数据层的分离程度不同。JSP和JavaBean+Servlet模型比JSP和JavaBean模型有更好的分离效果。当事务逻辑比较复杂、分支较多或需要涉及多个JavaBean组件时,JSP和JavaBean模型常常会导致JSP文件中嵌入大量的脚本或Java代码。特别是大型项目开发中,由于页面设计和逻辑处理分别由不同的专业人员承担,如果JSP有相当一部分处理逻辑和页面描述混在一起,这就有可能引起分工不明确,不利于两个部分的独立开发和维护,影响项目的施工和管理。在JSP和JavaBean+Servlet模型中,由Servlet处理HTTP请求,JavaBean承担事务逻辑处理,JSP仅负责生成网页的工作,所以表现层的混合问题比较轻,适合于不同专业的专业人员独立开发Web项目中的各层功能。c)适应于动态交互处理的需求不同。当事务逻辑比较负责、分支较多或需要涉及很多JavaBean组件时,由于JSP和JavaBean+Servlet模型比JSP和JavaBean模型有更清晰的页面表现、更明确的开发模块的划分,所以使用JSP和JavaBean+Servlet模型比较适合。然而,JSP和JavaBean+Servlet模型需要编写Servlet程序,Servlet程序需要的工具是Java集成开发环境,编程工作量比较大。对于简单的交互处理,利用JSP和JavaBean模型,JSP主要是使用HTML工具开发,然后再插入少量的Java代码就可以实现动态交互。在这种情况下,使用JSP和JavaBean模型更加方便快捷。对于本订餐系统属于是小型的应用,只需要JSP+JavaBean模型就可以实现而不需要应用复杂的JSP+JavaBean+Servlet模型。3.4系统开发模式首先是B/S模式简介本系统采用B/S模式。B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同件更是方便、快捷、高效。B/S模式的优势是维护和升级方式简单。目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。再有是成本降低,选择更多。大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。
4详细设计在前面的总体设计中,已将系统划分为多个模块,现在需要的是确定每个功能模块的具体实现。在本章内,将详细说明系统功能模块的具体实现。系统主要使用了JSP、JavaScript、Java、HTML语言等综合处理页面信息的显示和各个功能模块功能的设计,以及通过对数据库的操作完成整个系统的设计。4.1用户模块用户模块既是前台模块,主要是面向顾客设计使用的,也可以称为顾客模块。顾客模块的只要功能是浏览、搜索查询、订餐,而用户需要订餐的话必须要进行注册登录。最终实现顾客订餐的目的。订餐的流程如图4.1所示:NONOYesYesYesNO开始结束用户登录选择餐品通过验证加入购物车继续订餐查看购物车删除餐品生成订单如4.1用户订餐流程图YesYesYesNO结束用户登录选择餐品通过验证加入购物车继续订餐查看购物车删除餐品生成订单YesYesYesNO结束用户登录选择餐品通过验证加入购物车继续订餐查看购物车删除餐品生成订单首页设计首页是当顾客访问时展现给顾客的第一页面,一个好的首页能给顾客带来好的体验。首页的设计应该给顾客展示更多的信息和快捷方便的操作。本订餐系统的基本框架如图4.2所示:促销活动banner促销活动banner导航栏登录快速查询链接餐品展示商家LOGO图4.2首页基本框架首页的左上角是LOGO图,商家可以挂上自己的商标;LOGO的右侧是促销活动的相关banner链接;这可以方便顾客第一眼发现了解促销活动的信息,在导航栏顾客可以快速的留言,查看个人注册信息;左侧栏的设计可以帮助顾客快速进行登录以及通过分类菜单查询链接快速的找到符合顾客要求的餐品的归类;而中间的大区块则向顾客展示最新上架的餐品。在餐品展示区块通过GoodsBean类中的getAllGoods()方法获取所有餐品ID,然后通过Details.jsp返回餐品的菜名、图片、价格等信息,相关代码如下所示:<ahref='tourist/Details.jsp?goodsId=<%=temp.getGoodsId()%>'target=_self><imgheight=100<%str="tourist/image/"+temp.getGoodsId()+".jpg";%>src=<%=str%>width=100border=1></a><ahref='tourist/Details.jsp?goodsId=<%=temp.getGoodsId()%>'target=_self></a><ahref='tourist/Details.jsp?goodsId=<%=temp.getGoodsId()%>'target=_self><%=temp.getGoodsName()%></a>价格:<fontcolor=#ff6600><%=temp.getGoodsPrice()%>元<br></font><ahref='tourist/Details.jsp?goodsId=<%=temp.getGoodsId()%>'target=_self><imgheight=17src="tourist/Image/detail.gif"width=40border=0></a>4.1.2用户注册功能通过页面register.jsp来实现用户注册的界面,用户填写表单提交后通过内置的JavaScript代码进行前台验证,判断用户输入的注册信息是否正确,如两次的密码是否相同,电话号码格式是否对,如果输入错误将返回相应的错误信息。通过JavaScript的验证可以减少不必要的网络信息传递,减轻服务器负担,提高效率。验证通过后将用户提交的注册信息提交到addUserInfo.jsp页面。在addUserInfo.jsp页面中引用UserBean这个JavaBean类,并调用addUserInfo()方法将用户的注册信息存储到数据库中。关键代码如下:PreparedStatementstm=con.prepareStatement("insertintousersvalues(?,?,?,?,?,?,?,?,?)");stm.setString(1,user.getUsersName());stm.setString(2,user.getUsersPass());stm.setString(3,user.getUsersRepass());stm.setString(4,user.getUsersPassQuestion());stm.setString(5,user.getUsersPassReply());stm.setString(6,user.getUsersTrueName());stm.setString(7,user.getUsersAddress());stm.setString(8,user.getUsersPhone());stm.setString(9,user.getUsersE_mail());4.1.3用户登录功能顾客订餐需要登录系统,所以在首页中集成了用户登录模块,方便登录。当用户填用户名和密码提交登录时,把表单内容提交到checklogin.jsp页面验证用户的登录信息。在checklogin.jsp引入表示用户的实体JavaBean类UserClass和封装了验证用户登录方法的逻辑JavaBean类Userbean,然后调用验证用户身份的checkUserInfo()方法,根据用户的信息在主页中显示其登录成功的信息。如果登录不成功则返回密码错误的消息。关键代码如下:PreparedStatementstat=con.prepareStatement("select*fromuserswhereusersName=?andusersPass=?");stat.setString(1,user.getUsersName());stat.setString(2,user.getUsersPass());ResultSetresult=stat.executeQuery();if(result.next()){flag=true;}result.close();stat.close();用户成功登录后可以在用户中心查看自己的注册信息,该功能通过checkMyInfo.jsp页面来显示。4.1.4餐品查询功能搜索功能可以说是一个网站必须功能,这可以为顾客提供更为方便快捷的服务,顾客可以快速的找到自己想要下订的餐品。顾客可以按餐品的类型、价格、菜系或者其他的关键词查询想需要的餐品饮料,然后分别提交到goodsType.jsp、goodsPrices.jsp、goodsSeries.jsp页面进行处理查询,要是想通过通过其他的关键词查询可以通过lowerSelect.jsp快速查询,或者通过heightSelect.jsp高级查询。在这些查询的页面中首先接收超级链接中参数,也就是用户要查询的关键词,并利用.getBytes("ISO-8859-1")方法将其转换成中文字符,然后引入表示餐品的实体Javabean类GoodsClass和封装了对餐品信息进行操作的逻辑JavaBean类GoodsBean,在页面中调用getAllPageBySort()方法根据用户提交的类型进行查询。关键代码实现如下:<% StringgoodsPrice=request.getParameter("goodsPrice"); session.setAttribute("goodsPrice",goodsPrice); intpageCount=0; intcount=goodsBean.getAllPageByPrice(goodsPrice); introws=goodsBean.getRowCount(); Collectionarraylist=goodsBean.getGoodsByPrice(goodsPrice,pageCount); Iteratorit=arraylist.iterator();%>GoodsBean是用来封装对餐品进行各种逻辑操作的JavaBean类,通过GoodsBean接收参数用SQL查询语句select查询匹配的结果,然后返回都相应的页面中去,显示给查询的顾客。4.1.5购物车功能购物车的主要功能是把顾客暂时想要订购的餐品存放起来,最后确定生成订单。当然,顾客要想使用购物车就要先登录会员,如果没有登录的话则跳到错误页面。顾客在网站中看到喜爱的餐品时,通过点击相应的链接,然后通过Details.jsp接收餐品的ID,然后getGoodsInfo()方法根据餐品的ID查询餐品的详细信息,并返回到页面上。显示餐品详细信息的核心代码如下:<jsp:useBeanid="goodsClass"class="com.GoodsClass"scope="page"/><jsp:useBeanid="goodsBean"class="com.GoodsBean"scope="page"/><%StringgoodsId=request.getParameter("goodsId");%><% goodsClass=goodsBean.getGoodsInfo(goodsId);%>顾客在找到中意的餐品可以点餐品详细信息页面的“订购”按钮,将其添加到购物车中去。点击“订购”按钮后向cart.jsp传递添加信息。该页面通过引入表示购物车的实体JavaBean类Cart和封装了对商品信息进行操作的逻辑JavaBean类GoodsBean,然后通过JavaBean中定义的逻辑方法对购物车中的商品进行添加删除操作。Cart是用来封装对购物车中的餐品进行添加、删除、更新和生成订单等操作的JavaBean类。当用户订餐过程结束后,可以调用其中的calPrice()方法计算本次购买的商品的总价格,并在OrderInfo.jsp页面中调用genOrder()方法生成订单。生成订单的主要核心代码如下:<jsp:useBeanid="goods"class="com.GoodsBean"scope="session"/><jsp:useBeanid="cart"class="com.Cart"scope="session"></jsp:useBean><%intordersId;StringtotalPrice;try{ totalPrice=session.getAttribute("totalPrice").toString(); ordersId=cart.genOrder((String)session.getAttribute("name"),totalPrice);%>4.1.6用户留言功能在用户留言模块任何用户都可以在这里给管理员留言。该功能通过language.jsp页面实现。在language.jsp页面引入表示留言的实体的JavaBean类LeaveLanguageClass和封装了对留言进行操作的逻辑JavaBean类LeaveLanguageBean,然后调用其中的addLanguage()方法将用户的留言信息存储到数据库中。LeaveLanguageBean是用来封装对用户留言进行添加、删除和更新操作的JavaBean类,是用户留言模块的核心逻辑类。4.2管理员模块管理员模块也就是系统的后台,主要面向管理员设计。系统管理员登录后台之后,可以进行餐品管理、订单管理、用户管理、网站系统管理员管理,从而维护系统的核心数据信息。管理员登录模块管理员登录页面是Login.jsp,用户登录后方可进行一系列的管理操作。管理员填好登录帐号密码点击“登录”后,将表单提交到Login1.jsp验证密码的正确。Login1.jsp页面引入表示管理员的实体JavaBean类AdminClass和封装了管理员业务操作的逻辑JavaBean类AdminBean,然后调用其中的checkAdminInfo()方法对用户输入的管理员登录信息进行验证。验证管理员登录信息的核心代码如下:<%session.setMaxInactiveInterval(30*60);%><% try { adminBean.setAdminInfo(adminClass); booleanflag=adminBean.checkAdminInfo(); if(flag==true) { session.setAttribute("isLogin","true"); response.sendRedirect("index.jsp"); } else { session.setAttribute("isLogin","false"); response.sendRedirect("CheckLogin.jsp"); }%>在页面中用session.setMaxInactiveInterval(30*60)将管理员登录后的cookies保存30分钟。用户管理功能在管理员登录系统后台就可以对用户管理了。在用户管理功能菜单中可以查找查看用户的信息,也可以直接添加用户。在后台直接添加用户通过addUserInfo.jsp页面,这个功能和在前台顾客自己注册是一样的。同样在页面中引用UserBean这个JavaBean类,并调用addUserInfo()方法将用户的注册信息存储到数据库中。查看查找已注册用户的信息。直接点击查看所有注册用户,通过viewAllusers.jsp页面显示所有注册用户的信息。在viewAllusers.jsp引入表示用户的实体JavaBean类UserClass和逻辑JavaBean类Userbean,然后调用getAllUserInfo()执行SQL语句对数据库查询,获取所以注册用户的信息并返回。查看所有注册用户端JSP核心代码如下:Collectionusers=userBean.getAllUserInfo();Iteratorit=users.iterator();while(it.hasNext()){ UserClassuser=(UserClass)it.next(); out.println(user.getUsersId()); out.println(user.getUsersName()); out.println("user.getUsersTrueName()"); out.println(user.getUsersAddress()"); out.println(user.getUsersPhone()); out.println(user.getUsersE_mail());}通过输入用户的ID或者用户名,分别把关键词信息提交到viewUsersByUserId.jsp,viewUsersByUserName.jsp筛选出准确的注册用户信息。这两个页面中都引用UserBean类,并调用其中的getUserByUserId()、getUserByUserName()方法执行SQL语句读取数据库筛选用户。订单信息管理功能订单管理信息管理可以说是比较重要的部分,管理员通过查看订单可以知道顾客所要订的餐品,能及时的作出处理。点击查看所有订单链接viewAllOrders.jsp,显示出所有订单的信息。在viewAllOrders.jsp页面中引入了购物车的实体JavaBean类Cart,在页面中调用显示所有订单的getOrders()方法,getOrders()方法SQL语句的select查询数据库返回所有订单的详细信息。显示所有订单的核心JSP代码如下:<%Strings=(String)request.getParameter("ordersId");if(s!=null){ cart.deleteOrder(s);}Collectionorder=cart.getOrders();Iteratorit=order.iterator();while(it.hasNext()){OrdersClassorders=(OrdersClass)it.next(); out.println(orders.getOrdersId()); out.println(orders.getOrdersName()); out.println(orders.getOrdersPrice()); out.println(orders.getOrdersDatetime()); out.println(orders.getOrdersId());}%>同时管理员可以通过viewOrdersByOrderId.jsp,viewOrdersByUserName.jsp这两个页面对用户订单的ID,订单生成的用户名筛选出具体的订单信息,这可以快速的在大量的订单中找到需要的信息。同样这两页面也都引用cart类中的getOrdersByOrderId(),getOrdersByUserName()方法。获取订单信息的方法和获取所有订单的方法类似。如果订单已经完成,即餐品已经给顾客送去,可以点击订单后面的删除链接,向deleteOrder.jsp页面提交删除命令和要删除的订单的ID号,deleteOrder.jsp通过deleteOrder()方法对数据库执行delete操作,删除指定的订单信息。餐品管理功能餐品信息管理主要可以查看已添加的餐品信息、添加餐品、添加餐品类型。管理员在添加餐品页面填写将要添加的餐品信息后,点击提交给添加餐品的业务逻辑页面addGoods.jsp。在该页中引入了表示餐品的实体JavaBean类GoodsClass和封装了对餐品信息进行操作等待逻辑JavaBean类GoodsBean,在页面中调用addGoods()方法,将addGoods_menu.jsp页面提交的新餐品信息存储到数据库中。主要代码实现JSP代码如下:<%try{ goodsBean.addGoods(goodsClass);}catch(Exceptione){ e.printStackTrace();} %>通过viewAllgoods.jsp页面可以查看所有已添加到系统中的餐品信息。在页面中调用GoodsBean类中的addGoods()方法执行insertSQL查询语句显示所有的餐品信息。点击餐品后面的删除链接,向deleteGoods.jsp页面提交删除命令和要删除的餐品的ID号,deleteGoods.jsp通过deleteGoods()方法对数据库执行delete操作,删除指定的餐品信息。系统管理员管理功能系统管理员管理可以在这里查看、添加和删除系统管理员的信息。添加的管理拥有管理系统的权限。分别通过addAdmin.jsp和viewAllAdmin.jsp页面中调用adminBean类中的addAdminInfo()方法和getAllUserInfo()方法逻辑操作实现。另外在viewAllAdmin.jsp页面中调用deleteAdmin()方法删除指定的管理员。
5系统运行与测试5.1系统运行在经过上面的分析、设计和代码编写后,就要进行系统的运行测试了。因为是使用了JSP编写和SQLServer2000数据库,所以首先要搭建能调试运行的环境。在基于JSP技术的网站的运行需要多种软件:J2SDK和J2EE是Java2的软件开发工具,是Java应用程序的基础。JSP是基于Java技术的,所以配置JSP环境之前必须要安装J2SDK。Apache服务器:Apache组织开发的一种常用Web服务器,提供Web服务。Tomcat服务器:Apache组织开发的一种JSP引擎,本身具有Web服务器的功能,可以作为独立的Web服务器来使用。在实际使用中,Tomcat作为Web服务器工作时,其处理静态HTML页面时的性能不如Apache好,也没有Apache健壮,所以一般将Tomcat与Apache配合使用,让Apache对网站的静态页面请求提供服务,而Tomcat作为专用的JSP引擎,提供JSP解析,以得到更好的性能。另外,Tomcat本身就是Apache的一个子项目,对Apache提供了强有力的支持。对于初学者来说,Tomcat是一个很不错的选择。数据库的连接。Java数据库连接(JDBC)由一组用Java编程语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,使他们能够用纯JavaAPI来编写数据库应用程序。然而各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化。在连接数据库之前首先应该将classes12.jar和servlet-api.jar包放到C:\Tomcat5.5\common\lib目录下。在程序中数据库连接Bean用于产生相应的数据库的连接。代码在sqlBean.java文件中。数据库连接关键代码如下:Stringdriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";Stringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dingcan";Stringuser="sa";Stringpassword="";Try{Class.forName(driver);returnDriverManager.getConnection(url,user,password);}在安装配置好运行环境后,在浏览器的地址栏中输入:http://localhost:8080/,运行环境搭建正确,则显示系统的首页页面。首页效果如图5.1所示:图5.1图5.1首页效果点击首页的注册按钮,跳转到新用户注册页面。效果如图5.2所示:图图5.2新用户注册效果图点击餐品展示区中的一个餐品链接后,跳转到该餐品的详细信息页面。页面效果如下图5.3所示::图图5.3餐品详细信息效果图点击首页的后台管理连接,跳转到管理员登录界面,然后输入管理员帐号和密码则登录后后台管理页面,效果如下图5.4所示:图5.图5.4后台管理效果5.2系统测试系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法,为了发现缺陷并度量产品质量,按照系统的功能和性能需求进行的测试,找出存在的问题并加以修改,使之完全符合设计要求。5.2.1系统测试的对象与目的系统测试的对象不仅仅是源程序,而应是整个网站,包括系统分析、系统设计等,所以系统测试的对象是软件。系统测试时,不仅仅要证明程序无错,而是要精心选取易于发生错误的测试数据,以十分挑剔的态度,证明程序有错。因而,测试的目的是发现软件的错误。5.2.2系统测试的内容对系统进行测试主要包括一下内容:a)功能测试:链接测试、表单测试、数据库测试;b)可用性测试:导航测试、图形测试、内容测试、整体界面测试;c)兼容性测试:平台测试、浏览器测试;d)安全测试。5.2.3网络订餐系统测试a)功能测试:经过测试订餐系统网站所有链接均要求链接到了相应的页面,所链接的页面均存在,而且系统中不存在孤立页面;对表单进行提交测试,当输入错误信息或信息错误时,系统就会转到相应的页面,保证了提交操作的完整性和提交给服务器信息的准确性;通过查询处理、用户注册、订单添加等表单的提交对数据库的存入和读取操作进行测试,数据库运行正常。b)可用性测试:订餐系统网站系统导航结构清晰、目的明确,页面结构、菜单、连接的风格;页面字体使用CSS,确保了风格的一致,背景颜色与字体颜色和前景颜色较搭配;对网站内容进行抽样式调查未发现语法、拼写错误以及其他错误信息;网站整体界面布局合理,颜色搭配协调,所以订餐系统系统可用性良好。c)兼容性测试:在安装了Windows、Unix、Linux的不同客户端上进行测试,系统能够正常运行;在安装了Firefox、IE6、IE7、opera、Chrome等不同浏览器的客户端进行测试,系统中JavaScript均可正常运行,框架和层次结构风格差别不大,所以订餐系统网站系统业务处理系统兼容性较好。d)安全性测试:本系统后台采用先验证,后登录的方式,进行了有效和无效的用户名和密码测试,测试到不可以不登录而直接浏览某个页面等;所以,订餐系统网站系统安全性良好。
结论从毕业设计题目的确定,经过2个多月的学习和努力我如期的完成了网络订餐系统的设计。可以说这次毕业设计的整个过程是我在学习的过程,因为我之前没接触过JSP。虽然在课堂上学习过基础的SQLserver2000和Java的知识,但是并没有真正的应用到项目的开发中去。在两个多月里,我查阅了大量的书籍、网络也搜索了相关技术资料和看了不少的教学视频,是我对JSP和SQLserver有了进一步的了解。在这次的设计中,培养了我自学的能力,在遇到技术难题时不退缩。虽然我是如期的完成了我的设计题目,但是基本知识的不牢固,没有网站的开发经历,做出来的订餐系统还有很多不足之处,在界面和用户体验方面不是很好;程序的代码编写的也不规范,有很多地方的代码冗余、啰嗦不简便,执行的效率较低;一些功能模块上并不是完美的显示出来。希望在以后的学习工作中能够继续完善该系统,把一些功能进一步细化,将其应用到现实生活中去。总的来说在这次设计中我学到很多数据库编程和网站开发的经验和技巧,锻炼了自己独立发现问题,思考问题,解决问题的能力,相信在以后的学习工作中会有很大的帮助。
致谢在毕业设计即将完成之际,借此感谢河北科技大学在我的大学四年的学习生活期间的教育和培养。在这次的毕业设计中,我首先要感谢我的导师朱研老师对我的谆谆教导。在整个毕设过程中,朱研老师工作认真负责,对设计中的每一个计划,每一项安排都提出了非常重要的建议,使我少走了许多弯路,节省了大量的时间。在遇到技术疑难问题时,他总是不厌其烦地给予答疑解难,在完成论文过程中逐字逐句地帮我修改论文,正是在朱老师的帮助和积极鼓励下,才使我的论文得以如期完成。在此,我向朱老师致以最真挚的谢意。另外还要感谢在设计开发过程中和我一起探讨问题、帮助我解决问题的同学以及一些匿名的网友,在他们的帮助下我在设计中的一些错误得到了及时的更正,也从中学到了不少的技术和经验。最后,衷心地感谢论文评审组的各位专家教授在百忙之中审阅我的论文,感谢所有帮助我关心我的人。
参考文献1张琴.JSP动态网页制作基础培训教程.北京:人民邮电出版社,20052耿祥义,张跃平.JSP实用教程.北京:清华大学出版社,20033江孝宜.JSP数据库开发实例精辟.北京:电子工业出版社,20054孙一林,彭波.Java数据库编程实例.北京:清华大学出版社,20055沈兆阳,李劲.SQLServer2000与XML整合应用.北京:清华出版社,20076刘韬.SQLServer2000数据库系统开发实例.北京:人民邮电出版社,20047贾素玲,王强.JSP应用开发技术.北京:清华大学出版社,20078朱红,司光亚.JSPWeb编程指南.北京:电子工业出版社,20019孙卫琴.Tomcat与JavaWeb开发技术详解.北京:电子工业出版社,200310孙鑫.JavaWeb开发详解.北京:电子工业出版社,200611张孝祥.Java就业培训教程.北京:清华出版社,200612邓子云.JSP网络编程.北京:电子工业出版社,200613张晓蕾.JSP动态网页基础教程.北京:人民邮电出版社,200614冯鉴,雍泰巍.基于B/S结构的成绩录入系统.计算机时代,2003(7):17~1915王玉花.基于J2EE架构的购物系统.计算机技术与发展,2006(11):171~17216王雷,蔡自兴.用JSP开发Web应用.计算机应用,2008(14):88~8917CaseyKochmer,EricaFrandsen.JSPandXMLIntegratingXMLandWebServicesinYourJSPApplication.AddisonWesley,200218DonBrown,ChadMichaelDavis,ScottStanlick.Struts2inAction.NewYork:ManningPublications,200819SharanamShahVaishaliShah.Struts2ForBeginners.NewYork:ShroffPublishersandDistributors,200920SharanamShahVaishaliShah.StrutswithHibernateProjectforBeginners.NewYork:ShroffPublishersandDistributors,200921CraigWalls,RyanBreidenbach.SpringinAction.NewYork:ManningPublications,200722JasonHunter.TheProblemswithJSP.AddisonWesleyLongmanInc,2000基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践HYPERLINK"/detail.htm?34
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐车买卖合同范本
- 北京市科技 技术开发合同模板 申请免税
- 重庆市第九十四中学校2024-2025学年高二上学期期中考试英语试题(含答案无听力原文及音频)
- 柳州市2025届高三第一次模拟考试(一模)数学试卷(含答案)
- 湖北省武汉市江夏实验高级中学2024-2025学年高三上学期11月模拟历史试题(含答案)
- 广东省深圳高级中学北校区等多校2024-2025学年七年级上学期期中生物学试题(含答案)
- 邮政专用机械及器材相关行业投资方案
- 环保特种电线电缆相关行业投资方案范本
- 民宿旅游相关行业投资规划报告范本
- 温控仪表相关项目投资计划书范本
- 电子琴伴奏及音色中英文对照表
- 苏教版初中化学常见气体的检验与除杂教案
- 网络教研——开辟校本教研新模式
- 火灾报警系统技术规范书
- 鱼塘租赁合同
- 教材自编传统节日校本课程
- 楼宇自控系统调试方案
- 排水管道施工方案(完整版)
- hydac压力继电器说明书
- 中成药上市公司组织架构及部门职责
- 《教育学原理》课程教学大纲
评论
0/150
提交评论