资源描述
安 徽 农 业 大 学
经济技术学院
毕业设计(论文)
题目 员工工资信息管理系统的设计与实现
姓 名 李昌虎 院 系 经济技术学院
学 号 11531072 专 业 电子信息工程
指导教师 焦俊 职 称 副专家
安徽农业大学经济技术学院学院
安徽农业大学经济技术学院学院
安徽农业大学经济技术学院学士学位论文(设计)开题报告
课题名称
公司员工工资管理系统的设计与实现
课题来源
学生姓名
李昌虎
专业
电子信息工程
学号
11531072
指导教师姓名
焦俊
职称
副专家
研究内容
总体任务是实现员工工资信息管理的系统化、科学化、规范化和自动化。
工资管理系统是单位用来存储,查询,及记录人员工资的信息,因此,它是个典型数据库管理系统。重要有用户注册登录模块,员工工资管理模块,员工工资查询模块。每一个模块应当事先如下功能。
用户注册登录模块:该模块重要功能是新员工注册账号和已注册的账号登录。为了保证系统的安全,在系统中设立了用户登录和用户密码,同事加入了要输入验证码。
员工工资管理模块:该模块加入了添加新员工按钮,可以随时添加新员工,同时也可以管理已经添加员工的信息修改错误信息和删除无用的信息。同时可以点击视图查看所有员工的工资条形图。
员工工资查新模块:本系统设立了多种查询方式可以查询到员工工资信息,id,name等。
研究计划
第一阶段:通过调查分析开发员工工资管理系统所具有的能力及其实现方法;
第二阶段:绘出模块逻辑图,征求指导专业人员意见;
第三阶段:技术攻坚,实行开发;
第四阶段:运营,调试,修改;
第五阶段:写出实验报告。
特色与创新
(1) 考虑到一般工资管理系统只能单一的查询工资,本系统增长多种查询功能。
(2) 该系统还增长了条形图查看工资功能,可以很清楚的看到所有员工工资差别。
指导教师意见
系部意见
学院意见
重要领导署名:
年 月 日
目 录
1 绪 论 4
1.1 设计的背景 4
1.2 设计的开发环境 5
1.2.1 硬件环境 5
1.2.2 软件环境 5
2.1系统所涉及到的语言 5
2.1.1 Java 5
2.2开发工具 6
2.2.1 MyEclipse 6
2.2.2 MySQLServer 6
2.2.3 B/S. 7
3 系统分析 7
3.1需求概述 7
3.2需求分析 8
3.2.1 理解需求 8
3.2.2 分析需求 8
3.2.3 可行性分析 8
3.3设计思想 9
3.4系统功能结构图 9
4 数据库设计 11
4.1数据库需求分析 11
4.2数据流图 11
4.3数据字典 12
4.4 概念结构设计 13
44.1概念结构设计方法 13
4.4.2概念模型设计 13
4.5逻辑结构设计 14
4.5.1概念模型设计思想 14
4.5.2 E-R图向关系模型转换 15
5 系统具体模块设计与实现 16
5.1 用户注册及主界面 16
5.2 用户登录及主页面 20
5.3用户工资管理功能实现 24
5.4员工工资条形图视图 27
5.5退出系统功能实现 32
6 软件测试 32
6.1 测试的基本概念 32
6.2测试的任务和目的 32
6.2.1测试的任务 32
6.2.2测试的目的 32
6.3系统的整体测试环节 33
6.4本系统测试 33
6.4.1登录模块的测试 33
6.4.2员工管理模块的测试 34
总结 34
参考文献 35
英文摘要 35
致谢 35
JAVA语言员工工资管理系统
学生:李昌虎,指导老师:焦俊
(安徽农业大学经济技术学院)
摘要:本系统是运用JAVA语言编写,重要分为用户注册登录模块,员工工资管理模块,员工工资查询模块。把几个模块合在一起就组成了一个完整的员工工资管理系统,员工可以运用本系统进行注册账号登录,录入信息,查询修改等操作。
关键词 工资管理系统,MySQL Server 5.5 数据库,Java
绪论
在这个计算机快速发展的世界里,计算机为信息解决提供了物美价廉的手段,对于推动我国管理信息解决现代化起到了重要作用。工资管理是一项琐碎、复杂而又十分细致的工作,一般不允许犯错,假如实行手工操作,每月工资须手工填制大量的表格,这就会花费工作人员大量的时间和精力,因此,开发一个界面和谐,功能全面,操作简朴的基于B/S(Browser/Server)结构的公司人力资源管理系统变得十分重要,这也正是本系统开发的目的和意义所在。计算机进行工资发放工作,不仅可以保证工资核算准确无误、快速输出,并且还可以运用计算机对有关工资的各种信息进行记录,既方便又快捷地完毕员工工资的发放。
我在毕业设计过程中根据设计中的需求及对工资管理系统采用了模块化的设计思想,在Windows 7操作系统环境下,采用目前比较先进的MyEclipse8.6开发工具和MySQL Server 5.5数据库进行设计。在设计过程中,我一方面对整体的思绪进行分析,然后进行每个模块分析。对数据库和类进行设计,实现了工资管理系统的功能。其功能重要涉及公司员工的工资管理、工资的条形图功能。
本系统运用了数据库技术,可以大量的存储信息。又实现了人机交互,不仅缩短的时间,又避免了传统时代的人工计算错误。总而言之,该系统在工资管理方面考虑周全,功能齐全,极大地提高了公司对员工工资管理的效率。
1.1 设计的背景
借助现代信息技术和管理理论,建立公司管理信息系统是当今社会的重要趋势。党和政府根据知识经济时代的特点,对国民经济建设提出了“用信息化带动工业化”的指导思想。对公司而言,全面开发和应用计算机管理信息系统就是近期不能回避的问题。在公司管理中,人力资源是公司最宝贵的资源,也是公司的“生命线”,因此人事管理是公司的计算机管理信息系统重要组成部分。而工资管理又是人力资源管理的重中之重。实行电子化的工资管理,可以让人力资源管理人员从繁重琐碎的案头工作解脱出来,去完毕更重要的工作。工资管理信息系统的实现可以减轻比较繁琐的手工工资管理。同时计算机具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、成本低等。这些优点可以极大地提高物业管理的效率,也是公司的科学化、正规化管理,与世界接轨的重要条件。因此工资管理系统在公司中占重要地位。
现在应用在大中型公司的管理信息系统中,几乎都涉及了工资管理模块。有些环境中是由作为大型ERP软件中的一个模块引进的,有些是作为公司的财务系统的一部分。这些根据规范的西方的管理制度设计的工资管理软件,在很多时候还不能完全解决中国特色的中小公司的问题,我的毕业设计的工资管理系统就是要为这些具有中国特色的中小公司解决他们在工资管理方面的问题。实现了用户管理、工资管理。并在各个功能下面实现了查询、添加、修改、删除等功能,使系统功能更加完善。更适合公司管理人员对员工工资进行管理。
1.2 设计的开发环境
1.2.1 硬件环境
PC机
1.2.2 软件环境
(1) 操作系统:Windows 7
(2) 开发工具:MyEclipse 8.6
(3) 数据库:MySQL Server 5.5
2 相关技术
2.1系统所涉及到的语言
2.1.1 Java语言
Java的诞生是对传记录算机模式的挑战,对计算机软件开发行业产生了深远的影响:
(1) 软件4A目的规定软件能达成任何人在任何地方在任何时间对任何电子设备都能应用。这样能满足软件平台上互相操作,具有可伸缩性和重用性并可即插即用等分布式计算模式的需求。
(2) 对软件产业和工业公司都产生了深远的影响,软件从以开发为中心转到了以服务为中心。中间提供商,构件提供商,服务器软件以及征询服务商出现。公司必须重塑自我,B2B的电子商务将带动整个新经济市场,使公司获得新的价值,新的增长,新的商机,新的管理。
(3) 对软件开发带来了新的革命,重视使用第三方构件集成,运用平台的基础设施服务,实现开发各个阶段的重要技术,重视开发团队的组织和文化理念,协作,创作,责任,诚信是人才的基本素质。
总之,目前以看到了Java对信息时代的重要性,未来还会不断发展,Java在应用方面将会有更广阔的前景。
2.2开发工具
2.2.1 MyEclipse
Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其自身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,涉及 Java 开发工具(Java Development Tools,JDT)。本次系统开发所使用的前台开发技术为Java,所使用的软件为MyEclipse。Java是一种软件技术,是一种由美国SUN计算机公司所研究而成的语言,是一种较为高级的编程语言。运用它可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,涉及了完备的编码、调试、测试和发布功能,可以支持HTML,Struts,JSP,CSS,Javascript,SQL,Hibernate。同时,MyEclipse8.6为用户提供了高效、便捷的操作环境和和谐的可视化操作界面。 以下将介绍开发时所用的相关技术 JSP技术 JSP(Java Server Pages)是由Sun Microsystems公司提倡、许多公司参与一起建立的一种动态网页技术标准。 JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。 JSP技术有点类似ASP技术,它是在传统的网页HTML文献中插入Java程序段和JSP标记,从而形成JSP网页。所有程序操作都在服务器端运营,网络上传送给客户端的仅是得到的结果,与客户端的浏览器无关,因此,JSP称这Server-side Language。所以被许多人认为是未来最有发展前程的动态网站技术之一。
2.2.2 MySQL Server 5.5数据库简介
MySQL Server 5.5数据库是基于MySQL Server 技术优势构建的,它可为任何规模的组织机构提供集成化信息管理解决方案。当今的公司经常面临着诸多方面的挑战,例如需要根据数据做出更快、更多的决策;需要提高开发团队的生产力和灵活度;在减少总体信息技术(IT)预算的同时,扩展基础架构以满足更多规定等。作为微软公司的下一代数据管理与分析软件,MySQL Server 5.5有助于简化公司数据与分析应用的创建、部署和管理,并在解决方案伸缩性、可用性和安全性方面作了重大的改善。因此,为了提高系统的安全性、可靠性和性能,本系统采用MySQL Server 5.5数据库。
2.2.3 B/S
结构的数据库访问模式 B/S(Browser/Server)结构,即浏览器/服务器模式,当前在web数据库开发中应用较广泛的一种模式,它是随着Internet技术的兴起,从传统的二层C/S(客户机/服务器)模式发展起来的新的网络结构模式,其本质是三层结构C/S模式。在这种结构下,用户工作界面是通过WWW浏览器来实现,很少部分事务逻辑在前端(Browser)实现。但是重要事务逻辑在服务器端(Server)实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,减少了用户的总体成本,如下图。
3 系统分析
3.1需求概述
工资管理系统系统对公司加强工资管理有着极其重要的作用,就一般的大型公司来说,它的设计内容非常复杂并且繁多,比如拥有工资计算功能,工资记录功能,报表输出功能,并且设计的模块也很多,比如工资管理模块,工资记录模块,报表设计模块,打印输出模块,模糊查询模块等等。因此,工资管理系统为公司和员工带来极大的方便。通过我的分析与研究,规定系统具有如下功能:
(1) 提供用户登录、用户查询功能
(2) 提供工资信息查询、添加、修改、删除等功能
(3) 提供员工工资的条形图
3.2需求分析
3.2.1 理解需求
工资管理系统在用户登录用户可以进入用户界面查询各个信息,尚有对各个部分的信息进行添加、修改、删除等功能。所有的功能管理员都能实现。
下面是系统所要达成的几条规定:
(1) 规定系统准确的记录各种信息。
(2) 系统要提供丰富的查询功能。
(3) 系统可以对基础数据进行维护。
(4) 系统运营在Windows平台下,需要有良好的图形用户界面。
(5) 系统具有良好的可扩展性,良好的可移植性。
3.2.2 分析需求
分析需求就是描述系统的需求,通过定义系统中的关键域建立模型。分析的主线目的是在开发者和提出需求的人之间建立一种理解和沟通的机制。因此,工资管理系统的需求分析应当是开发人员和用户一起完毕的。
分析需求的第一步描述工资管理系统的功能,即定义用例,以此拟定系统的功能需求。工资管理系统的分析重要涉及规格说明的阅读和分析,需要和工资管理系统潜行讨论。工资管理系统的角色是公司用户可以对系统中的各个部分进行查询,用户对信息进行添加、修改、查询、删除等,还可以对系统中的其他信息进行管理。
3.2.3 可行性分析
(1) 技术可行性分析
技术上的可行性分析要考虑将来要采用的硬件和软件技术能否满足用户提出的规定(如计算机的容量、速度等)。此外,还要考虑开发人员的水平,作为计算机软件开发与技术专业的学生,通过几年的学习,在数据库和编程方面都有一定的基础。所以对于这个系统的开发还是有能力做好的。
我掌握了数据库及其应用技术、数据库原理、计算机网络技术等课程,对数据库的设计、应用、维护及局域网的组成有了深刻的结识与一定的动手实践能力。从一定限度上具有了开发一个小型系统的能力。
(2) 经济可行性
重要从对项目的经济上进行分析评价,一方面是支出的费用,另一方面是取得的收益。我们这个是一个小型的公司工资管理系统,从投入的人力,财力与物力来讲是非常之小的,只要有电脑就可以了。从节省人力方面,可以让管理人员从繁与复杂的工作中解脱出来,做更多的工作,可以给工资管理提高一个层次。
(3) 运营可行性
不同的公司正在迅猛发展,并且在公司中各个公司的员工流动性越来越大,所以工资管理系统在公司起到了极其重要的作用。随着计算机硬件的快速发展,计算机的价格在不断地减少,工资管理系统对客户端规定极低,只需要有一个浏览器能上网就能进行信息的查询。网络的越来越普及,人们都喜欢上网查询信息既方便又快捷。因此系统在实践上具有了可行性。
(4) 法律可行性
本系统纯为私人设计,在开发过程中没有涉及协议、责任等与法律相抵触的方面。因此,本系统在法律上是可行的。
由此可知,工资管理系统在市场上具有可行性。
3.3设计思想
本系统开发设计思想有以下几点:
(1) 充足运用现有资源,提高系统开发水平和应用效果的目的。
(2) 系统应符合用户人员的具体规定,满足平常的管理工作需要,并且要达成使用中的直观、快捷、实用、安全、稳定等规定。
(3) 系统采用模块化的程序设计方法,既便于系统功能的添加、修改等。
(4) 系统应具有数据库维护功能,及时根据用户需求进行数据的添加、删除修改等功能。
3.4系统功能结构图
针对实际生活中工资管理的需要,我的员工工资管理系统可以实现的重要功能模块如下:
用户注册登录模块:该模块重要功能是新员工注册账号和已注册的账号登录。为了保证系统的安全,在系统中设立了用户登录和用户密码,同事加入了要输入验证码。
员工工资管理模块:该模块加入了添加新员工按钮,可以随时添加新员工,同时也可以管理已经添加员工的信息修改错误信息和删除无用的信息。同时可以点击视图查看所有员工的工资条形图。
员工工资查新模块:本系统设立了多种查询方式可以查询到员工工资信息,id,name等。
工资管理系统的组成及系统功能结构图,如图3.4所示。
图3.4系统功能图
4 数据库设计
4.1数据库需求分析
需求分析简朴地说就是分析用户的规定。需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际规定,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。因此,数据库结构设计的一个非常重要的阶段就是数据库需求分析阶段。在这个阶段重要是收集基本数据以及数据解决流程,为以后进一步设计打下基础。需求分析重要解决两个问题:
内容规定:调查应用系统用户所操作的数据,决定的数据库中存储什么数据。
解决规定:调查应用系统用户规定对数据进行什么样的解决,解决数据库中的各种数据之间的关系如何。
解决这两个问题的时候,程序设计人员需要向应用系统的用户做具体调查,保证信息收集的完整性,否则有也许后面所做的所有工作都白白浪费。
工资管理系统,涉及系统功能设计、工资管理数据库与数据表的创建、创建系统启动和操作的各个界面、以及各个子系统的界面设立及功能实现等内容,重要实现对公司工资管理信息的规范化、系统化的管理。
通过各方面的调查和分析,工资管理系统需要实现的重要功能如下:
(1) 提供用户登陆、用户查询功能
(2) 提供员工信息添加、查询、删除功能
(3) 提供工资信息查询、添加、修改、删除等功能
4.2数据流图
从硬件方面来说,数据流图(Data Flow Diagram,DFD)是用来描绘软件系统逻辑模型的图形工具,用于描绘信息在系统中的流动和解决情况。数据流图是结构系统分析的重要工具,它表达了系统内部信息的流向,并表达了系统的逻辑解决的功能,是一种功能模型。
数据流图具体功能分析如下:
数据源点和数据终点:数据源点和数据终点用方框表达,它是系统之外的实体,可以是人、事、物、或其他系统。
加工(数据解决变换):加工用圆框表达,是对数据进行解决的逻辑单元,它接受若干输入数据流,通过加工,内部产生规定的输出数据流。
数据流:数据流用带数据流标记的箭头表达,表达系统解决的数据对象和数据流动的方向。数据流的方向可以是:从一加工流向另一加工、从加工流向数据存储或数据存储流向加工、从源点流向加工或从加工流向终点。
数据存储文献:数据存储文献在数据流图中起着保存数据的作用,它可以是数据库、文献或任何其它形式,指向存储的数据流可理解为数据写入,从存储引出的数据流可理解为数据读出。
4.3数据字典
从软件方面来说,需要安装JDK和Web服务器以及数据库管理系统数据字典通常涉及数据项、数据结构、数据流、数据存储和解决过程五个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。
⑴数据项
数据项是不可再分的数据单位。可以用关系规范化理论为指导,用数据依赖的概念分析和表达数据项之间的联系。即按实际语义,写出每个数据项之间的数据依赖,它们是数据库逻辑设计阶段数据模型优化的依据。对数据项的描述通常包含以下内容:
数据项描述={数据项名,数据项含义说明,别名,数据类型,长度}
对于本系统所包含的各个数据项的具体描述如表4.31。
表4.31员工信息的数据项
数据项名
别名
数据类型
长度
数据项含义说明
备注
员工id
id
VCHAR
8
员工的唯一标记
主键,值不为空
员工姓名
name
VCHAR
8
员工的姓名
值不为空
性别
Sex
VCHAR
4
员工的性别
可有可无
年龄
Age
VCHAR
4
员工的年龄
可有可无
工资
salary
VCHAR
10
员工工资
可有可无
⑵ 数据结构
数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。对数据结构的描述通常涉及以下内容:
数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}
本系统的数据结构描述,如表4.32所示。
表 4.32数据结构说明
数据结构名
含义说明
组成
员工信息
员工的基本信息
员工编号、姓名、性别、年龄、工资
⑶ 数据流
数据流是数据结构在系统内传输的途径。对数据流的描述通常涉及以下内容:数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构}}
其中,“数据流来源”是说明该数据流来自哪个过程;“数据流去向”是说明该数据流将到哪个过程去。
⑷ 数据存储
数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。它可以手工文档或手工凭单,也可以是计算机文档。本系统中对数据存储的具体描述。
⑸ 解决过程
解决过程的具体解决逻辑一般用鉴定表或鉴定树来描述。数字字典中只需要描述解决过程的说明信息,通常涉及以下内容:
解决过程描述={解决过程名,说明,输入:{数据流},输出:{数据流}}。
4.4 概念结构设计
4.4.1概念结构设计方法
设计概念结构通常有四类方法如下:
⑴ 自顶向下。即一方面定义全局概念结构的框架,然后逐步细化;
⑵ 自底向上。即一方面定义各局部应用的概念结构,然后将他们集成起来,得到全局概念结构;
⑶ 逐步扩张。一方面定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构;
⑷ 混合策略。即将自顶向下和自地向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成自底向上策略中设计的各局部概念结构。
4.4.2概念模型设计
在概念模型设计中,重要是对E-R图进行设计。在E-R图设计中,一方面要设计分E-R图,然后再对总E-R图进行设计。由于各个局部所面向的问题不同,这就导致各个分E-R图之间必然会存在许多不一致的问题,称之为冲突。因此合并分E-R图并不能简朴地将各个分E-R图画到一起,而是必须合理消除各分E-R图中的不一致,以形成一个能为全系统中所有用户共同理解和接受的统一的概念模型,是合并E-R图的重要工作和关键。由分E-R图合成总体E-R图的规则,画出完整的工资管理系统的完整E-R图,如图4.41所示。
图4.41完整E-R图
4.5 逻辑结构设计
4.51逻辑结构设计思想
从理论上讲,设计逻辑结构应当选择最适于相应概念结构的数据模型,然后支持这种数据模型的各种DBMS进行比较,从中选出最合适的DBMS。但实际情况往往是已给定了某种DBMS,设计人员没有选择的余地。目前DBMS产品一般支持关系、网状、层次三种模型中的某一种,对某一种数据模型,各个机器系统又有许多不同的限制,提供不同的环境与工具。所以设计逻辑结构时一般要分三步进行:
●将概念结构转换为一般的关系、网状、层次模型;
●将转换来的关系、网状、层次模型向DBMS支持下的数据模型转换;
●对数据模型进行优化。
概念结构
基本E-R图
转换规则
DBMS
的特点和限制
优化方法
一般数据模型
关系、网状、层次
特定的DBMS支持下的数据模型
优化的
数据模型
逻辑结构设计时的三个环节
逻辑结构设计采用关系模型转换概念结构,将E-R图依照规则转换为关系模型,为了进一步提高数据库应用系统的性能,再将转换后的关系模型进行优化,拟定是否要对某些模式进行合并或分解,为物理设计提供最优的解决。
4.5.2 E-R图向关系模型的转换
关系模型的逻辑结构是一组关系模式的集合。E-R图则是由实体,实体的属性和实体间的联系三个要素组成。所以将E-R图转换为关系模型事实上就是要将实体,实体的属性和实体间的联系转换为关系模式。转换原则如下:
(1)实体类型的转换:将每个实体类型转换成一个关系模式,实体的属性就是关系模式的属性,实体的码就是关系的码。
(2)联系类型的转换,根据不同的情况做不同的解决。
若实体间的联系是1:1的,可以转换为一个独立的关系模式,也可以与任意一端相应的关系模式合并。假如转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系自身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。假如与某一端实体相应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系自身的属性。
若实体间的联系1:N的,可以转换为一个独立的关系模式,也可以与N端相应的关系模式合并。假如转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系自身的属性均转换为关系的属性,而关系的码为N端实体的码。假如与N端相应的关系模式合并,则将一方的码传到多方去作为多方的一个非主属性。
若实体间的联系是M:N的,可转换为一个独立的关系模式,与该联系相连的各实体的码以及联系自身的属性均转换为关系的属性,而关系的码为各实体码的组合。
三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系自身的属性均转换为关系的属性,而关系的码为各实体码的组合。
(3)依照该规则将工资管理系统的E-R图转换为关系模型如下:
将每一个实体转换成一个关系模式(实体的属性就是关系的属性,实体的码就是关系的码)带下划线的为主码。
管理(员工号,姓名)
员工(姓名,性别,年龄,密码,工资
5 系统具体模块设计与实现
5.1 用户注册及主界面
工资管理系统第一个界面就是用户注册面,该页面是用户想要登录本系统必须的环节,当用户输入对的的网址是就会出现登录页面,第一次登录本系统用户必须注册只有注册之后才干登录。
用户登录代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
<%@page contentType="text/html; charset=utf8" pageEncoding="utf8"%>
<%@page import="java.util.*,java.text.*"%>
<%@taglib uri="" prefix="c"%>
<%@taglib uri="test" prefix="c1"%>
<html>
<head>
<title>regist</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="css/style.css">
<script type="text/javascript" src="js/ajax.js">
</script>
<script type="text/javascript" src="js/prototype-1.6.0.3.js">
</script>
<script type="text/javascript">
function beforeSubmit() {
var flag = check_uname();
return flag;
}
function check_uname() {
$('username_msg').innerHTML = ' ';
if ($F('username').strip().length == 0) {
$('username_msg').innerHTML = '用户不能为空';
return false;
}
var flag = false;
var xhr = getXhr();
xhr.open('post', 'check_uname.do', true);//同步请求
xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');
xhr.onreadystatechange = function() {
var txt = xhr.responseText;
if (xhr.readyState == 4 && xhr.status == 200) {
if (txt == 'ok') {
flag = false;
$('username_msg').innerHTML = '用户名被占用请重新输入';
} else {
flag = true;
$('username_msg').innerHTML = '可以使用';
}
}
return flag;
};
xhr.send('username=' + $F('username'));
}
</script>
</head>
<body>
<div id="wrap">
<div id="top_content">
<div id="header">
<div id="rightheader">
<p>
<c1:date pattern="yyyy-MM-dd" />
</p>
</div>
<div id="topheader">
<h1 id="title">
<a href="#">main</a>
</h1>
</div>
<div id="navigation">
</div>
</div>
<div id="content">
<p id="whereami">
</p>
<h1>
注册
</h1>
<form action="regist.do" method="post"
onsubmit="return beforeSubmit();">
<table cellpadding="0" cellspacing="0" border="0"
class="form_table">
<tbody>
<tr>
<td valign="middle" align="right">
用户名:
</td>
<td valign="middle" align="left">
<input type="text" class="inputgri" name="username"
id="username" onblur="check_uname();" />
<span class="tip" id="username_msg"></span>
</td>
<td>
<%
String msg = (String) request.getAttribute("msg");
%>
<span style="color: red;"><%=msg == null ? " " : msg%></span>
</td>
</tr>
<tr>
<td valign="middle" align="right">
真实姓名:
</td>
<td valign="middle" align="left">
<input type="text" class="inputgri" name="name">
</td>
</tr>
<tr>
<td valign="middle" align="right">
密码:
</td>
<td valign="middle" align="left">
<input type="password" class="inputgri" name="pwd">
</td>
</tr>
<tr>
<td valign="middle" align="right">
性别:
</td>
<td valign="middle" align="left">
男
<input type="radio" class="inputgri" name="gender" value="m"
checked="checked">
女
<input type="radio" class="inputgri" name="gender" value="f">
</td>
</tr>
<tr>
<td valign="middle" align="right">
验证码:
<img id="num" src="checkCode">
<!-- onclick="document.getElementById('num').src = 'image?'+(new Date()).getTime()" -->
<a href="" onclick="this.src='checkCode?'+Math.random();">换一张</a>
</td>
<td valign="middle" align="left">
<input type="text" class="inputgri" name="number">
</td>
</tr>
</tbody>
</table>
<p>
<input type="submit" class="button" value="确认">
</p>
</form>
</div>
</div>
<div
展开阅读全文