企业销售管理系统.doc_第1页
企业销售管理系统.doc_第2页
企业销售管理系统.doc_第3页
企业销售管理系统.doc_第4页
企业销售管理系统.doc_第5页
免费预览已结束,剩余33页可下载查看

下载本文档

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

文档简介

企业销售管理系统 企业销售管理系统摘要随着科学技术不断发展的今天,计算机已渐渐渗入各个领域,无论是学习,工作,还是娱乐都遍及了计算机的使用,而随着网络的开通、并与Internet链接更让我们社会成为信息化的时代,人们不再需要浪费太多的时间去机械化的获得信息,只要做在家中动动鼠标就遍知天下事,就能够购买到自己需要的物品,摆脱了时间和空间的限制,因此使用计算机及网络,已成为人们进入现代社会的必备技能。销售管理系统正是在这种情况下诞生的,它已成为我们进行商品交易中不可缺少的部分。 销售管理系统是为方便企业进行销售管理而设立的,该系统实现用户登陆、注册、企业档案管理、商品资料管理、订货、出货业务、退货业务、修改密码、修改个人信息等功能。在页面上使用Ajax技术减少页面的刷新次数。本系统使用JSP+JavaBean+Servlet的MVC开发模式进行开发。采用MD5算法对密码进行加密,避免密码被别人直接从数据库中或在操作中窃取,在一定程度上提高了系统的安全性。关键词: JSP;MySQL; 安全;销售管理;效率;SALES MANAGEMENT SYSTEMABSTRACTWith the continuous development of science and technology of today, the computer has already permeated each field gradually,Both study, work or entertainment across all computer use, With the opening of networks and connecting with the Internet made us become information-based society of the times, People no longer need to waste too much time to mechanical access to information, as long as it is at home to move the computer mouse also know all things of the world, will be able to purchase the items they need, out of time and space constraints, the use of computers and networks. have become modern social skills required. Sales Management System is under such circumstances birth, it has become a commodity transactions indispensable part. Sales management system for the convenience of enterprises and the establishment of a sales management and users of the system to achieve the landing, registration, enterprise file management, the value of information management, ordering, shipping business, return business, change passwords, change personal information, and other functions. Changes in the use of Ajax technology to reduce the number of pages updated. The system uses the MVC JSP+JavaBean+Servlet development model development. MD5 algorithm used to password encrypted password to avoid others directly from the database in operation or steal, to some extent improved the systems security. Key words: JSP; MySQL; safe; Sales management; Efficiency目 录第一章 绪论11.1 引言11.2 开发工具的选择11.3 开发工具简介21.3.1 Servlet概述21.3.2 JSP概述21.3.3 后台数据库MySQL概述3第二章 需求分析42.1问题的提出42.2 分析问题42.2.1 系统的功能要求42.3 可行性分析42.4 开发及运行环境5第三章 总体设计63.1 项目规划63.2设计目标63.3 系统功能结构图73.4 系统架构设计73.4.1文件夹架构73.4.2类的分布架构设计8第四章 数据库设计104.1命名规则104.2 数据库结构设计104.2.1 数据表概要说明114.2.2 主要数据表的结构114.3数据库操作类的代码实现过程144.3.1 数据库链接类的各种实现方法144.3.2处理字符串类的实现方法164.3.3保存当前登陆员工信息类的实现方法174.3.4监听类的编写19第五章 各子模块的实现与调试205.1网站首页运行结果205.2登录模块215.2.1员工登陆的实现方法215.2.2员工登陆控制层的实现方法225.2.3配置web.xml文件225.2.4 JSP代码的实现过程235.3管理设置模块设计285.3.1数据表类的代码列表285.3.2订货信息的添加285.3.3出货信息的添加295.3.4退货信息的添加31第六章 总结33参考文献34致谢35第一章 绪论1.1 引言 随着Internet国际互联网的发展,越来越多的企业开始建造自己的网站。基于Internet的信息服务,商务服务已经成为现代企业一项不可缺少的内容。很多企业都已不满足于建立一个简单的仅仅能够发布信息的静态网站。现代企业需要的是一个功能强大的,能提供完善的商务管理的动态网站。随着我国国民经济的持续发展,销售管理在企业管理中逐步占据首要地位,一个企业的经济实力如何,全部体现在企业的销售管理上。目前我国的中小企业数量多,地区分布广泛,行业分布跨度大。企业销售管理成为企业经营管理的核心内容。销售管理在企业管理中逐步占据重要地位,企业的销售管理成为企业经营的核心内容之一。当今大部分企业采用人工管理过程,销售管理的特点是信息量大、更新速度快要求信息反馈迅速、准确。采用人工管理过程中的管理效率低下、数据不准确、管理不及时等一系列问题。销售管理系统的应用,解决了人工管理过程中的管理效率低下、数据不准确、管理不及时等一系列问题;进一步提高了企业经营运作的速度和企业的经济效益,同时也提升了企业的管理水平,使企业的销售管理更加科学、合理;使企业能够随着市场的变化而随时调整自身的销售计划,并在瞬息万变的市场竞争中立于不败之地。1.2 开发工具的选择:随着计算机和网络的不断发展,企业中的管理计算机化是发展的必然趋势。这就要求我们开发出的系统能适应计算机和网络的发展的动态网上管理系统。而Java Server Pages (JSP) 技术提供了一种简单快速的方法来创建显示动态生成内容的 Web 页面。由业界处于领先地位的 Sun 公司制定了相关的 JSP 技术规范,该规范定义了如何在服务器和 JSP 页面间进行交互,还描述了页面的格式和语法。JSP 页面使用 XML 标签和 Javascript(一种使用 Java 语言编写的脚本代码),封装了生成页面内容的逻辑。它将各种格式的标签(HTML 或者 XML)直接传递回响应页面。通过这种方式,JSP 页面实现了页面逻辑与其设计和显示的分离。因此我使用JSP+JavaBean+Servlet+JDBC的开发模式进行开发既MVC模式。JDBC用于链接数据库并对数据库进行存储,Servlet用于处理过程控制,Java Bean用于封装业务逻辑,JSP用于页面显示部分。1.3 开发工具简介:1.3.1 Servlet概述:Servlet 是运行在Web服务器或应用服务器上的JAVA程序,它是一个中间层,负责链接来自Web浏览器或其他HTTP客户程序的请求和HTTP服务器上的数据库或应用程序。Servlet的工作是执行下面的任务: 读取客户发送的显示数据最终用户一般在网页的HTML表单中输入这些数据,还有可能来自于applet或定制的HTTP客户程序。 读取由浏览器发送的隐式请求数据客户端传送到Web服务器的数据有两种,它们分别为用户在表单中输入的显示数据,以及后台的HTTP信息。 生成结果这个过程可能需要访问数据库、执行RMI或EJB调用、调用Web服务,或者直接计算得出对应的响应。实际的数据可能存储在关系型数据库中。该数据库可能不理解HTTP,或者不能返回HTML形式的结果,所以Web浏览器不能直接与数据库进行会话。我们需要从Web中间层从HTTP流中提取输入数据,与应用程序会话,并将结果嵌入到文档中。 向客户发送显示数据这个文档可以用各种格式发送,包括文本(HTML或XML),二进制,甚至可以是建立在其他低层格式之上的压缩格式。 发送隐式的HTTP响应数据发送的数据有两种:文档本身,以及后台的HTTP信息。同样,两种数据对开发来说都是至关重要的。HTTP响应数据的发送过程涉及告知浏览器或其他客户程序所返回文档的类型,设置cookie 和缓存参数,以及其他类似的任务。1.3.2 JSP概述JSP(Java Server Pages) 是由Sun公司倡导的、许多公司参与一起建立的一种动态网页技术标准,是一种基于Java Servlet的Web开发技术。JSP允许在HTML页面内嵌入JAVA代码。由于JAVA语言是一种简单易用、完全面向对象、具有平台无关性且安全可靠的面向Internet的开发工具,所以JSP是一种功能强大、可以实现跨平台操作的动态网页开发技术,目前已成为开发动态网页的主流技术之一。JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送e-mail等等。所有程序操作都在服务器端执行,网络上传送给客户端的仅是结果,对客户的浏览器的要求最低,可以实现无Plugun,无ActiveX,无Java Applet,甚至无Frame.作为一种基于文本的、以显示为中心的开发技术,JSP以Java Servlet为基础,提供了Java Servlet的所有优点,并且当与一个Java Beans类结合在一起时,提供了一种使内容和显示逻辑分开的简单方式。在实际的JSP引擎中,JSP页面在执行时是编译式,而不是解释式的。传统的开发技术(ASP,PHP3)都在向编译执行的方式转变。通常来说JSP页面一般是翻译为Servlet的Java源文件,再经过JAVA编译器编译为Servlet的class文件。这样,原来的Servlet引擎可以直接服务于JSP,而JSP引擎就仅仅需要将JSP转译为Servlet就可以了。在转译之后,每次客户机(通常是用户的Web浏览器)向服务请求这一个JSP文件的时候,服务器将检查自上次编译后JSP是否有改变,如果没有改变,就直接执行Servlet ,而不用再重新编译,其效率是相当高的。简单的说,JSP实际上就是JAVA。只是它是一种特别的JAVA语言。它在JAVA中加入了一个特殊的引擎,这个引擎将HTTPServlet这个类的一些对象自动进行初始化,以便于用户使用,而用户不用再去操心前面的工作。同时这个引擎又引入了 JSP:*,%等一系列的特别语法,使用这些语法来进行一些特定的操作,如引用文件、URL转向、JavaBean引用等这样的操作,都是由引擎自动完成初始化的工作。用户可将这个引擎看作一个JSP到JavaServlet的生成器或是翻译器,它可以帮助用户完成很多初始化的工作。和其他Web开发工具相比,JSP有着它自己强大的优势:程序可以跨平台执行。JSP可以让开发人员在任意环境下进行开发,在任意环境中进行系统部署,在任意环境中扩展应用程序;多样化和功能强大的开发工具支持。JAVA有许多非常优秀的开发工具,而且有许多可以免费得到,并且其中的许多已经可以顺利地运行于多种平台之下;强大的可伸缩性。从中只有一个小小的jar文件就可以运行servlet/jsp到有多台服务器进行和负载均衡,到多台Application进行事务处理,一台服务器到无数台服务器,JAVA显示了巨大的生命力。1.3.3 后台数据库MySQL概述主要是用MSQL来做为后台后台数据库的。MySQL 是一种流行的开放源码的数据库,它是免费的,且跨Unix(Solaris,Linux等),MacOS和Windows等多种平台。MySQL 是一个真正快速、多用户、多线程的SQL数据库服务器,它具有客户机/服务器体系结构的分布式数据库管理系统。MySQL 具有以下特点:使用核心线程的完全多线程;提供了面向C,C+,JAVA等丰富的API函数,方便使用者进行二次开发;具有强大的跨平台特性;利用一个油画的一遍扫描多重联结(One-sweep Multi-join)非常快速地进行联结(Join);通过一个高度优化的类库实现SQL函数库并且像它们能达到的一样快速;支持ANSI SQL的LEFT OUTER JOIN和ODBC语法;一个非常灵活且安全的权限和口令系统,并且允许基于主机的认证;具备索引压缩的快速B树磁盘表;用作临时表的内存散列表;大数据库处理,每个表可以处理多达50000000个记录。本系统主要由基础信息、基础资料、业务管理、信息查询、辅助工具、系统设置、个人设置、等模块组成。第二章 需求分析2.1 问题的提出随着企业信息化进程的不断发展,商品或货物实行信息化管理,可以提高管理水平和工作效率,同时也可以最大限度地减少手工操作带来的失误。使用传统的手工管理方式,一方面效率低下,另一方面容易造成错误。管理是企业的生命。管理系统如果有缺陷,企业的生命活力就逊色了很多。管理系统如果瘫痪,企业也就无法运作了。2.2 分析问题目前,销售管理在企业管理中逐渐占据重要地位,企业销售管理成为企业经营管理的核心内容之一,它的特点是信息量大、更新速度快,要求信息反馈迅速、准确。销售管理系统的应用,解决了人工管理过程中的管理效率低下、数据不准确、管理不及时等一系列问题;进一步提高了企业经营运作的速度,提升企业的管理水平、提高企业的经济经营,使企业的销售管理更加科学、合理;使企业能够随着市场的变化而随时调整自身的销售计划,并在瞬息万变的市场竞争中立于不败之地。为了能够适应当今发展而且还得满足企业管理的需要,我们采用JSP+JavaBean+Servlet+JDBC的MVC的开发模式。JDBC用于链接数据库并对数据库进行存储,Servlet用于处理过程控制(是MVC中的C控制器),JavaBean用于封装业务逻辑(是MVC中的M 模型),JSP用于页面显示部分(是MVC中的V视图)。2.2.1 系统的功能要求通过对一些典型销售管理系统的考查、分析以及实际的市场调查与研究,要求本系统具有以下功能:(1)统一、友好的操作界面,用以保证系统的易用性较好的安全性(2)规范、完善的基础信息设置,对基础信息进行全面管理(3)对商品的订货、销售以及退货进行管理(4)对各种业务按不同的时间段查询(5)对各种商品以及企业信息的详细查看功能。2.3 可行性分析商业企业在运营过程中,经常会受到以下一些条件的限制:采用传统的手工管理模式进行管理,其工作效率、管理质量和管理水平已不能满足当今经营管理发展的要求,早已无法和外国的企业进行竞争。采用手工记账不但工作效率低下,而且容易产生计算失误,给企业和个人造成不必要的失误。数据查询、统计比较困难。因此,通过采用计算机管理系统对企业销售进行管理,客观上满足企业销售进行管理,客观上满足企业管理的新要求,提高企业的经营运作效率,促进企业的发展,加快商品销售管理流通过程中的信息流动,为主观的人为管理提供了真实有效的数据信息,是企业管理真正走上了现代科学管理的轨道。2.4 开发及运行环境硬件平台:CPU:P4 2.66GHz;内存:256MB以上。软件平台:操作系统:Windows XP;数据库:MySQL;开发工具包:JDKVersion1.5以上;JSP服务器:Tomcat 6.0;浏览器:IE6.0或以上版本;分辨率:最佳效果1024像素768像素。第三章 总体设计3.1 项目规划销售管理系统是一个典型的数据库应用程序,由基础信息、基础资料、业务管理、信息查询、辅助工具、系统设置、个人设置、等模块组成,其规划功能模块如下:【基础信息】基础信息主要实现员工职务、单位类型、计算单位、支付方式、银行信息、银行名称、企业资信、商品类别等功能。【基础资料】基础资料主要实现企业档案管理、商品资料管理等功能。【业务管理】业务管理主要实现订货、出货业务、退货业务等功能。【信息查询】信息查询主要实现订货业务查询、出货业务查询、退货业务查询、区域信息查询等功能。【辅助工具】辅助工具主要实现调用word文档、调用excel文档、调用计算器等功能。【系统设置】系统设置主要实现员工管理、员工权限管理、公司介绍设置等功能。【个人设置】个人设置主要实现修改密码、修改个人信息等功能。3.2设计目标根据企业的需求和销售的特点,该系统实施后,应达到以下目标。 采用人机对话的操作方式,界面设计友好、美观,信息查询灵活、方便、快捷、准确,数据存储安全、可靠。 强大的查询功能。 通过系统可直接调用word、Excel应用程序。 系统管理原可以修改所有员工的基本信息。 客户可以提前预定想要购买的商品。 系统最大限度地实现了易维护性和易操作性。 系统运行稳定、安全可靠。3.2 系统功能结构图销售管理系统结构功能图如图3.1所示。商品资料管理企业档案管理出货业务退货业务订货业务销售管理系统基础资料业务管理信息查询辅助工具系统设置个人设置基础信息修改个人信息修改密码公司简介设置员工权限设置员工管理订货信息查询出货信息查询退货信息查询区域信息查询调用word调用excel调用计算器员工职务计量单位银行名称商品类别单位类型支付方式企业资信图3.1 销售管理系统结构功能图3.4 系统架构设计3.4.1 文件夹架构在编写代码之前,需要将网站中可能用到的文件夹先创建出来(例如,创建一个名为picture的文件夹,用于保存网站中所使用的图片),这样即可以方便以后的开发工作,也可以规范网站的整体架构。在开发本系统时,首先设计了如图3.2所示的文件佳架构图。在开发时只需要将编写的文件保存在相应的文件夹中就可以了,以便于以后的网站维护。图3.2 网站文件夹结构图3.4.2 类的分布架构设计整个网站功能的实现利用到Servlet技术,基本上是以“类”的形式实现的。为了方便阅读和有效利用本系统,把各种实现的“类”,按类别放在各个不同的文件夹中,如图3.3所示。图3.3 类的分布图其中类编译后就将保存在图3.3中的class文件夹中。各个类所实现的功能如表3.1所示。表3.1 类的实现功能名称功能数据库操作包(dbopreate文件夹)控制包(servlets文件夹)数据表对象包(tables)用于存放对数据库各种操作的类用于存放各servlet的类用于存放各个数据表的对象类第四章 数据库设计4.1 命名规则数据表:数据表以字母”tb”加”_”+”数据表相关的英文单词或拼音缩写”命名,如表4.1所示。表4.1 数据表命名规则描述数据表名描述tb_banktb_goodsCanceltb_goodsOrdertb_cilenttb_inwaretb_unit银行信息出货信息表入货信息表企业信息表商品信息表计量单位信息表字段: 字段采用英文单词或拼音缩写如表4.2所示。表4.2 字段命名规则描述字段名称描述em_age em_birthday unit_number unit_name duty_number duty_name员工年龄员工出生日期计量单位编号计量单位名称职务编号职务名称由于字段是英文或拼音缩写,需要在”描述”中填写中文说明;字段大小应根据实际情况设置,类名和方法名: 类名必须是合法的java标识,一般采用类的相关英文单词拼写并将首字母大写。类中的方法名均采用与之相关的英文单词或拼音缩写,一般首字母小写,如果方法名有两个或两个以上单词组成,则第一个单词以外的其他的单词首字母均大写。变量名:变量名一般采用与之相关的英文单词或拼音缩写,并且为小写字母。4.2 数据库结构设计本系统数据库采用MySQL数据库,系统数据库名称为wheel,共包含16张表。下面分别给出数据表概要说明及主要数据表的结构。4.2.1 数据表概要说明从读者角度出发,使读者对本系统的数据库中数据表有一个更清晰的认识,设计了一个数据表树型结构图,如图4.1所示,该数据表树型结构图包含系统所有数据表。图4.1 数据表树型结构图4.2.2 主要数据表的结构tb_duty(员工职务信息表)员工职务信息表主要用来保存员工职务名称。表tb_duty的结构如表4.3所示。表4.3 表tb_duty的结构字段名数据类型长 度主键否描述IDduty_number duty_nameduty_remark intvarcharvarchartext4105016数据库流水号职务编号职务名称职务备注信息tb_inware(商品信息表)员工商品信息表用来保存商品的基本信息。表tb_inware的结构如表4.4所示。表4.4 tb_inware的结构字段名数据类型长 度主键否描述Grade Amount rebatevarcharmoney float2088是等级消费额折扣tb_goodsOrder(订货和出货信息表)定货和出货信息表用来保存定货和出货信息。表tb_goodsOrder的结构如表4.5所示。表4.5 tb_goodsOrder的结构字段名数据类型长 度主键否描述ID goods_numbergoods_goodsNumbergoods_accountgoods_moneygoods_companynumbertitleemployeeInemployeeOutmethodorderyimeouttimeIntvarchar varcharvarcharvarcharvarcharvarcharbitvarcharvarcharvarcharsmalldatetimesmalldatetime45050505050505050505044数据库流水号定货编号货品的编号货品数量货品单价出货给哪个公司定货单号是否已经出货订货人编号出货人编号付款方式订货时间出货时间tb_goodsCancel(退货信息表)退货信息表用来保存退货信息。表tb_goodsCancel的结构如表4.6所示。表4.6 tb_goodsCancel的结构字段名数据类型长 度主键否描述ID cancel_number goods_number order_number reason backmoneyemployeeNumberIntvarchar varcharvarchartextbitfloatvarchar 4505050161850数据库流水号退货编号商品编号定货编号退货原因是否返回供应商单价经办人编号tb_employee(员工信息表)员工信息表用来保存员工的基本信息。表tb_employee的结构如表4.7所示。表4.7 tb_employee的结构字段名数据类型长 度主键否描述ID em_numberem_accoutsem_passwordem_nameem_sexem_ageem_birthdayem_businessem_school Intvarchar varcharvarcharvarcharvarcharintvarcharvarcharvarchar 450505020104505040数据库流水号员工编号员工帐号员工密码员工姓名员工性别员工年员工出生日期员工职务员工毕业学校tb_right(员工权限信息表)员工权限信息表主要用来保存员工的权限信息。表tb_right的结构如表4.8所示。表4.8 tb_right的结构字段名数据类型长 度主键否描述ID rt_numberrt_codert_datert_operationrt_sellrt_toolrt_rightIntvarchar bitbitbitbitbitbit450111111数据库流水号退货编号商品编号定货编号退货原因是否返回供应商单价经办人编号tb_manager (管理员信息表)管理员信息表主要用来保存管理员信息。表tb_manager的结构如表4.9所示表4.9 tb_manager的结构字段名数据类型长 度主键否描述ID ma_number ma_managerIntvarchar bit4501数据库流水号员工表中的外键管理员设置4.3数据库操作类的代码实现过程数据库包中的类在本系统中被频繁地应用,它主要包括19个类,分别是对数据库操作的类(JDBConnection)、处理字符串的类(Chinese.java)、员工登陆时对员工信息操作的类(ManagerList.java)以及员工登陆时提供监听的类(ManagerTrace.java)等。下面分别介绍各个类中的方法。4.3.1 数据库链接类的各种实现方法本系统使用MySQL数据库系统。在MyEclipse开发环境中导入MySQL的驱动程序包,就可以编写与数据库链接的类,JDBConnection.java中不仅提供了数据库的链接,还有根据数据库获取的Statement和ResultSet等,“org.gjt.mm.mysql.Driver”类封装了关于数据库的各项操作,代码如下:package com.dbopreate;import java.sql.*;public class JDBConnection private final String dbDriver = org.gjt.mm.mysql.Driver; /连接sql数据库的方法 private final String url = jdbc:mysql:/localhost:3306/wheel; private final String userName = root; private final String password = 1234; private Connection con = null; public JDBConnection() try Class.forName(dbDriver).newInstance(); /加载数据库驱动 catch (Exception ex) System.out.println(数据库加载失败); /创建数据库连接 public boolean creatConnection() try con = DriverManager.getConnection(url, userName, password); con.setAutoCommit(true); catch (SQLException e) System.out.println(e.getMessage(); System.out.println(creatConnectionError!); return true; /对数据库的增加、修改和删除的操作 public boolean executeUpdate(String sql) if (con = null) creatConnection(); try con.setAutoCommit(false); Statement stmt = con.createStatement(); System.out.println(sql); int iCount = stmt.executeUpdate(sql); System.out.println(操作成功,所影响的记录数为 + String.valueOf(iCount); mit(); catch (SQLException e) System.out.println(e.getMessage(); System.out.println(executeUpdaterError!); return true; /对数据库的查询操作 public ResultSet executeQuery(String sql) ResultSet rs; try if (con = null) creatConnection(); Statement stmt = con.createStatement(); try rs = stmt.executeQuery(sql); catch (SQLException e) System.out.println(e.getMessage(); return null; catch (SQLException e) System.out.println(e.getMessage(); System.out.println(executeQueryError!); return null; return rs; /关闭数据库的操作 public void closeConnection() if (con != null) try con.close(); catch (SQLException e) e.printStackTrace(); /To change body of catch statement use File | Settings | File Templates. System.out.println(Failed to close connection!); finally con = null; 4.3.2 处理字符串类的实现方法在使用JSP开发网站经常要过滤一些特殊字符或转换一些字符,这些功能通常都需要编写一个独立的类来完成,本实例中通过以下代码实现字符串转码。package com.dbopreate;import java.io.UnsupportedEncodingException;public class Chinese public static String toChinese(String strvalue) try if (strvalue = null) return ; else strvalue = new String(strvalue.getBytes(ISO8859_1), GBK); return strvalue; catch (Exception e) return ; public static String str(String a) try return new String(a.getBytes(ISO-8859-1); catch (UnsupportedEncodingException e) e.printStackTrace(); return null; 在JSP中输出中文时要考虑中文乱码问题,这也是另一些JSP初学者非常头痛的事情。不同的JSP应用程序服务器对应不同的JDK版本,解决乱码问题的方法也不相同。本系统中是利用String类的getBytes方法来解决这一问题的。4.3.3 保存当前登陆员工信息类的实现方法当员工登陆时,需要将员工的信息保存到服务器端和客户端。当另一个用户利用相同用户名和密码登陆时,在JSP页显示该员工已经登陆。该方法主要是利用服务器代码保存登陆后员工的信息。具体的代码实现过程如下:package com.dbopreate;import java.util.*;import com.tables.EmployeeVO;public class ManagerList private static ManagerList manager=new ManagerList(); private Vector vector=null; public ManagerList() this.vector=new Vector(); public static ManagerList getInstance() return manager; public boolean addManager(EmployeeVO vo) if(vo!=null) this.vector.add(vo); return true; else return false; public Vector getList() return vector; public int removeManager(int id) for (int i = 0; i vector.size(); i+) EmployeeVO vo = (EmployeeVO) vector.elementAt(i); int idd=vo.getEm_id().intValue(); if (idd=id) vector.removeElementAt(i); return id; 当员工登陆的时候会有如下的判断:(1)判断当前输入的用户名在数据库中是否存在。(2)如果用户名正确,判断输入的密码和数据库中的密码是否一致。(3)如果用户名和密码都正确,则和保存在静态对象的动态数组比较,判断当前登陆的员工是否已经登陆,目的是保证员工操作的唯一性。4.3.4 监听类的编写通过服务器端查看当前有多少个用户登陆,在这里本息同是利用到Servlet Listener的监听技术。Servlet Listener是Servlet的一种监听客户端的请求、服务端的操作等。通过监听器,可以自动触发一些操作,例如监听在线用户的数量等。具体类的实现代码如下:package com.dbopreate;import java.util.*;import com.tables.EmployeeVO;public class ManagerList private static ManagerList manager=new ManagerList(); private Vector vector=null; public ManagerList() this.vector=new Vector(); public static ManagerList getInstance() return manager; public boolean addManager(EmployeeVO vo) if(vo!=null) this.vector.add(vo); return true; else return false; public Vector getList() return vector; public int removeManager(int id) for (int i = 0; i vector.size(); i+) EmployeeVO vo = (EmployeeVO) vector.elementAt(i); int idd=vo.getEm_id().intValue(); if (idd=id) vector.removeElementAt(i); return id;第五章 各子模块的实现与调试在本系统中,对员工的操作模块主要包括:“新员工注册”、“员工的登陆”、“系统设置”和“个人设置”。其中前两项主要是在员工登陆网站前的设置操作,后两项是对注册后的管理员操作。其中管理员设置功能模块主要是对管理员而言的,管理员分为两种,一种是超级管理员,可以对系统中所有的普通管理员进行“删除”操作;另一种为普通管理员。这两种管理员均可以为系统的普通用户设置操作权限,而且超级管理员是唯一的。基于以上的分析,在数据库中设计3个表,3个表的结构及之间的关系,主要是tb_employee(个字段代表的含义如表4.7所示),它的主键是em_number(员工编号),外键表主要有两个:一个是tb_manager(各自段代表的含义如表4.9所示),它的外键是ma_number;另一个是tb_right(各自段代表的含义如表4.8所示),它的外键是(rt_number)。因为员工的操作权限是由管理员进行设置的,不同的权限赋给普通员工不同的管理功能,所以普通员

温馨提示

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

评论

0/150

提交评论