基于JSP的企业员工管理软件的设计与实现 毕业设计论文(计算机类).doc_第1页
基于JSP的企业员工管理软件的设计与实现 毕业设计论文(计算机类).doc_第2页
基于JSP的企业员工管理软件的设计与实现 毕业设计论文(计算机类).doc_第3页
基于JSP的企业员工管理软件的设计与实现 毕业设计论文(计算机类).doc_第4页
基于JSP的企业员工管理软件的设计与实现 毕业设计论文(计算机类).doc_第5页
免费预览已结束,剩余33页可下载查看

下载本文档

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

文档简介

聊城大学本科毕业设计 本科生毕业论文(设计) 题 目: 基于jsp的企业员工 管理软件的设计与实现 专业代码: xxxxxx 作者姓名: xxxxxxxx 学 号: xxxxxxxxxxxxxxxx 单 位: 计算机学院 指导教师: xxxxx 2012年5月21日 2 目 录前 言11. 开发工具简介11.1 jsp简介11.2 dao数据访库技术11.3 mysql简介22. 系统的概要设计32.1 系统总体设计32.1.1 系统结构-32.1.2 系统功能简介-32.2 数据环境的设计42.2.1 数据库表结构-42.2.2 数据库表结构关系-72.2.3 确定数据库的连接方式-83. 系统功能模块的实现93.1 登录模块93.2 人事管理模块功能173.3 待遇管理模块功能213.4 系统维护管理模块功能283.5 其他功能的实现30结束语33摘 要企业员工管理系统是用于企业有效管理员工的管理系统。它有管理员的权限分配、部门的设置、员工信息的详细记录、职位的设置、奖惩措施的记录与管理、考勤信息的记录与管理、帐套信息的管理与记录、培训信息的管理与记录八大功能,同时具有界面定制化细腻化、多重定时、工资帐套化、操作简单化等特色。一套好的员工管理系统可以提高公司企业运营的效率,进而提高公司的收益。本系统可以为他们提供快捷的服务,减少时间上的浪费,同时,本系统还具有较高的可靠性。作者在开发本系统时采用mvc设计模式、jsp设计语言、dao数据库访问技术和mysql数据库软件作为主要的开发工具。作者运用html、css+div、javascript设计样式,然后转换成jsp完成了程序的界面设计及主要功能的具体实现;用mysql完成了数据库的具体设计;然后用dao数据库访问技术将二者连在一起。本系统设计使用的工具tomcat(作为服务器)、myeclipse、 mindmanager(思维导图) 、 staruml powerdesigner 、 navicat for mysql 、dreamweaver(设计界面样式)、 photoshop(logo设计,按钮图片设计,背景图片设计)。关键词:企业管理系统;帐套;员工管理;jspabstractthe enterprise employee management system is a kind of management system , which is used for efficiently managing staff by the enterprises and used by the business groups for the operation of the functions of the statistics of staff information, the formulation of employee wages, the evaluation of employee and so on. it has eight functions of the distribution of administrator privileges, the establishment of departments, the detailed record of staff information, the establishment of the position, the record and management of rewards and punishments measures, the record and management of attendance information, the record and management of set of books information, the record and management of training information and at the same time has the features of the customize and exquisiteness of the interface, multiple timing, wages set of books, operation simplification and so on.this system mainly aim at the staff management of small enterprises.a set of good staff management system may improve the operational efficiency of the enterprises and then improve company earnings. the system may provide convenient service for them and reduce the waste of time.at the same time the system also has a higher reliability. the author takes mvc design patterns, jsp design language, dao data base visit technology, mysql database software as the main development tools when developing the system. the author uses the design patterns of html, css+div, javascript and then converts to use jsp to complete the program interface design and the concrete realization of the main function, uses the mysql complete the concrete design of database, and then uses ado data base visit technology connect the two together. the tools used in designing this system, tomcat ( as a server), myeclipse, mindmanager (mind mapping ), staruml powerdesigner, navicat for mysql, dreamweaver (design interface style), photoshop(the design of logo, button images, background pictures).key words: enterprise management system; set of books; staff management;jsp34基于jsp的企业员工管理软件的设计与实现前 言随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题。员工信息管理是企业信息管理的重要部分,面对大量的人事信息,采用人力处理即浪费时间、又浪费人力和物力,并且数据的准确性低。因此,开发一个界面友好,易于操作的员工信息管理软件进行自动化处理变得十分重要,这正是本系统开发的目的和意义。通过网络化(或公司内部局域网)的员工信息管理,大大的提高了企业人才的利用率,使之为企业创造了更大价值。人才利用率的提高,增强了企业的核心竟争力,全面提升了企业的管理能力,从而企业适应了信息时代的网络化管理要求。1. 开发工具简介1.1 jsp简介jsp技术使用java编程语言编写类xml的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。jsp将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于web的应用程序的开发变得迅速和容易。 web服务器在遇到访问jsp网页的请求时,首先执行其中的程序段,然后将执行结果连同jsp文件中的html代码一起返回给客户。插入的java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 jsp与javaservlet一样,是在服务器端执行的,通常返回给客户端的就是一个html文本,因此客户端只要有浏览器就能浏览。1.2 dao数据访库技术dao是data access object数据访问接口。 在核心j2ee模式中是这样介绍dao模式的:为了建立一个健壮的j2ee应用,应该将所有对数据源的访问操作抽象封装在一个公共api中。用程序设计的语言来说,就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法。在这个应用程序中,当需要和数据源进行交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口在逻辑上对应这个特定的数据存储。dao操作数据库的物理机制如图1.1所示。dao数据库引擎数据库jsp的用户界面和程序代码图1.1 dao操作数据库的物理机制1.3 mysql简介mysql是一个小型关系型数据库管理系统,开发者为瑞典mysql ab公司。在2008年1月16号被sun公司收购。而2009年,sun又被oracle收购。mysql是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。mysql的sql“结构化查询语言”。sql是用于访问数据库的最常用标准化语言。mysql软件采用了gpl(gnu通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了mysql作为网站数据库。使用c和c+编写,并使用了多种编译器进行测试,保证源代码的可移植性。支持aix、freebsd、hp-ux、linux、mac os、novellnetware、openbsd、os/2 wrap、solaris、windows等多种操作系统。为多种编程语言提供了api。这些编程语言包括c、c+、python、java、perl、php、eiffel、ruby和tcl等。支持多线程,充分利用cpu资源,优化的sql查询算法,有效地提高查询速度,既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的gb 2312、big5,日文的shift_jis等都可以用作数据表名和数据列名,提供tcp/ip、odbc和jdbc等多种数据库连接途径,提供用于管理、检查、优化数据库操作的管理工具,可以处理拥有上千万条记录的大型数据库,支持多种存储引擎。2. 系统的概要设计2.1 系统总体设计2.1.1 系统结构根据前面的系统分析和实际应用的需要,我们确定了企业员工管理软件的功能结构图。图2.1 企业员工管理软件的功能结构图2.1.2 系统功能简介根据企业管理的主要工作内容,企业员工管理系统软件实现了管理员的权限分配、部门的设置、员工信息的详细记录、职位的设置、奖惩措施的记录与管理、考勤信息的记录与管理、帐套信息的管理与记录、培训信息的管理与记录八大功能,下面我们将各个功能做简单介绍:(1)管理员的权限分配:设置普通管理员与超级管理员,普通管理员可以维护人事管理、待遇管理、系统维护,超级管理员可以维护人事管理、待遇管理、系统维护、用户管理。(2)部门的设置:设置部门机构的组成,企业部门机构的查看、展示。(3)员工信息的详细记录:记录员工的详细信息,对员工信息的修改、增加、删除、保存、修改。(4)职位的设置:对员工职位的设置,包括对员工职位的增加、删除、修改、查看。(5)奖惩措施的记录与管理:对员工的奖惩记录与管理。(6)考勤信息的记录与管理:对员工的考勤记录管理。(7)帐套信息的管理与记录:帐套信息的设置,包括帐套的增、删、改、查,对帐套的应用设置。(8)培训信息的管理与记录:培训信息的记录与修改。2.2 数据环境的设计本系统中需要设计一个新的基于mysql的数据库。2.2.1 数据库表结构数据库cms中包含八张表用户表(tb_manager)、部门表(tb_dept)、员工表(tb_staff)、职位表(tb_position)、帐套表(tb_money)、奖惩表(tb_reward_punishment)、培训表(tb_train)、考勤表(tb_check)。 表2.1 tb_manager表字段表名tb_manager(用户表)注释索引别名列名数据类型空值缺省主键注释用户ididintnokey用户表的唯一标识用户名usernamevarchar(32)no登录密码passwordvarchar(32)no管理员权限managerrightvarchar(32)11:普通管理员;2超级管理员:录入时间lrsjvarchar(17)表2.2 tb_dept表字段表名tb_dept(部门表)注释索引别名列名数据类型空值缺省主键注释部门iddeptidintnokey部门表的唯一标识部门名称deptnamevarchar(32)no部门描述deptmessagevarchar(32)no录入时间lrsjvarchar(17)表2.3 tb_staff表字段表名tb_staff(员工表)注释索引别名列名数据类型空值缺省主键注释员工ids_id intnokey(员工的唯一标识)考勤信息c_idintno外键帐套信息m_idint外键部门信息deptidint外键职位信息p_idint外键员工真实姓名name varchar(32)no员工性别sexvarchar(2)00:男;1:女员工生日birthday varchar(32)员工相片photo varchar(90)员工地址address varchar(32)邮编postalcode varchar(10)毕业学校schoolvarchar(32)接受教育时间school_time varchar(32)联系电话telephone number(19,6)qq qq number(19,6)邮箱e_mail varchar(2)是否入党ispartyvarchar(2)00:为入党;1:已入党入党时间party_time varchar(32)自我评价self-assessment varchar(255)录入时间lrsjvarchar(17)表2.4 tb_position表字段表名tb_position(职位表)注释索引别名列名数据类型空值缺省主键注释职位idp_id intnokey职位的唯一标识职位名称p_name varchar(32)no职位描述p_message varchar(32)录入时间lrsjvarchar(17)表2.5 tb_money表字段表名tb_money(帐套表)注释索引别名列名数据类型空值缺省主键注释帐套idm_id intnokey帐套表的唯一标识帐套名称m_name varchar(32)no帐套内容m_content varchar(32)录入时间lrsjvarchar(17)表2.6 tb_reward_punishment表字段表名tb_reward_punishment(奖惩表)注释索引别名列名数据类型空值缺省主键注释奖惩idrp_id int()intnokey奖惩的唯一标识奖惩原因rp_reason varchar(255)no奖惩日期rp_date date()no录入时间lrsjvarchar(17)表2.7 tb_train表字段表名tb_train(培训表)注释索引别名列名数据类型空值缺省主键注释培训idt_idintnokey培训的唯一标识培训名称t_name varchar(32)no培训内容t_content varchar(255)起始时间t_starttime date()结束时间t_endtime date()录入时间lrsjvarchar(17)表2.8 tb_check表字段表名tb_check(考勤表)注释索引别名列名数据类型空值缺省主键注释培训idc_idintnokey考勤的唯一标识时间c_time date()no考勤结果及内容c_content varchar(255)录入时间lrsjvarchar(17)2.2.2 数据库表结构关系数据库cms中八张表的结构关系如图所示。 图2.2数据库表结构关系(概念模型)如上图概念模型所示八张表格的结构关系为:1.一个职位包含多个员工。2.一个次奖惩包含多个员工。3.一个部门包含多个员工。4.一次培训包含多个员工,一个员工可以参加多次培训。5.一次考勤包含多个员工,一个员工参与多次考勤。6.一个帐套适用于多个员工。图2.3数据库表结构关系(物理模型)2.2.3 确定数据库的连接方式数据库连接是非常宝贵的系统资源,连接一次数据库,底层程序需要经过很多步骤,花费比较多的时间,如果每次要操作数据库的时候才开始建立数据库连接,用完之后再关闭连接,势必造成程序的效率问题。连接池的基本原理是,先初始化一定的数据库连接对象,并且把这些连接保存在连接池中。当程序需要访问数据库的时候,从连接池中取出一个连接,数据库操作结束后,再把这个用完的连接重新放回连接池。因此考虑到连接的效率,此处我们使用连接池来连接数据库。1.需要修改tomcat 下d:学习软件安装apache-tomcat-7.0.23conf 的 context.xml文件在文件中添加如下代码: /定义地址 、数据库名称数据库。 2.在 tomcat d:学习软件安装apache-tomcat-7.0.23lib 的lib 目录下添加驱动文件mysql-connector-java-5.0.8-bin.jar 3.设置方法 getqueryrunner() public queryrunner getqueryrunner() datasource ds = null;/通过在context.xml文件,设定的数据源对象的名字,获取数据源对象try context context = new initialcontext(); ds = (datasource) context.lookup(java:/comp/env/jdbc/mysqlds); catch (exception e) system.out.println(获取数据源时出错); / *dbutils中核心类,生成对象时传递数据源对象* queryrunner qr = new queryrunner(ds);return qr;3. 系统功能模块的实现3.1 登录模块登录模块设计时采用的是普通管理员、超级管理员共用一个登录界面的方式,普通管理员与超级管理员凭借独自的账户密码进行系统登录,系统会自动判定其权限级别,根据权限级别显示其权限范围内的功能。登陆界面如图3.1所示。图3.1.1企业员工管理系统登陆界面登陆界面的jsp前台代码如下:登陆页面/* 定义全局样式 */body font-family: verdana, geneva, sans-serif; font-size: 16px; background: url(/cms/images/login_bg.jpg) repeat-x; /* 定义container样式 */#container height: 360px; width: 720px; margin-top: 200px; margin-left: 280px; background: url(/cms/images/login_main.jpg) no-repeat; text-align: left; /* 定义main样式 */#main height: 200px; width: 350px; position: fixed; margin-top: 60px; margin-left: 180px; background: #fff; .sub background: url(/cms/images/sub.jpg); height: 32px; width: 83px; .res background: url(/cms/images/res.jpg); height: 32px; width: 83px; .text width: 120px; height: 20px; #position margin-top: 20px; position: fixed; margin-left: 60px; xx企业员工管理系统1.0登录 用户名: 密 码: %string message=(string)request.getattribute(messagelogin); if(message!=null) out.print(+message+); %        登陆界面的jsp后台代码如下:package com.flyingpig.servlet;import java.io.ioexception;import java.util.list;import javax.servlet.servletexception;import javax.servlet.http.httpservlet;import javax.servlet.http.httpservletrequest;import javax.servlet.http.httpservletresponse;import javax.servlet.http.httpsession;import com.flyingpig.dao.dao;import com.flyingpig.dao.daojdbc;import com.flyingpig.entity.manager;public class managerservlet extends httpservlet /* * 管理员servlet * 2012年5月10日19:59:40 */public void doget(httpservletrequest request, httpservletresponse response)throws servletexception, ioexception dopost(request, response);public void dopost(httpservletrequest request, httpservletresponse response)throws servletexception, ioexception request.setcharacterencoding(utf-8);string method=request.getparameter(method);if(method.equals(login)login(request,response);else if(method.equals(logout)logout(request,response);else if(method.equals(add)add(request,response);else if(method.equals(getlist)getlist(request,response);else if(method.equals(delete)delete(request,response);else if(method.equals(updateright)updateright(request,response);else if(method.equals(update)update(request,response);private void update(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception string managerid=request.getparameter(managerid);string managerright=request.getparameter(managerright);dao dao =new daojdbc();boolean issuccess=dao.updatemanager(managerid, managerright);if(issuccess)request.getrequestdispatcher(/servlet/managerservlet?method=getlist).forward(request,response);elserequest.setattribute(message, 用户信息修改不成功,请重新操作);request.getrequestdispatcher(/index.files/error.jsp).forward(request,response);private void updateright(httpservletrequest request, httpservletresponse response) string managerid=request.getparameter(managerid);int id=integer.parseint(managerid);dao dao=new daojdbc();manager manager=dao.getmanager(id);request.setattribute(manager2, manager);try request.getrequestdispatcher(/index.files/updatemanager.jsp).forward(request, response); catch (exception e) e.printstacktrace(); private void delete(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception string managerid=request.getparameter(managerid);dao dao=new daojdbc();boolean issuccess=dao.deletemanager(managerid);if(issuccess)request.getrequestdispatcher(/servlet/managerservlet?method=getlist).forward(request,response);elserequest.setattribute(message, 删除用户不成功,请重新操作!);request.getrequestdispatcher(/index.files/error.jsp).forward(request,response);private void getlist(httpservletrequest request,httpservletresponse response) dao dao=new daojdbc();list managerlist=(list)dao.getmanagerlist();request.setattribute(managerlist, managerlist);try request.getrequestdispatcher(/index.files/managerlist.jsp).forward(request, response); catch (exception e) e.printstacktrace(); private void add(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception string username=request.getparameter(username);string password=request.getparameter(password);string managerright=request.getparameter(managerright);dao dao=new daojdbc();boolean issuccess=dao.addmanager(username, password, managerright);if(issuccess) request.getrequestdispatcher(/servlet/managerservlet?method=getlist).forward(request, response);elserequest.setattribute(message, 添加用户不成功,请重新操作!);request.getrequestdispatcher(/index.files/error.jsp).forward(request,response);private void logout(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception httpsession session = request.getsession();session.invalidate();request.getrequestdispatcher(/index.jsp).forward(request, response);private void login(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception string username=request.getparameter(username);string password=request.getparameter(password);dao dao=new daojdbc();manager manager=dao.managerlogin(username, password);if (manager != null) httpsession session = request.getsession();session.setattribute(manager, manager);request.getrequestdispatcher(/cms.jsp).forward(request, response); else request.setattribute(messagelogin, 用户名或密码错误!);request.getrequestdispatcher(/index.jsp).forward(request,response);主要是从数据库中取出用户的用户名和密码,然后和输入的信息进行比较。如果相同,则令其进入;否则,提示错误信息。可以根据不同身份进行相应的查询、录入和修改密码的操作。为了保证自己信息的安全性,用户可以修改自己的密码,同时超级管理员还有对普通管理员进行增、删、改、查的操作权限,如图3.2所示。图3.1.2对管理员的操作3.2 人事管理模块功能人事管理模块包括档案管理、考勤管理、奖惩管理、培训管理。档案管理实现了对档案的增、删、改、查操作。考勤管理实现了对员工考勤的记录管理。奖惩管理实现了对员工奖惩的记录、查询等操作。培训管理实现了对培训人员、时间、内容的记录与管理。人事管理界面如图3.3所示。图3.2人事管理界面人事管理模块实现的部分代码如下:添加新档案    &nbs

温馨提示

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

评论

0/150

提交评论