《毕业设计毕业论文进货订单管理系统.docx》由会员分享,可在线阅读,更多相关《毕业设计毕业论文进货订单管理系统.docx(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、企业进货订单管理系统的设计与实现摘 要本课题针对现在小规模企业在订单管理方面存在的一些问题进行了研究,发现小型企业员工数量不多,也没有过多的资金自主开发出一整套的ERP管理系统,但又迫切需要一个简单实用的小型系统来实现公司内部订单的自动化管理。本文将详细介绍,为了解决小型企业中进货员手动管理自己的订单易出错,管理者不能及时了解公司订单状况等问题而设计的这个小型实用系统的实现过程,具体的,就是从课题背景的研究,到需求分析和主要实现技术的介绍,到系统模块设计和数据库建模过程,再到编码实现、系统优化和测试的过程。从整体上来讲,系统开发设计,采用B/S架构,进货员只要在浏览器中访问系统即可,数据的处理
2、都在效劳器端进行,实现统一管理,保证了数据的一致性。在数据库管理软件选择方面,使用的是关系型数据库管理系统SQL Server 2021,前端网页使用JSP技术,并使用JQuery脚本语言优化,实现前端校验,优化用户体验,后台那么使用平安性较高的Java语言做处理。在开发系统实现技术的选取方面,选择了JSP和JavaBean的组合,而数据库选择的是应用广泛的SQL Server 2021。JavaBean可重用的软件组件满足小型应用,同时使编程人员投入少量精力便可重用组件,在简单的应用中可以充分考虑。由于系统比拟简单,访问量也不会很大,仅有公司内部员工访问,因此开发的模式就采用比拟简单的模式,
3、这样不仅实现了应用程序逻辑和页面显示别离,使得界面设计更加简单,而且架构搭建起来比拟简单,比拟容易实现。在系统所有的开发工作完成以后,我根据需求,对系统的所有功能都进行了测试,没有发现特别严重的缺陷,证明了系统的可行性和实用价值。关键词:进货订单管理,OMS(Order management system),B/S,JSP,JavaBeanDesign and Implementation ofEnterprise Order Management SystemAbstractIn view of the small-scale enterprises some problems in the
4、 order management, we put forward this Graduation Design Topic. Due to the number of employees is not much, and also the small companies do not have much money to independently develop a set of ERP Management System. In fact, the small-scale enterprises urgently need a simple and practical small sys
5、tem to realize the automated management for internal orders. This paper will detail the following contents. In order to solve the problem that the buyer how to manage their own orders more effectively and more quickly, also to overcome the challenge that the managers can not learn the status of the
6、order in time, we designed the small practical system. The paper includes Purchase Order Management System OMSs (Order Management System) background of topic analysis, system requirements analysis, overall design, implementation process and testing process, and detailed development scheme of the sys
7、tem is mainly introduced.In terms of the overall system development and design, we choose B/S architecture. The buyer can access system in the browser. As long as the data processing is on the server, this provided buyer with great convenience. Obviously, a system with B/S architecture can realize t
8、he unified management, and can ensure the consistency of the data in the database. We save the data using a Relational Database Management System named SQL Server 2021, and choose JSP as front page language. We choose the Scripting Language called JQuery to optimize the system even realize the front
9、-end check. So that in terms of user experience, there will be a lot of improvement. At last, I want to say the website background processing code is Java, a language with high security to do the background processing.In fact, the pattern which I choose in actual development process is JSP + JavaBea
10、n + SQL Server 2021. This pattern can realize the separation between the front and back. And also, it makes the interface design friendly. At last, I want to say, in this small system, JavaBean is a reusable component which plays a very important role.Because the system is simple and the traffic is
11、not big, only the companys internal staff access, the development mode can choose a relatively simple one. Not only separate the application logic and the page display, makes the interface design friendly, but also make the architecture easy to build, easy to realize.At the end of the development pr
12、ocess, the systems all functions are tested and I can find no especially serious defects. All of the tests are based on system requirements. So we may safely draw the conclusion that, the system has the feasibility and practical value. Key words:B/S, OMS, JSP, JavaBean目 录第一章 绪论11.1 课题的背景及意义11.2 课题分析
13、11.3 国内外研究现状21.4 论文组织结构2第二章 系统概述42.1 需求分析42.2 主要实现技术52.3 开发及运行环境6第三章 系统概要设计83.1 模块设计83.2 数据库建模93.3 界面设计12第四章 系统详细设计与实现144.1 前台系统实现144.2 后台系统实现244.3 数据库实现304.4 算法设计与实现324.5 汉字乱码解决方法334.6 访问权限控制34第五章 系统优化365.1 冗余代码合并365.2 归类页面365.3 JQuery前端校验37第六章 系统测试406.1 单元测试406.2 功能测试426.3 测试结果42总结与展望43参考文献44致 谢45
14、第一章 绪论1.1 课题的背景及意义不管是大规模的跨国企业,还是小规模的中小型企业,想要提高工作效率和经济效益,就必须依靠科学的管理手段,来提高工作效率和经济效益。尤其是在一些小型企业里,公司规模比拟小,没有足够的人员,也没有足够的资金来开发一套完整的ERP系统,但是却渴望使用小而实用的系统实现订单管理的自动化。我们可以想象,不使用订单管理系统,完全靠进货员自主管理自己的订单,不仅容易出错,而且企业管理者也不能及时了解订单的状态,如此一来,小型企业想要扩展规模,在订单管理这一环节首先就收到了制约。因此,我们可以说订单管理系统也是众多管理软件中最为关键的一个系统,从供给商、商品、订单等信息的自动
15、化管理出发,使公司管理实现高效,从而经济效益也得到提升。所以说,对小规模的企业而言,开发一个小而且实用的订单管理管理系统是非常必要的。针对上面的问题,我们可以得出结论,小公司开发一个简单并且实用性强的小型系统,势在必行。规模大一些的每个公司都有自己的现有的订单管理系统,对于不同类型的公司,在订单管理方面的功能需求是有很大区别的,并且在订单管理的模式根底上,也都会有相应的扩展。但是,所有企业都有一个共同的目标,那就是,实现订单信息管理的自动化,减少本钱,提高经济效益,让企业的开展不受制约。所以,在为小型企业设计进货员订单管理系统时,就一定要考虑到实现订单自动化管理时最为核心的东西。本课题主要研究
16、的是进货订单的自动化管理,初步了解后,发现目前常见的进货订单管理系统具有以下几个功能模块:供给商信息管理,在生成进货订单时,能方便的选择适宜的供给商。商品信息管理,进货订单大多数是基于商品的库存量来实现。订单信息浏览和查询,进货员和供给商能方便的查询其相关订单的执行情况。订单生成,是进货订单管理系统中最为重要的一个功能。订单执行,管理员对生成的订单进行授权执行。用户管理,在进货订单管理系统中,用户主要指进货员。1.2 课题分析本课题的要求是设计并实现一个实用性较强的进货订单管理系统,该系统属于企业订单管理系统中的一个分支系统,但是,它也可以作为一个单独的分支系统供进货员和企业管理员进行使用。调
17、查和分析后,得出进货订单管理系统至少应该包括如下几个局部:一、前台用户进货员系统局部:登录:负责用户权限检查,验证密码。用户注册:可实现普通用户进货员的注册登录。用户信息修改:方便的实现用户的相关根本信息的修改。商品信息搜索和查询:查询现有库存商品的库存量,以及相应的进货需求状态。供给商信息搜索和查询:查询供给商的相关信息。订单信息查询:列出已登录的进货员的订单清单。订单生成:根据商品库存量情况,实现进货操作,并且生成相应的进货订单。二、管理员系统局部:登录后台:负责用户权限检查,验证密码。用户信息管理:可以冻结或者是解冻普通用户进货员的权限。供给商信息管理:实现供给商的添加、删除工作。商品信
18、息管理:实现商品的添加、删除功能。订单信息管理:对已经生成的订单完成执行操作,使订单生效。1.3 国内外研究现状在国内,随着互联网技术在全世界的普及,基于互联网技术的各种应用也蓬勃开展。同样,基于互联网技术的信息管理软件和产品管理模式也开始出现,并得到众多企业的应用和推广1。在国外很多公司都通过使用管理软件,实现了企业的信息化,降低了生产本钱,让企业的开展速度有了质的飞跃。例如,美国福特汽车公司通过网上采购,使零部件的本钱下降了30%,卡夫通用食品公司建立了3000万客户的个人档案,美国1997年到2000年间的电子商务年均增长率到达了97%2。所以说,在企业信息化方面,国外的企业要比国内的企
19、业做的好一些,而且,国外的企业在这方面的认识也要比国内的企业更加的透彻。但是,企业订单管理在实际的应用中,还是存在着一些问题的:1缺乏对订单的有效跟踪和监督;2订单结算不能够及时处理;3管理者难以对订单数据重复利用3。1.4 论文组织结构图1-1 论文组织结构图第二章 系统概述2.1 需求分析进货订单管理系统用户有两大类,前台的用户是进货员,后台的用户是系统管理员,也就是企业的管理者。一、前台用户需求进货员访问系统的用户在未登录的时候,不可以查看供给商信息、商品信息,更不可以随意生成订单;系统需要提供新的进货员可以注册为系统新用户的功能;登录系统的进货员可以查看供给商信息、搜索指定的供给商信息
20、,可以查看商品信息、搜索指定的商品信息,可以浏览个人名下的订单信息;进货员发现商品需要进货的时候,可以生成订单;新生成的订单状态都是未执行的状态,只有在后台的管理员授权可以执行订单,进货员才可以执行订单。前台用户进货员的用例图如下列图所示:图2-1 进货员用例图二、后台管理员需求企业管理者前台需要提供链接可以直接进入后台管理系统;企业管理者以管理员身份登录系统,查看订单状态,对新生成的订单授权进货员去执行;可以增加、删除、修改供给商信息,同样可以管理商品信息和用户信息;可以冻结已经注册的进货员,使其无法登录系统。后台用户企业管理者的用例图如下列图所示:图2-2 管理者用例图2.2 主要实现技术
21、2.2.1 JSP作为本课题设计的系统的前端显示技术,JSP的全称是Java Server Pages,是一种由Sun公司倡导,许多公司参与建立的一种动态网页技术的标准。我们可以类比ASP技术来学习JSP,开发出属于我们自己的JSP页面。前端使用JSP开发,有一个很大的好处,就是所开发出来的Web应用同样是跨平台的,可以在Linux操作系统下运行,也可以在其他操作系统上运行。后端使用Java代码可以实现操作数据库,进行增、删、改、查,也可以重定向网页等,从来到达实现动态网页所需要功能的目的。不管是Servlet还是JSP,它们都是在效劳器端执行的,通常返回该客户端的就是一个HTML的文本文件,
22、因此,浏览器就是在解析HTML文件而已。之所以选择JSP是因为JSP有以下明显的优势:第一点,JSP和Java程序一样,可以轻松实现一次编写,到处运行;第二点,根本上可以做到开发环境任意选,部署环境任意选,扩展环境也任意选,相比ASP/PHP的局限性,JSP有这一明显的优势。2.2.2 JavaBeanJSP对于在Web应用中集成JavaBean组件提供了良好的支持。这种支持主要表达在代码复用,缩短了开发时间。JavaBean组件可以用来执行复杂的计算任务,负责与数据库的交互,实现具体业务逻辑的封装等,在JSP程序中常用来封闭事务逻辑、数据库操作等,可以很好地实现业务逻辑和前台程序如JSP文件
23、的别离8。使用JavaBean可以减少JSP中的Java代码量,而且能把应用的表达层和逻辑层分开,网页设计人员可以只关心页面的规划,而Java程序员可以专心开发 JavaBean6。2.2.3 JQueryJQuery是一个非常好的JavaScript框架,也是轻量级的JS库,不仅很好的兼容CSS,还兼容各种浏览器。脚本语言的好处,就是让用户使用系统时的体验更好。比方可以动态的校验用户填写的表单数据,实现数据显示的变化,也可以实现动画效果,并且方便地为网站提供AJAX交互。还有,JQuery有一个特别大的优势,就是它拥有非常全面的文档说明,还有很多成熟的插件可供选择,更没有浏览器的兼容性问题,
24、帮助开发设计人员减轻了负担。本系统初步规划,使用了JQuery脚本语言,优化用户体验。比方,可以在新用户注册页面,还有查询显示单行数据时,依靠JQuery来处理来实现的。2.2.4 AJAXAJAX是每个网站都必须用到的技术,可以用户创立快速动态网页。我们可以在网页的后台和效劳器进行少量的数据交换,是网页实现异步更新。也就是说,网页可以在不重新加载整个页面的情况下,进行局部更新。本系统初步设想,有检测用户名的功能,那么就可以使用AJAX来实现,和效劳器进行少量数据交换就可以。图2-3 JavaScript远程脚本原理图42.3 开发及运行环境计算机操作系统:Windows7 旗舰版数据库管理软
25、件:SQL Server 2021系统开发工具软件:Eclipse系统运行效劳器:Tomcat7单元测试工具:JUnit4第三章 系统概要设计3.1 模块设计从前面的需求分析中得知,必须应该把系统分为前台和后台两个局部来设计,因此模块也分为两大类:前台模块和后台模块。进货员在前台系统的注册、登录功能,以及登录后修改个人的注册信息的功能组合在一起构成注册登录模块。进货员在未登录的时候只可以浏览进货订单列表,登录后,进货员才可以搜索并浏览商品信息,搜索并浏览供给商信息,查询个人账户下的订单执行情况。在商品信息,以及供给商信息的根底上,用户可以生成进货订单,等到管理员授权再执行采购方案。后台也有相应
26、的管理员登录模块。进入后台管理系统后,模块应该有用户权限管理,订单信息管理,商品信息管理添加,删除,查询,供给商管理添加,删除,查询这几个模块。图3-1为系统模块总图:图3-1系统模块总图3.1.1 前台模块设计1注册登录模块:进货员可以注册、登录、修改个人信息;图3-1-1 注册登录模块2供给商查询模块:进货员登录可以查询、浏览供给商信息;3商品查询模块:进货员登录可以查询商品信息,查询供给商信息;4订单查询模块:进货员登录可以查询个人账户下的订单信息;5订单生成模块:在商品信息以及供给商信息的根底上,用户可以生成进货订单。3.1.2 后台模块设计1订单管理模块:企业管理者可以授权进货员是否
27、执行订单;2供给商管理模块:企业管理者可以对供给商信息进行管理,包括增加、删除、修改、查询;3商品管理模块:企业管理者可以对商品信息进行管理,包括增加、删除、查询;4用户管理模块:企业管理者可以对注册成功的用户进行账户的冻结和解冻,为其是否可以登录系统设置权限。3.2 数据库建模本系统所要连接的数据库需要存储登录系统的用户信息,供给商信息,商品信息,订单信息,四张表。对于数据库表的设计,方案通过使用PowerDesigner建模来实现,先建立概念数据模型,生成逻辑数据模型,再生成物理数据模型,最后生成数据库脚本文件,最终实现表的创立。3.2.1 概念数据模型概念数据模型的英文全称是Concep
28、tual Data Model,简称CDM。使用PowerDesigner辅助数据库设计,其中的概念数据模型CDM可由E-R模型细化而建立,CDM是对现实应用实体及实体间联系的抽象表示,使用CDM描述数据表及相关关系可以方便系统理解,有利于系统的设计和维护,并且可以方便转换成基于某种具体的DBMS的物理数据模型PDM5。1使用PowerDesigner画出先绘出所有的实体,如下列图所示:图3-1 用户信息图3-2 商品信息图3-3供给商信息图3-4 订单信息2绘制的概念数据模型:正确的绘制企业进货订单管理系统的E-R模型,也就是概念数据模型图,是数据库设计成功的第一步,不仅要将涉及的所有实体及
29、其属性正确绘出,还要准确判断各实体之间的联系,因为这对后面生成逻辑和物理数据模型很重要,如果这一步出错,外键的生成也将会出错,直接导致数据库的设计也将不会成功。分析之后,我们得到了企业进货订单管理系统的概念数据模型图,如下列图所示:图3-5 概念数据模型图3.2.2 逻辑数据模型逻辑数据模型的英文全称是Logic Data Model,简称LDM。利用绘制的概念数据模型生成的逻辑数据模型如下列图所示:图3-6 逻辑数据模型图3.2.3 物理数据模型逻辑数据模型的英文全称是Physical Data Model,简称PDM。利用绘制的概念数据模型生成的物理数据模型如下列图所示:图3-7 物理数据
30、模型图3.3 界面设计页面布局将通过使用标签将Jsp页面进行嵌套组合,配合标签来实现。图3-8 页面布局设计图以下四个页面是系统中所有页面所共用的,是实现页面布局的公共资源:导航栏前台系统命名为top.jsp,后台系统命名为top_m.jsp;注册、登录、公告left.jsp;版权信息copyright.jsp。第四章 系统详细设计与实现4.1 前台系统实现进货员是前台系统的唯一用户,进货员访问系统,首先看到的是系统所有的进货订单列表,登录系统后,可以查询供给商信息,商品信息,和个人名下的所有订单以及执行情况,有进货需求的商品那么可以生成订单。4.1.1 前台主界面当进货员访问系统时,系统主界
31、面如下列图所示:图4-1 系统前台主界面在系统的左边是登录窗口,以及网站公告版,右边显示的是所有进货订单的列表信息。进货员未登录的时候,只可以浏览进货订单列表,只有登录之后,才可以访问其他四个模块。4.1.2 用户注册模块用户注册信息填写完毕后,点击“确定保存,假设该用户名不存在,那么注册成功,用户资料修改页面也跟这个界面类似。新用户注册时,如果用户名为空时,单击检测用户名,提示信息如下:图4-2 新用户注册用户名为空时检测新用户注册,如果用户名存在时,单击检测用户名,提示信息如下:图4-3 新用户注册用户名已经存在时检测图4-4 新用户注册用户名可以使用时检测新用户注册,信息填写正确,JQu
32、ery校验提示隐藏,如下列图所示:图4-5 新用户注册信息填写正确图4-6 新用户注册单击提交新用户注册,信息填写有误,JQuery校验提示显示,信息为空时进行提示,两次密码输入不一致进行提示,Email格式不正确也进行提示,如下列图所示:图4-7 新用户注册信息填写有误图4-8 用户登录成功图4-9 会员资料修改4.1.3 供给商查询模块进货员登录后,可以根据供给商编号或者供给商姓名查询对应的供给商信息,也可以浏览所有的供给商信息。图4-10 供给商信息浏览图4-11 根据供给商编号查询图4-12 根据供给商名称查询图4-13 根据供给商编号和名称查询4.1.4 商品查询模块点击商品查询,进
33、入商品查询界面,在商品列表中,将列出所有的商品信息,进货需求表示当前商品的库存量信息,分为有货存或者需进货两种库存信息。进货员可以根据商品编号或者商品名称查询对应的商品信息,也可以浏览所有的商品信息。如果有商品有进货需求,单击那么可以生成对应的商品订单信息。下列图为商品查询界面:图4-14 商品信息浏览图4-15 根据商品编号查询图4-16 根据商品名称查询图4-17 根据商品编号和名称查询4.1.5 订单查询模块进货员可以查询自己名下的所有订单:图4-18 查询个人名下订单4.1.6 订单生成模块订单生成界面将根据所选的进货商品,产生相应的进货订单。图4-19 生成订单图4-20 订单生成成
34、功4.2 后台系统实现后台的用户是系统管理员4.2.1 后台主界面当管理员访问系统时,登录系统主界面如下列图所示:图4-21 管理员登录后台入口图4-22 密码错误是无法登录图4-23 密码正确进入后台主页图4-24 单击“执行提示信息管理员进入后台主页以后,首先看到的是订单管理模块,在这个模块中,管理员可以对新生成的订单进行授权执行,这样,进货员登录系统后,看到订单已经授权执行,就可以进行采购方案了。4.2.2 供给商管理模块供给商管理模块中,可以进行供给商信息的添加、删除、修改。图4-25 供给商管理主界面图4-26 添加供给商信息图4-27 信息添加成功提示语图4-28 信息删除成功提示
35、语在跳转到供给商信息修改界面中后,所有的信息都是预置在表单当中的,用户可以在表单中修改,修改完成,点击提交,如下列图所示:图4-29 供给商信息修改4.2.3 商品管理模块点击用户管理界面中右侧的“冻结/解冻按钮,就可完成用户权限管理。订单管理界面跟此界面差不多。图4-30 商品管理主界面图4-31 添加商品信息4.2.4 用户权限管理模块点击用户管理界面中右侧的“冻结/解冻按钮,就可完成用户权限管理,控制已经注册用户的访问权限。图4-32 用户管理主界面图4-33 用户冻结成功提示信息图4-34 用户解冻成功提示信息4.3 数据库实现在此进货订单管理系统中,将主要实现用户信息,商品信息,供给
36、商信息,订单信息的管理。数据库中需要存放四张表,分别为用户表users,商品表goods,供给商表suppliers,订单表orders。前面,我们数据库建模已经成功,之后,我们就可以利用前面建立好的物理数据模型,生成数据库脚本文件,命名为OrderManage.sql,然后在SQL Server 2021中,先创立一个名为“OrderManage的数据库,再执行OrderManage.sql数据库脚本文件,即可在数据库中创立完成4个表,如下列图所示:图4-35 数据库创立成功1用户信息表:图4-36 创立users表用户信息表存放用户的信息,用户登录的通行证是用户名和密码,所以用户数据表中必
37、须包含字段userID表示用户名、字段userPassword表示登录密码两个信息,还有些其他的一些信息,比方userFreeze指的是用户账户状态,状态为冻结时字段的值为1,状态为解冻时字段的值为0。2商品信息表:图4-37 创立goods表商品信息表主要描述进货订单管理系统中的商品信息,其中字段goodID是商品ID号此ID号为系统使用算法自动生成的,字段goodName是商品名称,字段goodPrice是商品价格,字段goodNum是商品数量,字段goodProductor是商品生产商,字段goodState是商品状态主要描述商品库存量是否足够,是否要进货。3供给商信息表:图4-38 创
38、立supplier表供给商信息表主要描述供给商的一些相关信息,如字段supplierID是供给商ID此ID和商品ID一样,是系统使用算法自动生成的,还有字段supplierName是供给商名称, 字段supplierAddress是供给商 ,字段supplierEmail是供给商Email,字段supplierTel是供给商联系 。4订单信息表:图4-39 创立orders表订单信息表描述生成订单所需要的信息,如字段orderID是订单ID,字段userID是经手人ID,字段ordrePay是支付方式,字段orderCarry是运送方式,字段orderDate是订单生成日期,字段orderNu
39、m是订单中的商品数量,字段orderPrice是订单中的商品价格,字段orderState是订单状态,字段supplierID是商品供给商。4.4 算法设计与实现4.4.1 分页算法1算法中涉及到的变量如下:recordCount待显示的记录总数pageSize每页显示的记录数recordCount%pageSize判断要显示的总页数maxPage需要显示的总页数2将待显示的记录总数和每页显示的记录数进行相除运算,能整除,那么相除得到的结果就是需要显示的总页数;不能整除,那么相除得到的结果需要加1,用来显示余下的记录数,用代码表示如下:if(recordCount % pageSize = 0
40、)maxPage = recordCount/pageSize;elsemaxPage = recordCount/pageSize + 1;3request中以get方式传递待显示页码Page此处将变量Page的首字母大写是为了与作用域变量page进行区分,可以实现页码传递的代码表示如下:String strPage=(String)request.getParameter();int page = Integer.parseInt(strPage);/page是待显示页码if(strPage = null)/如果刚开始request.getParameter(),得到的是空值page =
41、1;else if(page-1)*pageSize+1)recordCount)/如果在最后一页page=maxPage;4.4.2 主键值生成算法声明的变量s为各个表作为主键字段的前缀字符串,一张表中的每条记录都是一样的,而后面三位,那么是由算法随机生成的,具体代码如下:String s = .;String arrykey = 0, 1, 2, 3, 4, 5, 6, 7, 8,9, A, B, C, D, E, F, G, H, I, J, K ;Random x = new Random();for (int i = 1; i = 3; i+) String temp = ;int
42、tempnum = x.nextInt(21);temp = arrykeytempnum;s = s + temp;可以看出,for循环中语句的执行次数为3次,每次随机生成一个0-20的整数,然后以这个整数为数组下标,找到数组中元素对应的值,随机进行组合。4.5 汉字乱码解决方法在前端和后端通信的时候,必须在对request和response对象进行操作的时候,设置统一的编码方式,中文可以设置为GBK、GB2312,也可以和JavaScript文件的编码方式一样,设置为UTF-8,总之,只要前端、后端采用的编码统一,就可以解决汉字乱码问题,设置表单中数据编码方式的代码如下:request.s
43、etCharacterEncoding(utf-8);response.setCharacterEncoding(utf-8);在引入JS文件的时候,需要先在引入JS文件的页面中设置编码方式为UTF-8,代码如下:同时,还需要设置JS文件在Eclipse中的编码,如下列图所示:图4-40 设置JS文件所在文件夹编码为UTF-84.6 访问权限控制本系统的很多页面都是需要用户登录之后才可以访问的,所以必须进行权限控制。实现的方法:1在需要控制访问权限的页面起始处,添加:;2在safe.jsp页面中,使用:session.getAttribute(UserName);在session中取参数,判断
44、用户名是否为空,作为是否登录、是否拥有访问页面权限的依据,代码如下:if (session.getAttribute(UserName) = null) out.println(alert(您还没有登录!);= /OrderManage/OMApp/index.jsp;);图4-41 前台系统未登录提示信息图4-42 后台系统未登录提示信息单击确定后,返回index.jsp页面,进行登录。第五章 系统优化在系统的大局部功能都已经开发完成后,仍然发现系统中存在大量的冗余代码,可读性和可维护性都很差,所以,需要对系统进行优化。5.1 冗余代码合并系统中,页面上最多的冗余代码就是CSS样式,由于系统
45、页面布局都是通过标签的嵌套来实现的,所以,页面不同位置的就有不同的样式,最初开发的时候,没有对每一个页面的布局有太细的规划,所以,在开发的过程中,我在每个页面中都写了大量的CSS样式来实现页面布局,这样随着开发的进行,页面越来越多,重复的CSS代码也就越来越多,一旦想更改样式,每一个页面都要更改,工作量非常大,于是,对页面上的CSS代码进行提取和优化就显得十分必要。主要的优化工作,就是对不同位置的标签设置不同的class属性,然后,将页面上共同的CSS样式代码放在table.css文件中,这样一来,想调整样式,只需要改变table.css文件就可以,而不再需要在页面中一一修改。对页面上CSS样式代码的优化,不仅提高的了开发效率,使维护系统变的更加容易,而且更使页面看起来干净整洁。优化的时候,将所有标签的class属性指定不同的值,从而在table.css文件中,进行样式的控制,页面中的代码如下列图所示:图5-1 标签中的class属性5.2 归类页面为了开发的方便,我在最初写代码的时候,将所有的页面都放在根目录下,随着页面的增多,查找起来非常的不方便,而且,程序一翻开就看到所有的页面,视觉上也非常的不舒服,这时,对已开发好的所有页面进行归类就显的非常重要了。当然,在归类页面的时候会出现