毕业设计(论文)汽车销售管理系统的设计与实现

上传人:1888****888 文档编号:36996265 上传时间:2021-11-01 格式:DOC 页数:42 大小:1.46MB
收藏 版权申诉 举报 下载
毕业设计(论文)汽车销售管理系统的设计与实现_第1页
第1页 / 共42页
毕业设计(论文)汽车销售管理系统的设计与实现_第2页
第2页 / 共42页
毕业设计(论文)汽车销售管理系统的设计与实现_第3页
第3页 / 共42页
资源描述:

《毕业设计(论文)汽车销售管理系统的设计与实现》由会员分享,可在线阅读,更多相关《毕业设计(论文)汽车销售管理系统的设计与实现(42页珍藏版)》请在装配图网上搜索。

1、汽车销售管理系统的设计与实现摘要近年来,随着计算机技术的发展和互联网时代的到来,给传统的汽车销售模式提出了新的要求。运用高科技,将先进的管理思想应用在整个业务流程已经成为汽车销售行业转变模式的关键。论文详细的论述了汽车销售管理系统研究目标、设计思想、模块功能以及使用工具等。系统基于B/S模式,采用Struts架构、jsp和SUN公司开发的JAVA进行编辑;开发工具:Eclipse;开发环境:Windows xp;数据库工具:SQLServer 2005;汽车销售管理系统的主要实现模块是:基础信息的录入、进货管理、销售管理、仓库管理、财务管理、查询统计、系统维护。关键字汽车销售管理系统的设计与实

2、现、jsp、Eclipse、SQLServer 2005Car sales managementsystem design and developmentABSTRACTIn recent years, with the development of computer technology and the Internet era, tothe traditional sales model cars made new demands.Use of high technology,advanced management ideas used in the entire business pro

3、cess has become thecar sales industry, the key to change modes.Paper discusses in detail managementsystem for car sales objectives, design, module function and the use of tools and Etc. This system is base on the mode of B/S mode, using the Struts、JSP and JAVA released by SUN to programme, and the d

4、evelopment environment is Eclipse;The data base development environment is SQL Server 2005. The function of news publishing system has: Input of basic information , Inventory Management , salesmanagement sales orders MANAGEMENT, warehouse management , financialmanagement , query statistics , system

5、maintenance .KEY WORDSCar sales management system design and development,jsp,Eclipse,SQLServer 200538目录摘要IABSTRACTII1引言11.1背景11.2未来发展及意义12需求分析22.1功能需求分析22.1.1操作员登陆22.1.2基本信息的管理22.1.3进货管理22.1.4销售管理32.1.5查询分析32.1.6系统管理32.1.7财务管理32.2数据分析32.2.1系统模块结构图42.2.2数据库分析43系统设计53.1系统结构63.1.1概念结构设计83.2系统流程153.3系统实

6、现工具163.4系统实现技术163.4.1 jsp技术173.4.2 Struts介绍173.4.3 JavaBean介绍183.4.4 jQuery介绍184系统的具体实现194.1数据库的模块设计194.1.1数据库的建立194.2系统开发平台的建立214.3系统具体模块功能和页面214.3.1网站主页214.3.2采购管理模块234.3.3财务管理模块234.3.4销售管理模块244.3.5仓库管理模块254.3.6系统管理员模块254.4系统流程的代码实现264.4.1代码部分和简介265系统测试和发布315.1系统测试315.1.1测试方法的介绍315.1.2链接测试325.1.3测

7、试结果325.2结论33结束语34致谢35参考文献361引言1.1背景目前,我国的汽车业销售管理大多沿用旧的管理模式,无论在仓储管理,还是在销售管理方面以及其他方面都存在一些问题,这些无疑制约了汽车业的发展和腾飞。在传统的汽车业管理模式中,纸单据及手工管理是其主流方式。这种方式具有数据可靠性差,运行效率低下,统计分析难度大的缺点,快速抽取对企业有用的统计信息的可能性很小。这种传统的管理模式已不能适应当今汽车企业的发展趋势,全球经济一体化的形成,国内外汽车销售业的竞争日趋激烈, 这无疑对寻求生存和发展的汽车销售企业形成巨大压力。然而管理技术上的差距,汽车行业普遍存在的与商业协作伙伴的沟通不及时,

8、不到位,都严重影响了企业的竞争力。因此,这是能够高效率的管理汽车销售和降低成本的等现代化,科学化的管理的汽车销售管理系统就显得尤为重要了。1.2未来发展及意义未来汽车销售主要是如何适应快速发展和变化多端的市场,如何运用高新技术手段和现代化管理来降低成本,提高企业的竞争力。信息技术和网络技术的广泛应用和发展成为企业降低成本,优化库存结构,拓展销售渠道,提高服务效率等提供了便利、这是汽车企业增强自身竞争力的必经之路.汽车销售管理系统是汽车销售企业的重要组成部分,本系统的开发加强了对汽车销售企业对销售的管理,提高了综合管理能力,促进了汽车企业的快速发展。本系统的开发对汽车产业树立对客户信息为企业战略

9、资源的策略,建立了以客户对中心的管理理念以及规范化,信息化汽车销售进程,都具有实际的意义。2需求分析2.1功能需求分析汽车销售管理系统涉及到车辆采购,存库信息,公司收益,客户厂商的信息,还要有一定的管理者来管理这个系统,能够对系统内容进行更新,修改和删除.2.1.1操作员登陆因为操作员有权限之分,不同权限的操作员对系统能够进行的操作不同.1级操作员可以对系统进行全部操作,而2级以上的就有限制了.2.1.2基本信息的管理包括对厂商、客户、汽车的基本信息的管理。对厂商的基本信息的查询,修改,增加.操作员在需要对厂商信息进行更新的时候可以对它进行操作.汽车销售公司的厂商基本上是固定的,所以经常使用的

10、是对厂商信息的查询,这个操作属于公司内部人员操作的范围。销售汽车需要各种类型的车,来适应不同使用人群.车型信息包括对车的基本信息的描述.作为管理员要定时的对车型信息进行添加. 公司需要对购买车辆的用户进行基本信息的登记和定时的更新,这项工作对于汽车销售的售后服务有重要作用.公司可以对客户进行产品使用情况跟踪.此项功能应该包括对客户信息的添加,修改和不需要的资料的删除.2.1.3进货管理汽车进货需要登记进货的价格,日期,厂家编号和车的基本信息.进货操作应该是进货管理者应该进行的管理.车辆采购:进货需要跟厂家进货,所以需要跟厂家打交道.采购时不仅应该记录车辆的型号等基本信息,还要记录厂家的信息.车

11、辆退货:对有质量问题的汽车向厂家退货.2.1.4销售管理汽车销售时的基本信息管理车辆销售: 要包括对汽车主要信息的记录,如成交价,客户的编号,名称.车辆销售出去后,还要对销售信息进行复查,防止出现帐目不准确的情况.2.1.5查询分析可以查询基本信息,比如:汽车销售数量,员工业绩,进出库数量,进退货查询。2.1.6系统管理系统管理员增加本系统的角色,包括角色添加,删除,查看。系统管理员添加用户,删除某些不合法用户,修改用户信息。每一个角色都有系统管理员为其分配权限2.1.7财务管理总的管理所有的财务方面,包括客户的付款和退款,付厂商款及厂商退款。2.2数据分析汽车销售管理系统中涉及的数据主要包括

12、员工的基本信心、汽车的基本信息、厂商的基本信息、客户的基本信息、财务账单的信息等,需要有严格的设计要求。系统管理员:对厂商,车型信息,客户信息的查询,添加,删除等操作,并且可以对普通操作员的权限进行设置.该操作员拥有的权限是最高的。普通管理员:对该管理员对应的职能进行相应的维护,更改,删除等操作.定期对所管理的事务进行检查。2.2.1系统模块结构图根据系统的数据流程画出系统的模块结构图如图2.1.1所示汽车销售管理系统基础信息管理进货管理销售管理仓库管理系统维护财务管理查询统计客户信息管理管理管理汽车信息管理供应商信息管理入库出库查询进货退货查询销售单退货单操作员管理管理更改密码权限管理收客户

13、款管理客户退货退款退款付供应商款厂商退回的货款入库单出库单采购计划汽车销售排行员工业绩查询退款销售查询销售统计查询进货表退货表图2.1.1系统模块结构图2.2.2数据库分析数据库是一个系统的灵魂,合理的数据库设计对整个系统项目的开发变得更加高效灵活,因此根据之前的分析,我们对整个系统的实体以及联系进行了一下总结规划:该数据库有六个实体(汽车实体、员工实体、部门实体、仓库实体、厂商实体、客户实体)以及几种主要联系(采购联系、存入联系、取出联系、收款联系、销售联系等)。在设计完成之后,对数据库的建立以及连接也很重要,一个系统只有正确的设计、建立及连接数据库之后才能真正实现所谓的交互,让整个系统焕发

14、生机。数据项和数据结构大体如下:1. 员工信息:员工号、员工姓名、员工性别、员工年龄、员工联系电话;2. 客户信息:客户号、客户姓名、客户联系电话、客户所购买的车号、客户住址、客户购车时间、客户购车时的销售人员号;3. 销售信息:表单号、车型号、厂商号、出售车辆数、出售车的时间、出售车时的销售人员号;4. 厂商信息:厂商号、厂商名称、厂商地址、厂商联系电话;3系统设计总体设计的任务是要概要地给出系统的实现方法,划分组成系统的物理元素,确定系统的软件结构,即组成系统的各个模块及模块之间的关系。在总体设计中,主要采用面向数据流的设计方法,结构化设计(SD)方法是一种典型的面向数据流的软件总体设计方

15、法。结构化设计方法主要是根据系统分析过程中所得到的数据流的不同结构特征,映射为软件的初始结构图,再根据模块设计的基本原则和启发式规则进行软件结构的优化。在需求分析中得到的数据流图所表示的系统结构特征,可以归纳为两种典型的形式:变换型和事务型两种结构类型。在实际问题中,系统的DFD图可能比较复杂,往往同时存在着变换型和事务型两类结构。1. 面向数据流的SD方法的主要步骤为:2. 复审需求分析阶段所得到的详细DFD图,必要时再次进行修改和细化;3. 鉴别软件系统的结构特征是变换型还是事务型;4. 根据软件系统的结构特征,按照从DFD图到SC图的不同映射规则和步骤,映射为初始的SC图。首先把数据流图

16、映射到软件结构上去,建立软件的基本框架结构,再把所得到的基本框架结构做进一步分解;变换分析事务分析变换型DFD图 初始SC图事务型DFD图 初始SC图5. 按优化规则优化所得到的初始结构图。 3.1系统结构系统基于B/S结构设计。如图3.1.1所示是B/S的结构图,B/S模式,是随着Internet技术的兴起,对C/S模式的一种变化或者改进的模式。在这种模式下,用户界面完全通过浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。B/S模式利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,井节约了开发成本,是一种全新的软件系统构造技术。它具有界面统一、流

17、程简单、操作方便的优点。图3.1.1B/S三层体系结构图B/S模式的前端是以TCP / IP协议为基础的,企业内部的万维网服务器可以接受安装有Web浏览程序的Internet终端的访问,作为最终用户,只要通过Web浏览器,各种处理任务都可以调用系统资源来完成,用户只要拥有一台计算机就能方便的进行相关的操作,而不需要下载任何客户端程序。这样大大简化了客户端,方便了用户。同时,减轻了系统维护与升级的成本和工作量,降低了总体成本,也是汽车销售管理系统能真正成为现实的基础。目前大多数使用的Client/Server方式,虽然起到一定的作用,但由于当修改和增强数据应用时,需要开发客户端应用程序。进行服务

18、器端更改或客户端服务器端同时更新,由此带来的工作量是巨大的。另外,客户端/服务器端方式中的数据库系统之间的数据库结构和数据类型不一致,导致数据库系统之间的转换困难。再有,数据库应用系统是基于特定硬件平台和应用平台,这对数据库应用的移动带来困难。而基于Web方式访问数据库,此问题就迎刃而解。客户端无论是何种平台,只要具有浏览器就可以通过Web页面访问到数据库的内容,这大大降低了对客户平台的要求,而且无论是数据或应用程序都存放与服务器,开发人员可以非常方便地对系统进行更新和维护。免去了针对不同应用平台编写不同前端应用程序。本系统主要是在浏览器上实现对汽车销售的管理的,这里根据需求分析所得到的汽车销

19、售管理系统数据流图,将其优化、求精后,得到系统的详细DFD,采用面向数据流的分析方法,由于系统是事务型的模式特征,因此按照事务分析的映射规则把数据流图映射到软件结构上,建立起系统的框架结构如图3-1所示:用户层Jsp页面、Jsp技术业务层控制组件、业务逻辑数据层JDBC、数据增改删图3-1系统框架结构图1用户层该层是一些JSP页面,主要是利用JSP技术来实现,同时还运用了JavaScript脚步,对一些数据进行页面上的计算,对一些参数和逻辑进行了校验。2业务层该层是由控制ActionServlet,Action和业务逻辑类JavaBean来实现的。JavaBean里面封装了与数据层的交互关系,

20、以实现所有的业务逻辑。该层通过面向方面编程、面向接口编程,来降低业务之间的耦合度、提高代码的重用性和增强系统拓展性。3数据层开发中与数据库进行数据交互主要可以归为添加、读取、修改、删除,这些操作占据了系统开发中的大部分时间,同时还需要考虑与数据库交互的性能问题。数据层主要设计目标是为了整个项目提供一个高层、统一、安全和并发的数据持久机制。3.1.1概念结构设计概念结构设计是将需求分析得到的用户需求抽象为信息结构即概念模型的过程,是数据库设计的关键。概念结构是各种数据模型的共同基础,它比数据模型更独立于机器,更抽象,从而更加稳定。汽车销售管理系统的概念结构设计中,采用E-R模型来描述,采用自底向

21、上方法。首先利用分类、聚集等数据抽象机制对需求分析阶段收集到的数据进行分类、组织(聚集)、形成实体、实体的属性、标示实体的码,确定实体之间的联系类型(1:1,1:N,M:N)设计出分E-R图,解决各分E-R图之间的属性、命名等冲突,再采用分析法,利用规范化理论消除冗余,经过修改和重构,生成基本E-R图,在合并的过程中,并不是所有的冗余数据和冗余联系都必须加以消除,有时为了提高效率,不得不以冗余信息为代价。经分析,得到系统的基本E-R图如图3-2所示:客户汽车厂商员工仓库购买销售属部门属存入采购取出收款图3-4数据库的E-R图模型图汽车实体E-R图如3-3图所示:汽车型号车名进价出价库存数汽车厂

22、商号图3.3汽车实体E-R图员工实体E-R图如3-4图所示:员工员工号员工密码姓名员工单位号图3-4员工实体E-R图部门实体E-R图如3-5图所示:部门部门编号部门名称图3-5部门实体E-R图仓库实体E-R图如图3-6所示:仓库仓库号仓库工作者号仓库名称图3-6仓库实体E-R图厂商实体E-R图如图3-7所示:厂商厂商号厂商名字厂商电话图3-7仓库实体E-R图客户实体E-R图如图3-8所示:客户客户号客户姓名联系电话所购汽车号购车时间客户地址图3-8客户实体E-R图2.逻辑结构设计逻辑结构设计的任务就是把概念结构设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构设计。在

23、汽车销售管理系统中,所选用的DBMS产品为SQL Server 2000,因此应将概念模型转换为关系数据模型,关系模型的逻辑结构是一组关系模式的集合。E-R图则是由实体、实体属性和实体之间的联系三个要素组成的。所以将E-R图转换为关系模型实际上是要将实体、实体的属性和实体之间的联系转换为关系模式。根据数据库设计的理论和方法,新闻发布系统的数据模型经过转换和优化,并结合系统的实际处理需求,得到系统的全局逻辑模型,各关系模式如下:1.汽车信息(汽车型号,汽车名称,汽车进价,汽车出价, 库存数,厂商号)2.员工信息(员工号,员工姓名,员工单位号,员工密码)3.部门信息(部门编号,部门名称)4.仓库信

24、息(仓库号,仓库员工号,仓库名称)5.厂商信息(厂商号,厂商名字,厂商电话)6.客户信息(客户号,姓名,联系电话,所购汽车号,购车时间,客户地址)7.采购联系(采购单号,采购人员号,采购厂商号,采购时间,采购汽车数量,购车价格)8.存入联系(入库号,入库人员号,入库时间,入库数量,付款单号)9.取出联系(出库号,出库人员号,出库时间,入账单号)10.收款联系(付账单号,付账操作人员号,付账时间,金额,所购汽车号,所购汽车仓库号)11.销售联系(销售单号,销售人员号,购车客户号,销售时间,售价)数据库css包含以下11个表:汽车信息表、员工信息表、部门信息表、仓库信息表、厂商信息表、客户信息表、

25、采购表、入库表、出库表、入帐表、销售表。这些数据表用SQL Server 2005实现的,其中所有字段名都用英语单词或其缩写来命名。所有表的结构如下:表1 汽车信息表css_car字段名数据类型长度说明Car_noVarchar50汽车号 主键Car_nameVarchar50汽车名字Car_priceinint20汽车进价Car_priceoutint20汽车售价Car_storenoVarchar50存放汽车仓库号Car_factorynoVarchar50汽车厂商号此表记录汽车产品的基本信息。其表的名称叫做css_car,汽车号这一属性作为其主键是独一无二的。建立的这个表中包含六个属性,

26、其中有四个数据类型为Varchar而进价和售价则设定为int类型。表2 员工信息表css_worker字段名数据类型长度说明Worker_noVarchar50员工号 主键Worker_nameVarchar50员工姓名Worker_deptnoVarchar50员工单位号Worker_password tVarchar50员工密码此表记录员工的基本信息。其表的名称叫css_worker,在建立这个表的时候将员工号这一独一无二的属性作为其主键,所有属性都是用长度为50的varchar类型。表3部门信息表css_dept字段名数据类型长度说明Dept_noVarchar50部门编号 主键Dept

27、_nameVarchar50部门名称此表记录员工的基本信息。这个表的名称设为css_dept,部门编号则作为其主键,这个表所包含的属性项很简单,并且都为长度50的varchar类型。表4仓库信息表css_store字段名数据类型长度说明Store_noVarchar50仓库号 主键Store_nameVarchar50仓库名称Store_workernoVarchar50仓库员工号此表记录仓库的基本信息。此表的名称建立为css_store,其包含三种属性,仓库号作为其唯一的主键来方便与其他表进行关联,其所有的属性类型都设定为长度50的varchar类型。表5厂商信息表css_factory字段

28、名数据类型长度说明Factory_noVarchar50厂商号 主键Factory_nameVarchar50厂商名称Factory_phoneVarchar50联系电话此表记录厂商的基本信息。这个表的名称设为css_factory,它包含三个属性,这些属性中只有厂商号是其独一无二的代表,因此作为其主键,三个都使用长度50的varchar类型。表6客户信息表css_customer字段名数据类型长度说明customer _noVarchar50客户号 主键customer _nameVarchar50客户姓名customer _phoneVarchar50联系电话customer _addre

29、ssVarchar50地址customer _carnoVarchar50所购汽车号customer _timeDatatime50购车时间此表记录客户的基本信息。该表中包含六个属性,每个客户都设定其单独的客户号,因此将客户号作为其主键。其中的购车时间是时间属性因此其设为特殊的长为50的Datatime属性,其他的属性都设为长50的varchar类型。表7采购表css_buy 字段名数据类型长度说明Buy _noVarchar50采购单号 主键Buy _workernoVarchar50采购人员号 Buy _timeDatatime50采购时间Buy _factorynoVarchar50采购

30、汽车厂商号Buy _countint20所购汽车数量Buy _priceinint20购车价格Buy _processVarchar50是否采购此表记录采购的基本信息。这个表是一个员工实体和汽车实体之间的联系所对应的表,他所记录的是采购员工采购汽车时必须记录的一些重要信息,它的名称设为css_buy,采购员工的每一次采购都会有其唯一的采购单号,因此这个属性作为其主键。表8入库表css_in字段名数据类型长度说明In _noVarchar50入库单号 主键In _workerNoVarchar50入库人员号customer _timeDatatime50入库时间customer _countin

31、t20入库数量customer _paynoVarchar50付款单号此表记录存入的基本信息。这个表反映的是汽车存入仓库时所形成的仓库与汽车之间的存入联系,它记录的是汽车存入仓库时由入库人员记录的汽车入库的重要信息,其名称设为css_in,每次存入仓库时所填的入库单所记录的入库单号作为其标记的主键,而每次入库还得记录下其他以下几种重要信息,也就是其属性:此次进行入库的入库人员号、入库时间、入库的汽车数量以及此次入库存入的汽车在其购买时所填的付款单号,其中入库时间使用长度50的Datatime类型、入库数量使用长20的int型,其他的均使用长50的varchar型。表9出库表css_out字段名

32、数据类型长度说明Out _noVarchar50出库号 主键Out _workerNoVarchar50出库人员号Out _timeDatatime50出库时间Out _recorednoVarchar50入账单号此表记录取出的基本信息。这个表所反映的是仓库的汽车出库时的仓库和汽车之间的取出联系,该表所记录的则是汽车出库时有仓库员工记录的一些重要信息,其名称设为css_out,这个表中的出库号是每次出库时所填写的出库单的出库号,所以作为出库单的唯一标记要设定为主键,这个出库单还得包含其他几种必填的信息:此次出库时进行记录的仓库人员号、出库时间以及这次出库时的车辆卖出时所记录的入库单号,其中出库

33、时间用长50的Datatime型,其他使用长50的varchar型。表10付账表css_pay字段名数据类型长度说明Pay _noVarchar50付账单号 主键Pay _workernoVarchar50付账操作人员号Pay _timeDatatime50付账时间Pay _moneyint20金额Pay _storeNoVarchar50所购汽车仓库号Pay _carnoVarchar50付款所购汽车号此表记录收款的基本信息。其反映的是客户给收银员工付款时形成的客户与员工之间的收款联系,其记录的也是收款时需要记录的一些信息,将其名称设为css_pay,此表中独一的付账单号作为其主键,当然还有

34、其他在记录是必须详细记录的信息:此次收款的员工的员工号、付款的时间、本次付款所付的金额、所购买的汽车号以及此车在公司仓库存放的仓库号,其中付账时间用长度为50的Datatime型,付款金额为长度20的int型,其他属性使用长为50的varchar型。表11销售表css_sell字段名数据类型长度说明sell _noVarchar50销售单号 主键sell _workernoVarchar50销售人员号sell _customernoVarchar50购车客户号sell _timeDatatime50销售时间sell _priceint20售价sell _timeDatatime50购车时间此表

35、记录销售的基本信息。这个表同样是联系的表,它反映的是销售员工在销售汽车给客户时客户和销售员工之间的销售联系,这个表记录的则是销售时所必须的一些重要信息,该表名称设为css_sell,在销售人员记录时所填写的销售单号作为其标记的主键,这张记录中还包含其他五种记录时所必须的一些重要信息,也是该表的重要属性:成功完成此次销售的销售人员的编号、为此次交易中购买车辆的客户所设定的编号,销售时间、该客户购买的车辆的售价以及客户购车时的时间,这些重要属性中销售时间和购车时间用长为50的Datatime型,售价使用长20的int型,其他都使用长50的varchar型。3.2系统流程系统流程是在使用系统时的工作

36、过程。由于安全性考虑,本系统的操作要求用户在登录后才能进行。用户登录时,将进行用户身份的判断。一般工作人员和管理由于权限不同,可以实现的功能也不相同,在登录后,系统将限制他们只能操作本身权限所能操作的页面。用户登录后,可以对系统进行一些常用的业务操作。对与一般工作人员,比如销售工作人员,可以在汽车信息管理、客户信息管理、销售信息管理进行相关操作,但对修改权限、添加新员工就无法接触了。具体流程如图3.2所示图3.2系统总体流程图3.3系统实现工具汽车销售管理系统在设计中,以windows xp为开发环境,采用了Eclipse作为开发工具,以Apache下的tomcat为JAVA为服务器,SQLS

37、erver 2005作为后台数据库,开发了基于浏览器/服务器(Browser/Server,B/S)模式的应用程序。3.4系统实现技术主要使用开发语言和技术为:Jsp/Servlet+JavaBean+Struts+SQLServer 2005。本系统使用Java开发语言,以Struts2为基础的MVC大框架。用Struts的controller进行流转的控制,用JSP进行页面显示,在页面中使用jQuery实现在页面上检查是否重复,是否上下一致,并且运用Spring实现了各层的解耦,大大提高了程序的可扩展性,并且易于维护。 数据库使用微软下的SQLServer 2005来存储数据。3.4.1

38、jsp技术JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Java Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTM

39、L文本,因此客户端只要有浏览器就能浏览。JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。自JSP推出后,众多大公司

40、都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。JSP可用一种简单易懂的等式表示为:HTML+Java=JSP。3.4.2 Struts介绍Struts是一个为开发基于模型(Model)视图(View)控制器(Controller)(MVC)模式的应用架构的开源框架,是利用Java Servlet和JSP构建Web应用的一项非常有用的技术。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,因而吸引了众多的开发人员的关注。首先事件是指从客户端页面(浏览器)由用户操作触发的事件,Struts使用Action来接受浏览器表单提交的

41、事件,这里使用了Command模式,每个继承Action的子类都必须实现一个方法execute。Struts重要的表单对象ActionForm是一种对象,它代表了一种应用,这个对象中至少包含几个字段,这些字段是JSP页面表单中的input字段,因为一个表单对应一个事件,所以,当我们需要将事件粒度细化到表单中这些字段时,也就是说,一个字段对应一个事件时,单纯使用Struts就不太可能,当然通过结合JavaScript也是可以转弯实现的。Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。Struts把Servlet、JSP、自定义标签和信息资源(

42、message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。3.4.3 JavaBean介绍JavaBean是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露称为属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制发现和操作这些JavaBean 属性。用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创

43、造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。3.4.4 jQuery介绍query是继prototype之后又一个优秀的Javascrpt框架。它是轻量级的js库(压缩后只有21k) ,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供A

44、JAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。4系统的具体实现4.1数据库的模块设计数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。根据数据量的大小不同,系统可以使用不同的数据库。本系统使用的是SQLServer2005数据库。SQLServer2005数据库使用方便,数据存储量也比较大,是比较适合中小型网站

45、开发的数据库。对于大数据量的网站,可以使用Oracle数据库。4.1.1数据库的建立启动SqlServer 2005,输入正确的用户名字和密码,要确保用户名和密码与系统中的配置文件的userName,password相同,建立数据库css,然后依次建立相关表,在表中记得添加主键,系列号主动生成,如图4.1所示:图4.1表结构的设计完全是按照逻辑结构设计中为各表设计的结构来实现的,各字段的设置在逻辑结构设计中也有详细说明。这里仅以-表为例,展示表的设计结果如图4-2所示。图4.24.2系统开发平台的建立以Java为主流开发语言进行程序设计,应用Web、Jsp、Servlet、JavaBean等J

46、2EE技术和以Struts为框架实现系统的开发。在J2EE体系中,用Servlet控制,用JSP变现,而业务层用JavaBean实现。开发环境选择Window xp ,开发工具使用Eclipse,JDK为1.6,以Apache下Tomcat作为J2EE服务器,系统的数据库平台选用SQLServer 2005系统。硬件开发环境为1G内存以上pc。4.3系统具体模块功能和页面4.3.1网站主页用户在浏览器输入网址,会出现一个login的登录界面,员工需要输入用户名和密码进入不同的界面,并进行相关操作。以下以管理员身份登录并进入管理员首页,如图4.3.1.1和4.3.1.2所示:图4.3.1.1登录

47、界面图4.3.1.2网站首页管理员首页主要展示所有模块的基本信息列表,并通过首页上的标注可以连接到二级页面,进行操作。严格权限限制,除管理员之外,任何角色都只能进入自己的模块,互不干涉。4.3.2采购管理模块以采购人员身份进入到采购管理模块,查看库存信息,然后填写采购计划,接着查看新的采购单,也就是被财务部门审批后的采购单,并可以对过期的采购单进行管理,如图4.3.2.1所示:图4.3.2.1制定采购计划采购计划主要是需要采购的产品的相关信息,是否处理默认是“N”,并通过提交,传给财务部。4.3.3财务管理模块以财务人员的身份进入财务管理模块,查看库存信息和销售信息,核对采购部门提交的采购单,

48、然后点击修改进行处理,是否处理一栏则自动将“N”变为“Y”,然后返回给采购部门,如图4.3.3.1所示:图4.3.3.1处理采购单4.3.4销售管理模块以销售人员身份进入销售管理模块,填写销售信息,提交给财务部。并对客户进行信息注册,以方便售后服务和长远发展。如图4.3.4.1所示:图4.3.4.1销售信息录入4.3.5仓库管理模块以仓库人员身份进入仓库管理模块,根据采购计划填写入库单,根据销售信息填写出库单,以入库和出库信息来统计仓库存储信息,并将存储信息提交给各部门。如图4.3.5.1所示: 图4.3.5.1仓库信息列表4.3.6系统管理员模块系统管理员主要包括对公司员工、部门、产品以及客

49、户等所有信息的相关操作。如图4.3.6.1所示:图4.3.6.1员工信息列表4.4系统流程的代码实现4.4.1代码部分和简介当系统在Tomcat中发布后,首次接受到来自浏览器的访问要求时,系统首先会完成自身的初始化,加载解析系统的配置文件,如data_sources.xml、bean.xml等。如代码:package com.softstone.mvc.db;import java.io.*;import .*;import java.util.*;import javax.sql.DataSource;import org.dom4j.*t;public class DataSourceFa

50、ctory private static final String DEFAULT_DATA_SOURCE_NAME=data-sources.xml;private static DataSourceFactory factory=new DataSourceFactory();private Map dataSources;private DataSourceFactory()public void init() throws DataSourceInitExceptioninit(this.getClass().getResourceAsStream(DEFAULT_DATA_SOURC

51、E_NAME);SuppressWarnings(unchecked)public void init(InputStream in) throws DataSourceInitExceptionif(dataSources!=null)throw new DataSourceInitException(不能重复初始化);elsedataSources=new HashMap();/解析SAXReader saxReader=new SAXReader();try Document doc=saxReader.read(in);Element root=doc.getRootElement()

52、;Iterator iterator = root.elementIterator(data-source);while(iterator.hasNext()Element elt=iterator.next();String key=elt.attributeValue(name);DataSourceImpl dataSourceImpl=new DataSourceImpl();dataSources.put(key, dataSourceImpl);dataSourceImpl.setDriverClassName(elt.elementTextTrim(driverClassName

53、);dataSourceImpl.setUrl(elt.elementTextTrim(url);dataSourceImpl.setUsername(elt.elementTextTrim(username);dataSourceImpl.setPassword(elt.elementTextTrim(password); catch (DocumentException e) throw new DataSourceInitException(解析配置文件出现异常);public void init(URL url) throws FileNotFoundException, URISyn

54、taxException, DataSourceInitExceptioninit(new File(url.toURI();public void init(File file) throws FileNotFoundException, DataSourceInitExceptioninit(new FileInputStream(file);public static DataSourceFactory getDataSourceFactory()return factory;public DataSource getDataSource(String dataSourceName)if

55、(dataSources=null)try init(); catch (DataSourceInitException e) e.printStackTrace();return dataSources.get(dataSourceName);系统解析请求中request中的url,然后对照相应的配置文件中的所要访问的action从而转发给该action去处理请求,action再根据所处理的结果是success还fail来给系统转发相应的页面。如出库的action:package com.car.cjz.action.impl;import java.util.List;import com

56、.car.bean.ChuKu;import com.car.cjz.action.ChuKuAction;import com.car.cjz.dao.ChuKuDao;import com.car.cjz.sort.Add;import com.softstone.mvc.ActionSupport;import com.softstone.mvc.PagerImpl;public class ChuKuActionImpl extends ActionSupport implements ChuKuAction private ChuKu chuKu;private ChuKuDao c

57、huKuDao;public void setChuKuDao(ChuKuDao chuKuDao) this.chuKuDao = chuKuDao;Overridepublic void initModel() chuKu=new ChuKu();chuKu.setChuKuNo(request.getParameter(chuKuNo);chuKu.setNumber(request.getParameter(number);chuKu.setConactPerson(request.getParameter(conactPerson);chuKu.setNewDate(request.

58、getParameter(newDate);Overridepublic void validate() / TODO Auto-generated method stubOverridepublic String chuKuById() ChuKu ku=chuKuDao.chuKuById(chuKu.getChuKuNo();request.setAttribute(chuKu, ku);return SUCCESS;Overridepublic String chuKuDelete() if(chuKuDao.chuKuDelete(chuKu.getChuKuNo()0)return SUCCESS;return ERROR;Overridepublic String chuKuInput() request.setAttribute(chuKus, chuKuDao.chuKuList();if(c

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!