基于java-web的超市账单管理系统_第1页
基于java-web的超市账单管理系统_第2页
基于java-web的超市账单管理系统_第3页
基于java-web的超市账单管理系统_第4页
基于java-web的超市账单管理系统_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

1、xxx大学毕 业 论 文(设计)论文题目 基于java web的超市账单管理系统 姓 名 学 号 院 系 专 业 指导教师 职 称 中国合肥二o一四 年六月 摘 要随着超市的不断发展,超市规模越来越大,商品的品种和数量也随之变的更多,同时,超市的业务也就变得越加的繁重。而超市员工要经常的对超市各种商品的账单等信息进行统计,由于信息量太大,导致人工统计数据时容易发生错误,并且工作效率达不到理想的效果。为了解决这种情况,于是开发了超市账单管理系统。本系统基于java web开发,主要使用的是java编程语言,使用oracle数据库和Myeclipse等开发工具。本系统主要实现对超市账单、供应商和用

2、户的简单管理。使用的核心技术是Servlet和Jsp,Servlet用来处理用户的请求和页面的跳转,Jsp用来向用户显示数据以及实现系统和用户的交互;使用JDBC技术实现与数据库的连接;页面使用div+css布置格局,用javascript处理表单的前端验证。本系统较好的解决了超市账单管理混乱,效率低下的问题,使超市人员在管理超市账单等业务时更有效率。关键词:java Servlet jsp oracle 超市账单管理系统AbstractWith the continuous development of the supermarket, the supermarket scale more

3、and more big, The variety and quantityof goodsbecomesmore, At the same time,the supermarketbusinesshasbecome more and moreheavy.Thesupermarketstaffmust oftento the supermarketcommoditybillssuch as statistical information, The information is too large, prone to error due to artificial statistical dat

4、a, And the work efficiencycan not reach the ideal effect. In this case the supermarket bill management system also emerge as the times require.This system is mainlythe use of Java language,webdevelopment based onJava, The use of Oracle databaseanddevelopment tools such as Myeclipse. This system main

5、lyrealize thesimplemanagement of supermarketbills,suppliers and users. The core technologyis the use ofServletand Jsp, Servlet is used toprocess userrequests andpage jump, Jsp is used todisplay dataanduser interactionto the user; Connect usingJDBC technology anddatabase; The div+css pagelayout,front

6、-endverification processformjavascript. This systemcan solve thesupermarket billmanagement confusion,inefficiency, Thesupermarketstaffgreater efficiency in themanagement of supermarketbills business.Keywords: java Servlet jsp oracle bill management system目录 TOC o 1-3 h z u HYPERLINK l _Toc387693504

7、HYPERLINK l _Toc387693505 摘 要 PAGEREF _Toc387693505 h I HYPERLINK l _Toc387693506 Abstract PAGEREF _Toc387693506 h II HYPERLINK l _Toc387693507 前 言 PAGEREF _Toc387693507 h 1 HYPERLINK l _Toc387693508 1 系统功能需求分析 PAGEREF _Toc387693508 h 2 HYPERLINK l _Toc387693509 1.1 功能分析 PAGEREF _Toc387693509 h 2 HY

8、PERLINK l _Toc387693510 1.2 系统分析 PAGEREF _Toc387693510 h 2 HYPERLINK l _Toc387693511 1.2.1模块组成 PAGEREF _Toc387693511 h 2 HYPERLINK l _Toc387693512 1.2.2各子模块工作流程 PAGEREF _Toc387693512 h 3 HYPERLINK l _Toc387693513 1.3 可行性分析 PAGEREF _Toc387693513 h 4 HYPERLINK l _Toc387693514 1.3.1技术可行性 PAGEREF _Toc38

9、7693514 h 4 HYPERLINK l _Toc387693515 1.3.2经济可行性 PAGEREF _Toc387693515 h 4 HYPERLINK l _Toc387693516 1.3.3社会可行性 PAGEREF _Toc387693516 h 4 HYPERLINK l _Toc387693517 2 系统总体设计 PAGEREF _Toc387693517 h 5 HYPERLINK l _Toc387693518 2.1 java web分层开发的思想 PAGEREF _Toc387693518 h 5 HYPERLINK l _Toc387693519 2.2

10、 系统的设计模式 PAGEREF _Toc387693519 h 5 HYPERLINK l _Toc387693520 2.3 技术路线选择 PAGEREF _Toc387693520 h 6 HYPERLINK l _Toc387693521 2.4 设计工具的选择 PAGEREF _Toc387693521 h 8 HYPERLINK l _Toc387693522 3 系统详细设计 PAGEREF _Toc387693522 h 10 HYPERLINK l _Toc387693523 3.1 数据表结构设计 PAGEREF _Toc387693523 h 10 HYPERLINK l

11、 _Toc387693524 3.2 主页面设计 PAGEREF _Toc387693524 h 11 HYPERLINK l _Toc387693525 3.3 系统个子模块详细设计 PAGEREF _Toc387693525 h 11 HYPERLINK l _Toc387693526 3.3.1登录模块 PAGEREF _Toc387693526 h 11 HYPERLINK l _Toc387693527 3.3.2用户管理模块 PAGEREF _Toc387693527 h 13 HYPERLINK l _Toc387693528 3.3.3账单管理模块 PAGEREF _Toc38

12、7693528 h 15 HYPERLINK l _Toc387693529 3.3.4供应商管理 PAGEREF _Toc387693529 h 18 HYPERLINK l _Toc387693530 4 系统的特点与不足 PAGEREF _Toc387693530 h 21 HYPERLINK l _Toc387693531 4.1 系统的特点 PAGEREF _Toc387693531 h 21 HYPERLINK l _Toc387693532 4.2 系统的不足 PAGEREF _Toc387693532 h 21 HYPERLINK l _Toc387693533 结束语 PAG

13、EREF _Toc387693533 h 23 HYPERLINK l _Toc387693534 参考文献 PAGEREF _Toc387693534 h 24 HYPERLINK l _Toc387693534 附录 PAGEREF _Toc387693534 h 25 HYPERLINK l _Toc387693535 致谢 PAGEREF _Toc387693535 h 36前 言超级市场是以顾客自选方式经营的大型综合性零售商场。超市现在已经成为我国零售业的一种重要形态,为我国国民经济的发展起到了重要的作用。如今超市的发展十分迅速,超市规模相对以前变得更加庞大,商品的品种和数量也随之变

14、的更多,同时,超市的业务也就变得越加的繁重,最初的售货员站柜台的销售方式和人工管理超市账单的方式已不能满足现有的超市的发展,因此我们需要引入新的管理技术来适应超市急速发展的局势。随着科学技术的迅猛发展,我国早已步入数字化时代,需要加工处理和传输的信息量巨大,因此信息的存储和处理也显的尤其重要。超市账单管理系统的运作就是处理和存储大量的数字信息,这就需要对数据库进一步的开发和利用。超市要想在如今激烈的市场竞争中占有一席之地,就需要有高效的处理方式和管理方法,因此加快超市的信息化进程是必不可少的。本次毕业设计的目标是开发一个基于Java web的超市账单管理系统,为超市提供一个合理的管理方案。本系

15、统可以在一定程度上提高管理水平和工作效率,可以最大限度的减少人工操作带来的失误,使用此系统主要为了方便超市工作人员合理的管理超市账单,商品和会员用户等信息,从而达到提高超市管理效率的目的。1 系统功能需求分析1.1功能分析超市账单管理系统的主要功能就是完成对超市账单、会员用户及供应商进行数据的增加、删除、修改和查看的功能。在各个管理模块中,可以根据名称查询相应模块中所有符合条件的记录,快速的查询到符合条件的数据,方便用户进行信息核对,同时用户也可以对所查询到的记录进行增加、修改和删除操作。操作完毕后,用户可以退出系统。具体系统功能需求描述如下:(1)登录,用户根据用户名、密码进行登录,系统从后

16、台获取用户名,用户名存在并且密码正确的情况下,成功登录,否则登录失败,并在登录页面给出相应提示。 (2)账单管理,主要管理超市账单,有账单的编号、商品名称、商品数量、交易金额、是否付款、供应商名称、商品描述和账单时间。用户可以通过点击商品名称,查看商品的具体信息,并根据需求对其进行删除,修改等操作。(3)供应商管理,主要管理与超市合作的供应商,有编号、供应商名称、供应商描述、联系人、电话和地址。用户可以通过点击供应商名称,查看供应商的具体信息,并根据需求进行删除,修改等操作。(4)用户管理,主要管理管理超市的用户,有编号、用户名称、性别、年龄、电话、地址和权限。用户可以通过点击用户名称,查看用

17、户的具体信息,并根据需求进行删除,修改等操作。用户管理信息化,减少了人力资源的浪费。(5)退出,用户对数据操作完毕后,可以点击退出按钮,退出管理系统,回到登陆界面。1.2系统分析1.2.1模块组成本设计根据实际需求将系统划分成4个不同模块进行开发,分别为登录模块、账单管理模块、供应商管理模块和用户管理模块,如图1-1所示:超市账单管理系统用户管理模块用户管理模块账单管理模块登录模块供应商管理模块图1-1 系统功能模块图 1.2.2各子模块工作流程用户想使用此系统,首先要使用用户名和密码进行登录,登录失败则重新登录,登陆成功后会根据用户的权限进入到不同的界面,从而进行不同的操作,系统中各个子模块

18、之间的具体工作流程如图1-2所示:用户登录N验证 Y 普通用户重新登录Y 管理员登录模块账单管理模块登录模块账单管理模块用户管理模块供应商管理模块图1-2 模块工作流程图1.3可行性分析1.3.1技术可行性本系统是基于java web所编写的,java语言作为专业课程已经学过。查找java web相关资料学习了jsp,javascript和html等相关内容,本系统所实现的是超市账单管理的最基本、最简单的应用,因此在给定的时间内能够完成。开发本系统所需要的软件均可以在网上免费获得,同时也可以在网上获得部分开源的代码和图片。因此,技术上是完全可行的。1.3.2经济可行性由于本系统是作为毕业设计由

19、我们学生自己开发的,所需要的素材、开发工具等也都可以在网上免费获得,不需要任何的费用,并且本系统是基于B/S架构开发实现,开发和维护成本都很低,系统建成之后将为超市行业提供很大的方便,因此在经济上是可行的。1.3.3社会可行性本系统编程所使用的是自己所写代码,部分是网上的开源代码和图片,并且不以获利为目的,也不会对社会造成不良影响。因此不必承担任何法律责任。2 系统总体设计2.1 java web分层开发的思想整个系统具有的代码量非常的多复杂,如果这些代码全部放在一起,会使代码层次混乱不堪,当修改业务逻辑或数据库访问的代码时,会破坏其他部分的代码,不利于系统的维护。为了避免这些问题,使用分层开

20、发的思想来开发系统。把各个功能按调用流程进行模块化,各模块可以随意的组合。1使用分层有如下好处:1. 实现了各模块之间的解耦。2. 便于系统的维护。3. 便于系统功能的扩展。4. 提高软件组件的重用。本项目分成dao,daoImpl,service,serviceImpl,servlet和page几个层次。dao层里是一些接口,定义了一些连接数据库和处理增删改查等业务的方法,是最底层的代码;daoImpl层里面是dao层方法的具体实现;service层里也是一些接口,并继承了dao层中的类;serviceImpl层是service层方法的具体实现,主要供servlet层调用;servlet层里

21、面是一些控制代码,他根据不同需求来决定调用service中的某个方法处理业务,并根据处理结果将调用相应的页面将数据显示给用户;page层里是用来将数据显示给用户的页面,起显示的作用。2.2 系统的设计模式设计模式是面向对象的程序设计人员用来解决编程问题的一种形式化表示,是某种场景下你可以套用的一种解决方案。本系统使用的是MVC设计模式,即Model-View-Controller。它将一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。2视图层(View):是显示信息,与用户进行交互的界面。MVC设计模式对

22、于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。本系统使用jsp来代表视图层,用来接收用户的数据和请求。模型层(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。本系统使用JavaBean代表模型层,用来处理接收到的数据和请求,并返回相应的结果。控制层(Controller):用来调用模型处理业务请求、控制实体数据在视图上展示。控制层并不做任何的数据处理,控制层接受请求后,它只把用户的信息传递给相应的模型,让模型处

23、理业务请求,再选择符合要求的视图将结果返回给用户。本系统使用servlet代表控制层。MVC各层之间的关系如图2-1所示:Controller(Servlet) 用户请求,提交数据 调用相应模型 视图选择,并返回数据Model(JavaBean)View(Jsp)图2-1 各层之间的关系2.3技术路线选择2.3.1 服务器端页面技术本设计选用JSP作为开发超市管理系统的服务器端页面技术。使用JavaScript,EL表达式和JSTL与之配合使用,使页面表现更加丰富,人机交互更加人性化。JSP全名为Java Server Pages,在传统的网页HTML文件中加入Java程序片段和JSP标签,就

24、构成了JSP网页。java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。3JavaScript是一种基于对象的,动态的客户端脚本语言。主要目的是为了解决服务器端语言遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,验证步骤繁杂,浪费的时间太多。于是加入了Javascript,提供了页面数据验证的基本功能。4JSTL(JSP Standard Tag Library ,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,其中core 标记库提供了定制操作,通过限制了作用域的变量管理数据,以及执行页面内容的迭代和条件操作。

25、简化了JSP和WEB应用程序的开发。E L(Expression Language) 的目的是为了使JSP写起来更加简单,它提供了在 JSP 中简化表达式的方法。2.3.2 JDBC技术数据库是管理信息系统的核心内容。目前,Web与数据库接口技术有很多,本系统使用JDBC技术来实现应用与数据库的连接。JDBC是一组标准的Java语言中的接口和类,使用这些接口和类,Java客户端程序可以访问各种不同类型的数据库。比如建立数据库连接、执行SQL语句进行数据的存取操作。5它主要有以下优点:JDBC与ODBC十分相似,便于用户理解;JDBC支持不同的关系数据库,这使得程序的可移植性大大加强;JDBC

26、API是面向对象的,可以让用户把常用的方法封装起来,方便以后使用。同时也有以下缺点:使用JDBC,访问数据记录的速度会受到一定程度的影响;JDBC结构中包含不同厂家的产品,这就给更改数据源带来了很大的麻烦。用户根据不同数据库开发商的JDBC驱动可以连接不同数据库,连接原理如图2-2:JDBC客户端应用java.sql.* javax.sql.*驱动1 驱动2 驱动3Oracle数据库SqlServer数据库MySql数据库图2-2 JDBC工作原理2.3.3 B/S架构本系统使用B/S架构来实现,即浏览器/服务器模式,是一种从传统的C/S模式发展起来的新的网络结构模式。在这种结构下,用户工作界

27、面是通过浏览器来实现的。相对于C/S架构,B/S架构开发和维护更加简单,成本更低,并且能实现不同的人员,从不同的地点,以不同的接入方式访问和操作共同的数据。但在运行速度、数据安全、和人机交互等方面的性能比较差。2.3.4 分页技术当页面需要显示的内容过多时,就需要用到分页技术,把从数据库获得的数据,分成多个页面显示给用户。分页要用到的四个必要参数:数据总数(totalCount),页面总数(totalPage),每页要显示的信息数(pageSize)和当前页(currentPage)。将这四个参数封装到PageBean中,其中设置pageSize=10,currentPage=1,totalC

28、ount由sql语句从数据库中查询得到,而totalPage由计算得到。如果totalCount/pageSize的值为整数的话,totalPage=totalCount/pageSize,否则totalPage=totalCount/pageSize+1;这样四个参数就获得了。在oracle数据库中查询结果的行号使用伪列ROWNUM表示(从1开始)。在底层方法中用sql=select c2.* from(select rownum rn,c1.* from CONSUMER c1 where rownum?来查询数据库中的数据,其中两个占位符用pb.getCurrentPage()*pb.g

29、etPageSize()和(pb.getCurrentPage()-1)*pb.getPageSize()填充,以达到分页获取数据的效果。最后在jsp页面中,将获取的数据显示出来,并且可以根据点击“下一页”、“上一页”或者“跳转”来改变currentPage的值,相应的改变所查到的结果,从而达到分页显示效果。62.4 设计工具的选择2.4.1 Web服务器本次设计选用的Web服务器是由Apache、Sun 和其他一些公司及个人共同开发而成的Tomcat服务器。Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服

30、务器。2.4.2 数据库服务器本系统选择Oracle数据库服务器。它是甲骨文公司的一款关系数据库管理系统。到目前仍在数据库市场上占有主要份额。是目前最流行的 C/S或B/S体系结构的数据库之一。具有可用性强、可扩展性强、数据安全性强以及稳定性强等优点。2.4.3 页面设计工具本项目的界面设计软件工具选用Dream weaver CS4。Dream weaver CS4 是Macromedia公司推出的全新的网页编辑器,它不仅可以创建传统的HTML页面,还可以创建XML、JSP、CFML、WML和Action Script等文档。因此,本设计选择Dream weaver CS4作为页面设计和维护

31、工具。2.4.4 应用开发工具本项目的应用开发工具选择Myeclipse,MyEclipse是在eclipse 基础上加上自己的插件,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持相当不错。3 系统详细设计3.1 数据表结构设计根据本项目的实际需求以及应用规模,我们只需要建立一个数据库,在该数据库中建立三个数据表。(1) 用户信息表consumer(2) 商品信息表product(3) 供应商信息表provider对这3个数据表的字段名称、数据类型及属性具体说明如表3-1至表3-3所示:表3-1

32、用户信息表(consumer)字段名(中文)字段名(英文)数据类型长度是否为空用户编号C_IDVarchar220No用户名称USERNAMEVarchar220No用户密码PASSWORDVarchar220No用户年龄C_AGENumber20No用户性别C_SEXVarchar220No用户电话C_PHONEVarchar220No用户地址C_ADDRESSVarchar220No用户权限C_AUTHORITYNumber20No表3-2商品信息表(product)字段名(中文)字段名(英文)数据类型长度是否为空商品编号PD_IDVarchar220No商品名称PD_NAMEVarcha

33、r220No商品数量PD_NUMBERNumber20No商品金额AMOUNTNumber20No商品描述PD_DESCRIPTIONVarchar2100No是否付款PAYMENTVarchar220No创建时间CREATETIMEDATENo表3-3供应商信息表(provider)字段名(中文)字段名(英文)数据类型长度是否为空供应商编号PV_IDVarchar220No供应商名称PV_NAMEVarchar220No联系人LINKMANVarchar220No供应商号码PV_PHONEVarchar220No供应商描述PV_DESCRIPTIONVarchar2100No供应商地址PV_

34、ADDRESSVarchar250No3.2主页面设计本系统的所有界面 采用Internet的设计方式,借鉴于网页的设计方法,本系统的界面设计成如图3-1所示:Part1 系统标题Part3内容显示操作区Part2导航图3-1 界面布局图主界面包含三个主要区域,Part1为标题区,只显示系统标题;Part2为导航条区,显示全部的功能菜单;Part3为操作区域也是最大的区域,全部的数据录入,数据显示均在这里进行。当点击Part2菜单中的按钮时,Part3中将显示不同的内容。此功能通过iframe框架来实现,在三个区域包含不同的子页面。3.3 系统个子模块详细设计本系统共有四个模块,分别为登录模块

35、,用户管理模块,账单管理模块和供应商管理模块。下面将分别对四个模块进行详细的介绍。3.3.1登录模块用户打开登录页面,在页面输入自己的用户名及密码,并且输入验证码,才能点击登录按钮,在提交表单之前,会在客户端对提交的表单进行非空验证,并会在下方显示出相应的提示。前端验证通过后,系统会从数据库查询输入的用户名和对应的密码,当用户名存在并且密码正确时,登录成功,进入首页。否则返回登陆页面,并显示“用户名或密码错误”的信息,用户需重新登录。登陆界面如图3-2所示:图3-2 系统登录页面主要代码见附录:系统登录主代码。当用户成功登陆后,页面上方会显示蓝色的登录用户的名称,并且会根据用户的权限显示相应的

36、导航菜单,便于不同用户进行不同的操作。管理员和普通用户登录成功进入的首页,如图3-3和3-4所示:图3-3 管理员登陆界面图3-4 普通用户登陆界面3.3.2用户管理模块点击左边导航栏中的“用户管理”,会进入用户管理界面。用户可以在此界面根据需求对数据进行增、删、改、查等相关操作。如图3-5所示:图3-5 用户管理界面在这个界面中,用户可以通过在搜索框输入用户名,查找到所有符合条件的结果,如图3-6所示:图3-6 查找用户界面主要代码见附录:查找用户主代码。用户也可以在用户界面点击“添加数据”按钮来进行数据的添加功能。并且在添加的时候,会对特定项进行非空验证,并且会有相应的提示。添加成功后,会

37、更新数据库列表并进入用户首页。如图3-7所示:图3-7 添加用户主要代码见附录:添加用户主代码。在用户管理首页,点击用户名称会跳转到用户详情页面,可以查看用户更加详细的信息。如图3-8所示:图3-8用户详情主要代码见附录:查看用户详情主代码。在用户详情页面中,用户可以根据需求修改用户的信息,也可以删除此用户。修改信息会对所填表单进行非空判断,点击“提交”按钮时,会更新数据库并显示到页面。如图3-9所示:图3-9 修改用户信息主要代码见附录:修改用户主代码。3.3.3账单管理模块点击左边导航栏中的“账单管理”,会进入账单管理界面。用户可以在此界面根据不同需求对数据进行增、删、改、查等相关操作。如

38、图3-10所示:图3-10 账单管理界面在这个界面,用户可以通过搜索框输入商品名称,查找到符合条件的结果,如图3-11所示:图3-11 查找账单界面主要代码见附录:查找账单主代码。用户也可以在账单界面点击“添加数据”按钮来进行数据的添加功能。并且在添加的时候,会对特定项进行非空验证,并且会有相应的提示。添加成功后,会更新数据库列表并返回账单首页。如图3-12所示:图3-12 添加账单主要代码见附录:添加账单主代码。在账单管理首页,点击商品名称会跳转到账单详情页面,可以查看账单更加详细的信息。如图3-13所示:图3-13 账单详情主要代码见附录:查看账单详情主代码。在账单详情页面中,用户可以根据

39、需求修改账单的信息,也可以删除此账单。修改信息会对所填表单进行非空验证,点击“提交”按钮时,会更新数据库并显示到页面。如图3-14所示:图3-14 修改账单信息主要代码见附录:修改账单主代码。3.3.4供应商管理点击左边导航栏中的“供应商管理”,会进入供应商管理界面。用户可以在此界面根据不同需求对数据进行增、删、改、查等相关操作。如图3-15所示:图3-15 供应商管理界面在这个界面,用户可以通过搜索框输入供应商名称,查找到符合条件的结果,如图3-16所示:图3-16 查找供应商主要代码见附录:查找供应商主代码。用户也可以在供应商界面点击“添加数据”按钮来进行数据的添加功能。并且在添加的时候,

40、会对特定项进行非空验证,并且会有相应的提示。添加成功后,会更新数据库列表并返回供应商首页。如图3-17所示:图3-17 添加供应商主要代码见附录:添加供应商主代码。在供应商管理首页,点击供应商名称会跳转到供应商详情页面,可以查看供应商更加详细的信息。如图3-18所示:图3-18 供应商详情主要代码见附录:查看供应商详情主代码。在供应商详情页面中,用户可以根据需求修改供应商的信息,也可以删除此供应商。修改信息会对所填表单进行非空判断,点击“提交”按钮时,会更新数据库并显示到页面。如图3-19所示:图3-19 修改供应商信息主要代码见附录:修改供应商主代码。4 系统的特点与不足4.1系统的特点1

41、开发简单本系统是基于java web开发的系统,使用MVC模式实现,主要用JavaBean、Jsp和Servlet技术充当MVC模式中的模型层、视图层和控制层,依靠Servlet技术接收Jsp传来的参数,根据不同情况调用不同的JavaBean处理用户请求,跳转到相应的Jsp页面将结果展现给用户。整个系统结构清晰,结构简单,便于开发。2便于维护和升级本系统使用JDBC技术连接数据库,可以连接不同数据库,可移植性好;同时,整个系统的代码按照功能进行了详细的分层,结构明确,有条有理,方便开发人员对系统功能的扩展、升级和维护。 3使用方便本系统使用B/S架构实现,因此在使用时无需安装其他客户端软件,在

42、浏览器上就可以完成登录和其他操作。同时,用户界面是采用Internet的设计方式,界面简单、整洁,导航清晰,用户很快就可以掌握使用方法。4系统安全、稳定本系统的软件建立在性能稳定的Windows操作平台上的,系统在开发以及调试的时候,每一个阶段都经过严格把关,每一个流程都进过严格的测试,确保系统的安全性和稳定性。4.2系统的不足1功能不太完善由于时间仓促,并且没有什么经验,所以系统开发的时候考虑的不是很周全,系统实现的功能过于简单,只是简单的实现了用户、账单和商品的增、删、改、查。没有更复杂的操作。而且项目中就简单的创建了三个表,而且表与表之间没有什么关联,这在实际应用中是不可能的。2 界面不

43、太美观系统是使用Internet的方式来设计用户界面的,因为没有学习过网页设计等相关知识,所以界面设计的比较简单,不够精致、美观。结束语经过多次的实践与摸索以及在老师的帮助和指导下终于完成了对超市账单管理系统的设计与开发。它是基于Java Web,采用MVC模式,主要使用JavaBean、Jsp和Servlet等技术,完成了系统设计与实现。本次设计综合运用了我所学过的知识,让我对系统开发有了更进一步的理解,同时让我学习并掌握了一些重要软件的应用。在设计过程中,通过上网搜索有关资料的同时,也让我开阔了视野,丰富了自己的知识面。本次设计的超市账单管理系统能够较好的解决超市账单管理混乱,效率低下等问

44、题,使超市人员在管理超市账单等业务时更有效率。本系统可以在一个超市中应用并经过进一步的完善,最后可推广到其它超市。经过这段时间的设计和开发,超市账单管理系统基本开发完毕。其功能基本符合用户需求,能够完成客户基本的业务操作流程。但是由于时间比较仓促,并且本人经验不足,所以该系统还有许多不够完善的地方,比如用户使用功能较少,用户界面不够美观等多方面的问题。这些都有待进一步改善,希望在以后的学习和工作中得以完善。参考文献 REF 参考文献文本 h (美)昊斯特曼 著叶乃文 等译.Java核心技术:卷基础知识(原书第8版).机械工业出版社.2008.(美)霍斯特曼 等著,陈昊鹏 等译JAVA核心技术卷

45、II:高级特性(原书第8版).机械工业出版社.2008.(美)WesleyHales著. HTML5和JavaScript Web应用开发.人民邮电出版社.2013.(美)弗兰纳根著. JavaScript权威指南(第6版).机械工业出版社.2012.张晓东,高鉴伟著.JSP+Oracle数据库开发与实例.清华大学出版社.2008.秦靖,刘存勇著. Oracle从入门到精通(视频实战版).机械工业出版社.2011.附录系统登录主代码public void doPost(HttpServletRequest request, HttpServletResponse response) throw

46、s ServletException, IOException /处理乱码response.setContentType(text/html;charset=UTF-8);request.setCharacterEncoding(UTF-8);PrintWriter out = response.getWriter();/接受参数String strUsername=request.getParameter(username);String strPassword=request.getParameter(password);/调用Service层得到用户,判断权限ConsumerServic

47、e consumerService=new ConsumerServiceImpl();Consumer item=consumerService.getUserByUsername(strUsername);HttpSession session=request.getSession();session.setAttribute(user, item);/调用service层进行登录验证Boolean result=consumerService.login(strUsername, strPassword);if(result)/登录成功response.sendRedirect(/pro

48、ject/page/index.jsp);elseString reason=用户名或密码错误;session.setAttribute(reason, reason);response.sendRedirect(/project/page/login.jsp);查找用户主代码public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException /处理乱码response.setContentType(text/html;charset=

49、UTF-8);request.setCharacterEncoding(UTF-8);/接受参数(主要用于根据用户名查找列表,username是从查找页面传过来的)String strUsername=request.getParameter(userName);/分页PageBean pb=new PageBean();String strCurrentPage=request.getParameter(currentPage);if(strCurrentPage != null & !.equals(strCurrentPage)pb.setCurrentPage(Integer.pars

50、eInt(strCurrentPage);String strPageSize=request.getParameter(pageSize);if(strPageSize != null & !.equals(strPageSize)pb.setPageSize(Integer.parseInt(strPageSize);/调用Service层,获得所有用户列表ConsumerService consumerService=new ConsumerServiceImpl();Listlist=consumerService.getAllUsersByPage(pb,strUsername);r

51、equest.setAttribute(list, list);request.setAttribute(pb, pb);request.getRequestDispatcher(/page/userIndex.jsp).forward(request, response);添加用户主代码public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException /处理乱码response.setContentType(text/html;ch

52、arset=UTF-8);request.setCharacterEncoding(UTF-8);/接受页面的参数String strId=request.getParameter(userId);String strName=request.getParameter(username);String strPass=request.getParameter(password);String strAge=request.getParameter(age);String strSex=request.getParameter(sex);String strPhone=request.getPa

53、rameter(phone);String strAddress=request.getParameter(address);String strAuthority=request.getParameter(authority);/封装到用户对象Consumer user=new Consumer();user.setC_id(Integer.parseInt(strId);user.setUsername(strName);user.setPassword(strPass);user.setC_age(Integer.parseInt(strAge);user.setC_sex(strSex

54、);user.setC_phone(strPhone);user.setC_address(strAddress);user.setC_authority(Integer.parseInt(strAuthority);/调用Service层进行添加ConsumerService consumerService=new ConsumerServiceImpl();int result=consumerService.addUser(user);PrintWriter out = response.getWriter();if(result0)/添加成功out.println(alert(增加成功

55、!);window.location.href=UserListServlet);out.close();elseout.println(alert(增加失败,请重试!);history.go(-1);out.close();查看用户详情主代码public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException /处理乱码response.setContentType(text/html;charset=UTF-8);request.set

56、CharacterEncoding(UTF-8);/接受参数String strId=request.getParameter(id);int id=Integer.parseInt(strId);/根据id获得对象ConsumerService consumerService=new ConsumerServiceImpl();Consumer user=consumerService.getUserById(id);request.setAttribute(user, user);request.getRequestDispatcher(/page/userDetail.jsp).forw

57、ard(request, response);修改用户主代码public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException /处理乱码response.setContentType(text/html;charset=UTF-8);request.setCharacterEncoding(UTF-8);/接受参数String strId=request.getParameter(id);String strUsername=reque

58、st.getParameter(username);String strPassword=request.getParameter(password);String strSex=request.getParameter(sex);String strAge=request.getParameter(age);String strPhone=request.getParameter(phone);String strAddress=request.getParameter(address);String strAuthority=request.getParameter(authority);

59、int id=Integer.parseInt(strId);int age=Integer.parseInt(strAge);int authority=Integer.parseInt(strAuthority);/根据id获得该对象,进行封装ConsumerService consumerService=new ConsumerServiceImpl();Consumer user=new Consumer();user.setC_id(id);user.setUsername(strUsername);user.setPassword(strPassword);user.setC_se

60、x(strSex);/user.setC_age(age);user.setC_phone(strPhone);user.setC_authority(authority);user.setC_address(strAddress);/调用方法,保存修改int result=consumerService.updateUser(user);PrintWriter out = response.getWriter();if(result0)/成功out.println(alert(修改成功!);window.location.href=UserListServlet;);out.close();

温馨提示

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

最新文档

评论

0/150

提交评论