1、1 引言1.1 开发背景现代信息技术的发展,在改变着我们的生活方式的同时,也改变着我们的工作方式,使传统意义上的企业员工管理的形式和内涵都在发生着根本性的变化1。企业员工信息管理的内容也己经转变为对更为广泛的系统价值的追求。信息管理,如今已是一个热门话题,它已为许多企业所采用。在现代化的进程中,引入现代管理的思想,建立一套可面向企业单位的员工信息管理系统,也是十分必要的2。本课题基于我国企业管理信息化建设现状,结合在实际工作中所遇到的问题和收获,对企业员工管理系统在设计开发等方面进行研究,重点研究系统开发中所采用的软硬件平台规范、数据库结构设计、开发工具的选择与使用,目的是从技术手段的角度阐述
2、如何实现企业从传统经营管理模式向信息化管理模式转变的过程,以及企业员工管理系统在企业管理信息化中所起到的重要作用3。1.2系统架构本系统使用Sun公司的J2EE架构,并以STRUTS为框架,Hibernate作为持久化层,讨论了构件Web应用系统的MVC体系结构4。并探讨了设计模式与框架技术,设计并实现了基于STRUTS+Hibernate的企业员工信息管理系统,为以后的研究与实践打下了基础。主要有以下几点:(1)系统采用较为流行的J2EE技术体系,具有良好的可伸缩性和跨平台性,为日后功能的扩展提供了良好的升级空间5。(2)采用MVC模式struts架构设计,将系统的表示层、逻辑层和web表示
3、层分离,便于日后的开发和维护6。1.3系统目标本课题设计并实现了一个企业员工信息管理系统,具体的实现目标是:(1)管理员界面企业员工信息注册、企业员工信息管理、企业招聘信息发布、企业培训项目添加、企业培训项目管理、企业奖惩信息添加、企业奖惩信息查询、企业员工薪资录入、企业员工薪资查询、企业共享资料上传、企业共享资料管理、企业内部信息公告。 (2)企业员工界面个人注册信息查询、个人登录密码变更、个人当月薪资查询、企业成长大事简介、企业招聘信息查询、企业培训项目查询、企业共享资料下载。 2 主要技术介绍2.1 J2EE概述J2EE是SUN公司定义的一个开放分布式企业级应用的规范7。它提供了一个多层
4、次的分布式应用模型和一系列开发技术规范,与传统的互联网应用程序模型和一系列开发技术规范,与传统的互联网应用程序模型相比有着不可比拟的优势。J2EE技术是一个开发的、基于标准的开发和部署的平台,用于构建N层、基于Web、以服务端计算为核心、模块化企业应用。J2EE同时也是所有兼容J2EE标准的应用服务器产品的同一标识8。J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台,J2EE不仅巩固了标准版本中的许多优点,例如“编写一次、随意运行”的特性,同时还提供了对EJB、Java Servlets API、JSP以及X
5、ML技术的全面支持。其最终目的就是成为一个能够是企业开发者大幅缩短投放市场时间的体系结构9。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性应用的需求。通过提供同意的开发平台,J2EE降低了开发开发多层的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全几只,提高了性能10。2.2 J2EE的优势J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:(1) 保留现存的IT资产:由于企业必须适应新的商业需求,利用已有的企业信息系
6、统方面的投资,而不是重新制定全盘方案就变得很重要。由于基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。(2)高效的开发:J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。(3)支持异构环境:J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的程序只需要开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。(4)可伸缩性:企业必须要选择一种服务器平台,这种平台应能
7、提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序被部署到各种操作系统上。2.3 MVC设计模式MVC系统中的Model模型部分从概念上可以分为两类:系统的内部状态和改变系统状态的动作.Struts中的Model部分一般由JavaBean以及EJB组成11。在Struts架构中使用JavaBean来提供具体的业务逻辑,即”怎么做”,对于复杂的系统也可以使用EJB等组件来实现系统状态维护。这种业务逻辑的细分可以增强可以代码的可重用性。Model模型View视图Controller控制器是软件工程中的一种软件架构模式。它把软件系统分为三个基本部分:Mode
8、l模型View视图Controller控制器12。模型视图控制器模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。专业人员可以通过自身的专长分组:控制器Controller-负责转发请求,对请求进行处理。Struts中的Controller控制器部分是通过专门的Servlet来实现的,该Servlet是一个Struts API中提供的ActionServlet类型的实例,ActionServlet类继承了javax.servlet.http.HttpServlet类,因此该类的实例可以和普通的Servlet一样工作,其作用是接收客户端浏览器
9、的请求,然后选择执行相应的业务逻辑,再把响应结果送回到客户端。Action对象是开发者定义的类(该类必须是Struts API中提供的Action类的子类)的实例。在继承该类的过程中开发者可以加入具体业务逻辑或调用业务逻辑模块。Action对象在进行了业务逻辑或调用业务逻辑模块。Action对象在进行了业务逻辑的处理以后会将应用程序流程转到合适的View组件,最终将响应送回浏览器客户端。Struts中提倡Action对象只用来决定”做什么”,相当于一个低层面的控制器,因此也可以将Action归纳为Controller的组成部分13。视图View-界面设计人员进行图形设计。模型Model-程序员
10、编写程序应有的功能、数据库进行数据管理和数据库设计。2.4 框架的选择2.4.1 Struts简介Struts的工作流程:在web应用启动时就会加载初始化ActionServlet,ActionServlet从struts-config.xml文件中读取配置信息,把它们存放到各种配置对象当ActionServlet接收到一个客户请求时将执行如下流程。(1)检索和用户请求匹配的ActionMapping实例,如果不存在,就返回请求路径无效信息;(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中;(3)根据配置信息决定
11、是否需要表单验证.如果需要验证,就调用ActionForm的validate()方法;(4)如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActuibErrors对象,就表示表单验证成功;(5)ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给哪个Action,如果相应的 Action实例不存在,就先创建这个实例,然后调用Action的execute()方法;(6)Action的execute()方法返回一个ActionForward对象,ActionServlet在把客户请求转发给 Action
12、Forward对象指向的JSP组件;(7)ActionForward对象指向JSP组件生成动态网页,返回给客户;2.4.2 Hibernate简介Hibernate是一种Java语言下的对象关系映射解决方案。它是使用GUN宽通用公共许可证发型的自由、开源的软件14。它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。它的设计目标是将软件开发人员从大量相同的数据库持久层相关编程工作中解放出来。无论是从设计草案还是从一个遗留数据库开始,开发人员都可以采用Hibernate。Hiberbate不仅负责从Java类到数据库表的映射,还提供了面向对象的数据查询检索机制,从而极大地
13、缩短的手动处理SQL和JDBC的开发时间。2.4.3 Spring简介Spring Framework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架。Spring Framework提供了一个简易的开发方式,这种开发方式,将避免那些可能致使底层代码变得繁杂混乱的大量的属性文件和帮助类。Spring包含的关键特性如下:1 非侵入式:所谓非侵入式是只Spring框架的API不会在业务逻辑上出现,也就是说我们的业务逻辑应该是纯净的,不能出现与业务逻辑无关的代码。首先针对应用而言,这样我们才能将业务逻辑从当前应用中剥离出来,从而在其他的应用中实现复用;其次针对框架
14、而言,由于业务逻辑中没有Spring的API,所以业务逻辑也可以从Spring框架快速的移植到其他框架15。2 容器:Spring提供容器功能,容器可以管理对象的生命周期,对象与对象之间的依赖关系。可以写一个配置文件(通常是xml文件),在上面定义对象的名字,是否是单例,以及设置与其他对象的依赖关系。那么在容器启动之后,这些对象就被实例化好了,直接去用就好了,而且依赖关系也建立好了。3 IOC:控制反转,如果以前都是依赖于实现,那么现在反转依赖于抽象,它的核心思想就是要面向接口编程。4 依赖注入:建立对象与对象之间依赖关系的实现,包括接口注入、构造注入、set注入,在Spring中只支持后两种
15、。5 AOP:面向方面编程,我们可以把日志、安全、事务管理等服务理解成一个“方面”,那么以前这些服务一直是直接写在业务逻辑的代码当中的,有这两点不好;首先业务逻辑不纯净,我们可以把这些服务剥离出来形成一个“方面”,以做到复用;然后将“方面”动态的插入到业务逻辑中让业务逻辑能够享受到此“方面的服务”。3 系统开发工具及容器3.1 开发工具本系统使用的开发工具,后台java代码编写使用MyEclipse 2013 ,MyEclipse企业级工作平台是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的Jav
16、aEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。3.2 数据库的选择ORACLE简介 ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式
17、数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。Oracle数据库最新版本为Oracle Database 12c。Oracle数据库12c 引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。此外,一些创新特性可最大限度地提高资源使用率和灵活性,如Oracle Multitenant可快速整合多个数据库,而Automatic Data Optimization和Heat Map能以更高的密度压缩数据和对数据分层。这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得Oracle数据库12c
18、成为私有云和公有云部署的理想平台。本系统采用ORACLE10gXE版本。3.3 JDK版本的选择JDK是Sun公司针对Java开发员软件开发工具包。平台无关性是指Java能运行于不同的平台。Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间。使用Java编写的程序能在世界范围内共享。Java的数据类型与机器无关,Java虚拟机(Java Virtual Machine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,提供了应用于不同平台的接口。Java的编程类似C+,当Java舍弃了C+的指针对存储器地址的直接操作。程序运行时,内存由操作系统分配,这样可以
19、避免病毒通过指针侵入系统。Java对程序提供了安全管理器,防止程序的非法访问。Java吸取了C+面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。类的封装性、继承性等有关对象的特性,使程序代码只需一次编译、反复利用。程序员只需把精力用在类和接口的设计和应用上。Java建立在扩展TCP/IP网络平台上。库函数提供了用HTTP和FTP协议传送和接受信息的方法。使得程序员使用网络上的文件和使用本机文件一样容易。Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自己操纵内存减少了内存出错的可能性。自从Java推出以来,JDK已经
20、成为使用最广泛的Java SDK。本系统采用JDK 1.6 版本。3.4 容器本系统页面采用JSP,所以对应的容器采用Apache Tomcat7.0。既然JSP/Servlet,那么它当然是不能直接运行的,必须把它放到某种运行环境中,它才能发挥它的作用。这个环境就是我们讲的容器。容器也是Java程序,它主要功能除了为Servlet提供环境,还有更重要的,就是提供网络传输协议与java程序的相互转换。客户端想服务器发送数据,遵循的是HTTP协议的数据格式。在客户端和服务器端,可能存在这不同的编程语言编写的程序,比如java,C+的等等。各种语言都有自己用于处理HTTP协议数据的方法(类),为了
21、使用java提供的各种HTTP处理相关的类,必须将HTTP协议下的数据做一定的转换,转换成一些java object,这样才能使用java的方法进行数据处理。同理,当这些处理完成,又需要将这些java object转换回HTTP协议下的数据,反馈给客户端 (JSP/Servlet当然存在于服务器端)。JSP/Servlet容器就扮演了完成这个双向转换的角色。Tomcat简介Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并且提供
22、了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat等。由于Tomcat本身也内含一个HTTP服务器,它也可以被视作一个单独的Web服务器。但是,不能将Tomcat和Apache Web服务器混淆,Apache Web Server是一个用C语言实现的HTTP web server;这两个HTTP web server 不是捆绑在一起的。Apache Tomcat 包含了一个配置管理工具,也可以通过编辑XML格式的配置文件来进行配置。4 系统总体设计4.1 系统功能分析功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足业务需求。参照
23、业务需求分析的结果对每个业务进行细化,从而得到系统的功能模块。根据一般公司的人力资源管理业务需求,系统应该具有以下功能:(1) 登录功能:为了防止非法用户的访问及信息保密性要求,登录模块应根据用户类型对其操作权限进行了限制。(2) 企业员工信息管理:应实现企业员工信息的增加、删除、修改等操作。(3) 招聘管理:管理员可以发布、删除招聘信息。(4) 业务管理:根据具体的情况设置人员业务培训,可修改、删除、添加培训信息,为员工的升迁提供科学的依据。(5) 奖惩管理:实现对奖惩信息的增加、删除等操作,为薪资、升迁等提供依据。(6) 薪资管理:实现对员工工资的录入、查询等。(7) 企业员工登录模块:该
24、模块强调员工自助服务,如对个人档案、薪资等信息的查询、密码修改等操作。(8) 系统管理模块:对该系统用户进行管理(增加、删除等)。4.2 系统架构设计本系统编码采用MVC分层结构设计。工程主要分为action包,Dao包和bean包。action包:主要是放置Struts的Action java类,用来控制流程跳转、操纵model层、从model里面取数据呈现给表示层。dao包:主要放置负责与数据库打交道的java类,所有类皆继承自一个HirbernateDao。该层封装了数据的增、删、改、查操作。bean包:主要是放置实体bean java类,用来表示实体,并且映射至数据库对应的表,负责想v
25、iew层提供数据。5 详细设计5.1 数据库5.1.1 数据库设计一个软件产品,数据库设计的好坏决定这软件的开发维护和运行容易程度。如果把企业的数据比作生命所必需的血液,那么数据库的设计就是应用中最重要的一部分。整个系统的操作实际上就是操作数据库,所以,数据库的设计方式决定这系统的好坏。5.1.2 数据表本系统一共建立了9张表。(1)用户信息表:用来存储用户信息,表结构见表5.1表5.1 用户信息表字段号字段名称 字段类型字段大小索引字段说明1idnumber4主键编号2accountnovarchar215非空、唯一用户帐号3passwordvarchar250非空用户密码4typevarc
26、har21非空用户类型5statusvarchar21是否注销(2)企业员工信息表:用来存储职工档案信息,表结构见表5.2表5.2 企业员工信息表字段号字段名称字段类型字段大小索引字段说明1idnumber4主键编号2namevarchar220非空员工姓名3pinyinvarchar220姓名拼音4gendervarchar21非空员工性别5birthspacevarchar250员工籍贯6nationvarchar220员工民族7birthtimevarchar230出生日期续表5.2字段号字段名称字段类型字段大小索引字段说明8titlevarchar225职称9deptidnumber4
27、外键部门id10zwidnumber4外键职务id11cellphonevarchar220手机12wphonevarchar220办公电话13fphonevarchar220家庭电话14emailvarchar220电子邮箱15zzvarchar22政治面貌16healthvarchar225健康状况17professionvarchar220专业18xlvarchar215学历19marryvarchar21婚姻状况20sfzvarchar218非空身份证号21addressvarchar250现居地址22bianhaovarchar215非空、唯一员工编号23iconvarchar220
28、0照片路径24Luru_datedate录入日期25modifydatedate更改日期(3) 招聘信息表:用来存储发布的招聘信息,表结构见表5.3表5.3 招聘信息表字段号字段名称 字段类型字段大小索引字段说明1idnumber4主键编号2contentvarchar2200非空招聘内容3fbdatedate发布日期 (4) 职务信息表:用来存储各职务信息,表结构见表5.4表5.4 职务信息表字段号字段名称 字段类型字段大小索引字段说明1idnumber4主键编号2namevarchar220非空职位名称3dept_idnumber4外键部门id(5) 部门信息表:用来存储部门信息,表结构见
29、表5.5表5.5 部门信息表字段号字段名称 字段类型字段大小索引字段说明1idnumber4主键编号2namevarchar215非空、唯一部门名(6) 业务信息表:用来存储企业员工业务培训信息,表结构见表5.6表5.6 业务信息表字段号字段名称 字段类型字段大小索引字段说明1idnumber4主键编号2tnamevarchar215非空培训名称3tgoalvarchar21非空培训目标4tjcnumber4培训教材5tmembervarchar225非空参加人员6kdatevarchar220开始日期7jdatevarchar220结束日期8tnumbernumber4参加人数9teache
30、rvarchar220培训讲师10jibievarchar210培训级别11yxvarchar25影响程度12fbdatedate发布日期(7) 奖惩信息表:用来存储企业员工奖惩信息,表结构见表5.7表5.7 奖惩信息表字段号字段名称 字段类型字段大小索引字段说明1idnumber4主键编号2namevarchar230非空奖惩名称3reasonvarchar250奖惩原因4membervarchar250奖惩人员5descrvarchar2200奖惩描述6fbdatedate发布日期7fbMembervarchar215发布人员(8) 薪资信息表:用来存储企业员工薪资信息,表结构见表5.8表
31、5.8 薪资信息表字段号字段名称 字段类型字段大小索引字段说明1idnumber4主键编号2ebianhaovarchar215外键员工编号3smonthvarchar28非空所属月份4jsalarynumber6非空基本工资5zsalarynumber4住房补助6esalaryvarchar24额外补助7ssalaryvarchar25税收金额8qsalarynumber3全额奖金9fsalarynumber3罚款金额10fbdatedate发布日期(9) 文件信息表:用来存储所上传文件路径,表结构见表5.9表5.9 文件信息表字段号字段名称 字段类型字段大小索引字段说明1idnumber4
32、主键编号2loadfilevarchar250非空上传文件名3updatedate上传日期5.2 Web层的设计这一层主要是作为用户访问系统的界面,提供Web网页服务器,同时与后台服务器连接,将客户端的请求信息传递到业务层,同时将后台反馈的信息传送到客户端。视图部分采用JSP,控制器部分交由Struts的action直接和实体bean交互以操作数据库。5.2.1 JSP简介JSP((全称JavaServer Pages)是由Sun Microsystems公司倡导和许多冻死参与共同建立的一种是软件开发者可以响应客户端请求,而动态 生成HTML、XML或者其他格式文档的Web网页的技术标准。JS
33、P技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。JSP使Java代码和特定的预定义动作可以嵌入到静态页面中。JSP句法增加了被称为JSP动作的XML标签,它们用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。标签库提供了一种和平台无关的扩展服务器性能的方法。 JSP被JSP编译器编译成Java Servlets。一个JSP编译成JAVA代码写的servlet然后再由JAVA编译器来编译成机器码,也可以直接编译成二进制码。5.3 EJB层的设计5.3.1 实体Bean的设计 实体B
34、ean是根据数据库之中的表来建立的其中的相关属性/成员变量对应数据库表中的各种字段。以本工程的一个实体Bean Employee为例,各种操作需要调用Employee到实体Bean,Employee实体Bean的核心代码如下:public class MemberDaoImpl implements IMemberDaopublic void addEmployee(Employee employee) throws Exception Session session=HibernateSessionFactory.currentSession();session.saveOrUpdate(e
35、mployee);public List findEmployee(String accountno, String gender,Long deptid) throws Exception Session session=HibernateSessionFactory.currentSession();StringBuffer sb=new StringBuffer();sb.append(from Employee where 1=1);if(accountno!=null&accountno.length()!=0)sb.append( and bianhao=+accountno+);
36、if(gender!=null)sb.append( and gender=+gender+);if(deptid!=0)sb.append( and deptid=+deptid);System.out.println(sb.toString();Query query=session.createQuery(sb.toString();return query.list();public Employee QueryEmployee(Long id) throws Exception Session session=HibernateSessionFactory.currentSessio
37、n();Query query=session.createQuery(from Employee where id=?);query.setLong(0,id);return (Employee) query.uniqueResult();5.3.2 数据库映射与连接本系统使用的是Hibernate将对象持久化,让传统的关系型数据库与实体映射成为符合面向对象编程思想的数据处理方式。采用Hibernate,实体与数据库映射只需要配置相应的XML文件即可,跟代码完全分离。而采用Spring,可以将 Hibernate的事务交给Spring全权处理,方便了许多。(1) 界面:在本项目中指JSP页面
38、,在具体的时序图中被实际的页面文件所替代。(2) ActionServlet:指Struts中的ActionServlet,是特指,在具体的时序图中也不会改变。(3) Action:指Struts中的Action的具体实现类,在具体的时序图中被实际的类所替代。其作为控制器的一部份存在。(4) ActionForm:指Struts中的ActionForm的具体实现类,在具体的时序图中被实际的类所替代。其在界面和Action之间传递界面数据。(5) BO:业务逻辑操作对象(Bussiness Object),执行功能的业务逻辑职责,在具体的时序图中被实际的类所替代。如果某个功能没有业务逻辑处理,此
39、类可以不在时序图中存在。(6) DAO:为数据操作类处理相应的数据库操作。(7) HibernateDataSource:数据操作实现类,用来执行实际的数据库访问。5.4 企业员工信息管理系统的实现5.4.1 用户登录 用户先访问index.jsp主页面,转到login.jsp进行登录,用户输入账号、密码提交,先进入JavaScript中进行简单的非空验证,后进入LoginAction,调用service层的login方法进行判断登录。用户登录界面如图5.1:图5.1 用户登录界面用户登录,系统会根据用户的类型,跳转到相应的jsp页面。用户登录代码如下:public class LoginAc
40、tion extends Action public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) LoginForm loginForm = (LoginForm) form;IMemberService service=(IMemberService) BeanFactory.getBean(memberService);String accountno=loginForm.getAccountno(
41、);String password=MD5.getMD5Str(loginForm.getPassword();String type=loginForm.getType();try5.4.2 管理员界面根据用户类型的不同,用户界面分为管理员界面和公司员工界面。该设计主要是为了区分用户权限,更好的实现系统的安全性和信息的保密性。管理员权限:企业员工信息注册、企业员工信息管理、企业招聘信息发布、企业培训项目添加、企业培训项目管理、企业奖惩信息添加、企业奖惩信息查询、企业员工薪资录入、企业员工薪资查询、企业共享资料上传、企业共享资料管理、企业内部信息公告。管理员登录界面 如图5.2所示:图5.2
42、管理员登录界面以下jsp是管理员界面的代码: 页面右部lstart=200loop=truespeed=350 pr_step=5 function makeObj(obj,nest)nest=(!nest) ? :document.+nest+.this.css=(document.layers) ?eval(nest+document.+obj):eval(obj+.style)this.scrollHeight=document.layers?this.css.document.height:eval(obj+.offsetHeight)this.up=goUpthis.obj = ob
43、j + Objecteval(this.obj + =this)return thisfunction goUp(speed)if(parseInt(this.css.top)-this.scrollHeight)this.css.top=parseInt(this.css.top)-pr_stepsetTimeout(this.obj+.up(+speed+),speed)else if(loop) this.css.top=lstarteval(this.obj+.up(+speed+)function slideInit()oSlide=makeObj(divNews,divCont)oSlide.css.top=lstartoSlide.up(speed)onload=slideInitbody backgrou
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100