【java毕业设计】基于javaEE+原生Servlet+MySql的企业员工信息管理系统设计与实现(毕业论文+程序源码)——企业员工信息管理系统

基于javaEE+原生Servlet+MySql的企业员工信息管理系统设计与实现(毕业论文+程序源码)

大家好,今天给大家介绍基于javaEE+原生Servlet+MySql的企业员工信息管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦

文章目录:

1、项目简介

  1. 企业员工信息管理系统分为两大模块,管理员模块和普通员工模块,管理员可以操作系统的所有功能,主要包括部门管理、员工信息管理、出勤管理、工资管理以及请假审核等功能;为了信息的保密以及系统的安全性,普通员工只具有查看工资以及请假的功能。

  2. 文章以需求分析,系统概要设计,系统功能实现,系统测试等为主要内容,详细介绍了一个基于Web技术的B/S结构的企业员工信息管理系统。本系统主要使用MyEclipse软件进行程序编写,使用JSP作为前台的开发语言,使用MySql作为后台的数据库管理系统,服务器采用tomcat,开发出的一个适应现代社会发展的企业员工信息管理系统。

  3. 企业员工信息管理系统主要用于实现公司的员工相关信息管理,基本功能包括:密码修改、员工管理、部门管理、出勤管理、工资管理、请假审核、我的请假、我的工资等。本系统结构如下:
    (1)管理员端
    密码修改:修改自己的密码。
    员工管理:对员工的基本信息进行管理,包括查询、删除、录入。
    部门管理:包括添加部门以及添加子部门,删除部门等操作,便于及时更新部门信息。
    出勤管理:用于对员工的出勤月份以及天数进行管理,便于计算员工的工资等。
    工资管理:用于对员工的每个月的工资进行管理,便于对员工的工资进行管理。
    请假审核:用于管理员对员工的请假进行审核并加以回复,便于对员工的请假进行管理。
    (2)员工端
    密码修改:修改自己的密码。
    我的请假:查看请假记录和发起请假申请。
    我的工资:查看员工自己的工资记录。


2、资源详情

项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:21663个字98页
包含内容:整套源码+完整毕业论文+答辩PPT+任务书+辅导视频+运行截图


3、关键词:

员工信息,JSP,B/S结构

4、毕设简介:

提示:以下为毕业设计的简略介绍,项目源码及完整毕业论文下载地址见文末。

1 绪论
1.1课题背景
省略

当前大量企业的员工管理不能及时的对员工的信息做出修改,管理员与员工之间不能进行良好的互动,尚需要进行手工传达信息,不但效率低下还常常因为信息不能及时的传达下去而造成损失。因此大多数企业需要设计一个高效的企业员工信息管理系统以帮助企业对员工进行更好、更快的管理,加强上级与下级之间的联系,达到提高企业工作效率的目的。员工信息管理系统设计的主要目的是对企业员工的信息进行集中管理,方便对员工的信息进行及时的更新,上级的命令能够准确、高效的传达下去,方便企业建立一个高效的、准确的员工信息数据库。它是以SQL 数据库作为开发平台,使用jsp编写程序完成数据的各项功能并使用SQL数据库形成数据进行数据存储。

1.2目的和意义
省略

1.3研究的目标与内容
本次论文是企业员工信息管理系统,通过现代化的计算机技术,实现员工信息的高效、快速的管理,有利于加强企业对员工的管理,缩短了企业在员工管理方面的时间,通过该系统能够对员工信息进行整理,分类管理,有利于企业的长久发展。

该系统主要是方便企业对员工信息的管理,主要包括一下几个方面:
① 能够对部门信息进行管理,方便添加、 修改、删除部门信息,来适应企业今后的发展;
② 对员工信息进行管理,方便对员工的归属部门,以及员工的基本信息进行录入、管理等操作,实现规范化管理;
③ 对员工的出勤、工资等信息进行电脑化管理,方便企业的一体化管理。
④ 保证员工信息的安全、完整,避免造成信息的泄漏, 员工造成不必要的损失。

1.4软硬件需求
硬件需求:
CPU:Core(IM) i5以上计算机
内存: 4G以上

软件需求:
操作系统版本:Windows XP以上系统
开发工具:MyEclipse 8.5
后台服务器:Apache Tomcat 6.0
开发语言:Java
浏览器:IE8.0

1.5本文组织结构
本文共分为五章,安排如下:
第一章阐述了项目的背景与意义,简单介绍了本次研究的内容与系统软硬件方面的需求。

第二章对系统进行需求分析,通过对系统的功能需求分析以及技术可行性、经济可行性分析、操作可行性分析和法律可行性分析,确立了系统的基本功能,设立了系统的基本模型。

第三章对系统进行概要设计,首先介绍了系统的设计原则,接着对系统的功能进行模块划分,然后对系统进行概念结构设计以及物理结构设计等。

第四章对系统进行详细设计,首先对系统的登录界面进行设计,然后分别对管理员模块和员工模块进行设计,其中管理员模块和员工模块分别又分为若干的小模块,依次对其进行设计。

第五章主要对系统的功能进行测试,首先介绍了系统的测试计划以及方法,然后对系统的各个模块分别进行测试,确保系统能够正常运行。

第六章对本文所做的工作进行全面总结,对存在的问题进行说明并提出解决办法,对进一步工作进行展望。

2 需求分析
2.1系统功能需求
本系统主要针对的是企业员工的信息管理项目而设计。在项目的确立之初,通过与企业管理人员的相互交流,发现了目前所用系统中所存在的一些问题,并对其进行研究,根据企业对员工信息管理方面的需求,做出了以下几方面的需求分析。

2.1.1系统功能需求
系统用户分为两级:管理员与普通员工。系统采用基于Web技术的B/S框架进行设计,确立了企业员工信息管理系统主要功能需求有以下几个方面:

① 管理公司员工的基本信息:
员工基本信息管理主要负责对员工的基本信息进行管理与更新,基本信息包括姓名,性别,年龄,职位,部门,是否领导,帐号,密码。通过对基本信息的管理,可以清楚的了解员工的信息,及时对员工信息的更新,有助于增加企业对员工的管理。普通员工只能修改自己的密码,不用更改其他信息。

② 管理公司的部门信息:
公司部门信息的管理主要用于对员工进行分类,分布于各个部门之下,能够及时并准确的找出该员工目前的工作状态。部门管理主要包括添加部门以及添加子部门,删除部门等操作,便于及时更新部门信息。

③ 管理员工的出勤信息:
员工出勤信息的管理主要用于对员工的出勤月份以及天数进行管理,便于计算员工的工资等。出勤信息主要包括月份,天数以及员工姓名,管理员可以录入员工的出勤天数,普通员工只能查看而不能进行更改。

④ 管理员工的工资信息:
员工工资信息的管理主要用于对员工的每个月的工资进行管理,便于对员工的工资进行管理。工资信息主要包括月份,金额以及员工姓名,管理员可以录入员工的工资信息,普通员工只能查看而不能进行更改。

⑤ 员工的请假审核信息:
员工的请假审核主要用于管理员对员工的请假进行审核并加以回复,便于对员工的请假进行管理。请假主要包括姓名,开始时间,结束时间,请假事由,审核状态以及回复信息,管理员进行回复时说明是否批准以及回复信息,使员工有一个直观的了解,员工可以进行请假申请并查看自己当前请假的状态。

2.1.2用户特点
1.主要用于公司内部使用,要求操作简单使用,便于企业人员进行操作使用。

2.对于中小型公司,员工较少,相应的对系统的要求也比较少,一般的数据库便足以使用。

3.由于涉及到用户的基本信息,因此系统具有相应的安全措施,防止用户信息的泄漏。

2.2系统模型
2.2.1参与者
参与者是系统的外部用户。系统用户分为两级:管理员及普通用户。管理员主要是企业的系统管理者,管理着主要用来管理公司的部门信息,员工的基本信息,出勤,工资以及请假审核等,主要用来录入员工的一切信息,并及时进行核实,防止有错误发生。由于系统的功能比较简单,对于电脑有一定的基础便可完成系统相应的需求。普通用户为底层用户,可以查询自己的出勤,工资以及请假状态,不能对其做出更改。

2.2.2管理员用例图
管理员是系统的管理者,其中包括六大功能模块,管理员拥有系统的最高权限,可以操作部门、员工、工资等信息,对所有的信息进行更改,适应公司的变化。用例图如图2.1所示:
在这里插入图片描述

图2.1 管理员用例图

2.2.3普通员工用例图
出于安全性的考虑,普通员工用户只有请假申请、浏览工资和浏览出勤等功能,其他的删除修改功能都没有设计。普通员工用例图如图2.2所示:
在这里插入图片描述

图2.2 普通员工用例图

2.3可行性分析
省略

2.3.1技术的可行性
本系统采用的开发工具是MyEclipse和MySQL数据库,MyEclipse是在eclipse 基础上加上自己的插件开发而成的,已经具有多年的历史,技术也已经成熟,具有功能强大的集成开发环境;开发语言是Java,主要使用了J2EE的技术,在大三期间就系统的学习了J2EE的技术,难度不大,java是一种面向对象编程语言,简单易学而且灵活方便,能够熟练的掌握并应用与时间中。JSP与Servlet一样,是在服务器端执行的,Java Servlet是JSP的技术基础,JSP具备了java技术的简单易用,页面由HTML代码和嵌入其中的Java代码所组成。大二期间就学习了java课程,对Java的相关技术也有了一定的了解,能够完成系统基本的开发,也系统的了解了J2EE的知识,企业员工信息管理系统在技术上的问题并不大,大学期间学习的只是完成能够完成本次的开发任务。

在大学期间学习了软件工程导论,java基础,面向对象编程,软件开发等课程,每门课程都会有相应的实验来完成,初步学习了简单的的系统分析、设计、测试和维护,基本掌握了软件开发的流程。因此,完成该系统在技术上完全具有可行性。

2.3.2经济的可行性
省略

2.3.3操作可行性
省略

2.3.4法律的可行性
省略

3 系统概要设计
概要设计主要完成系统软件结构及数据结构的设计。本章主要探讨了系统设计的相关内容,包括功能模块划分以及数据库设计。

3.1系统设计原则
设计思想遵循以下几点:
① 采用B/S模式进行开发,是WEB兴起后的一种网络结构模式,其优点是后台与前台处理层次分明,大多数用户都已经习惯了传统的网页模式,不需要进行更大的改动就能够适应该系统。对员工的出勤、工资等信息进行电脑化管理,方便企业的一体化管理。

② 采用面向对象的开发与设计理念。可以进行一抽象数据类型为特点的基于对象的程序设计,他的前提是对系统的整体有一个全面的了解,通过他可以保证系统的优良,来保证开发出的系统具有良好的稳定性与实用性。

③ 采用模块化设计。是将系统分为若干个功能模块,逐个实现系统的功能,有利于软件的开发、测试以及维护等功能,加强了系统的稳定性以及后期的维护过程。

④ 简单方便的系统界面。设计简单友好的系统界面,方便用户较快的适应系统的操作。

⑤ 速度优先原则。在开发过程中由于实际的需要,所开发出来的系统要尽量做到简洁,一方面利于测试人员的工作,最主要的是要是整个系统所占的资源达到最少,运行速度尽可能的达到最快,来实现企业快速发展的需求。

⑥ 设计既要突出重点,又要细致周到。要符合企业的基本需求,在有缺陷的地方同企业进行商量并改进,使系统能够完全实现用户的需求,并尽可能的实现在后期添加功能的需求。

3.2系统架构设计
本系统针对的是企业员工信息管理系统设计的,根据需求分析,系统分为两大功能模块:管理员模块和普通员工模块。如图3.1所示:
在这里插入图片描述

图3.1功能结构图
① 管理员模块又分为六个子模块,,以下是六个模块的详细说明:
修改密码:管理员用来修改自己的密码,防止因为密码的泄漏而造成用户信息的泄漏,提高系统的安全。

部门管理:用来管理企业的部门信息,便于对员工进行分类管理。

员工管理:用来管理员工的基本信息,及时对员工的基本信息进行管理,便于企业掌握目前的员工状态,对员工做出合理的安排。

出勤管理:用来管理员工的出勤信息,及时对员工的出勤天数进行录入与修改,便于对员工应得的工资做出合理的安排。

工资管理:用来管理员工的工资信息,根据员工的出勤天数以及工作进行工资录入,及时更新员工的工资,有利于员工的安定,促进企业的发展。

请假管理:用来对员工的请假进行审核,关注员工的请假信息,并及时做出回复,加强对员工当前状态的了解。

② 员工用户分为三个子模块,以下是三个模块的详细说明:
修改密码:及时修改自己的密码,防止自己的信息造成泄漏。
请假申请:在系统中提出自己的请假申请,填明请假时间级原因,便于管理员做出合理的安排。

查询工资:能够及时查询自己的工资信息。

3.3数据库设计
企业员工信息管理系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。数据库已经成为现在信息系统等计算机系统的基础与核心部分。数据库设计的好坏直接影响到整个系统的质量和效率。

数据库的设计一般经过需求分析阶段、概念设计阶段、逻辑设计阶段、数据库物理设计阶段、数据库实施阶段以及数据库运行与维护6个步骤。

3.3.1数据库的概念结构设计
数据库的概念结构是由分析到生成概念产品的一系列过程,概念设计是完整而全面的过程,设计采用实体—联系(E-R)模型设计方法。E-R模型法的组成元素有:实体、属性、联系,E-R模型用E-R图表示,是提示用户工作环境中所涉及的事物,属性则是对实体特性的描述。

概念设计的目标是产生用户所需求的概念信息,直观的展示出不同用户所具有的不同的功能,即概念模式。

根据以上对信息管理系统的需求分析,以及对系统概念模型的了解,首先建立E-R模型图。
在这里插入图片描述

3.3.2数据库的逻辑结构设计
逻辑结构设计是将概念设计阶段所得到的概念模型转换为逻辑结构模型,E-R模型向关系数据库模型转换应遵循下列原则:

1)每一个实体要转换成一个关系
2)所有的主键必须定义非空(NOT NULL)
3)对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键。

根据E-R模型的特点,员工信息管理系统相应的建立了各个信息的逻辑模型。

以下是不同表的基本信息
(1)部门表主要是记录了部门的基本信息。表结构如表3.1所示。
表3.1部门表(t_organization)
在这里插入图片描述

(2)员工信息表主要是记录了员工的基本信息,表结构如图3.2所示。
表3.2员工信息表(t_yuangong)
在这里插入图片描述

(3)出勤信息表主要是记录了员工出勤的基本信息,表结构如图3.3所示。
表3.3出勤信息表(t_chuqin)
在这里插入图片描述

(4)请假信息表主要记录了员工的请假信息,表如图3.4所示。
表3.4请假信息表(t_qingjia)
在这里插入图片描述

(5)公告信息表主要是管理发布的公告订单信息,表结构如图3.5所示。
表3.5工资信息表(t_gongzi)
在这里插入图片描述

(6)管理员信息表主要记录的管理员的账号信息,表结构如图3.6所示。
表3.6管理员信息表(t_admin)
在这里插入图片描述

3.3.3数据库的连接原理
采用JDBC连接数据库的方式,只需在工程中导入对应数据库的jar包,就可以方便的对数据库进行连接,在程序中,用Class.forName()方法来加载驱动程序,在用DriverManager的getConnection()方法就可以创建一个数据库连接。程序采用的是DAO模式来操作数据库,DAO(Data Access Object,数据访问对象),是Java编程中的一种经典模式,已被广泛应用,也是J2EE架构中持久层框架的基础知识,基于分层次式的软件架构来实现对数据库的访问操作。DAO模式的主要思想就是从抽象数据源获取与操纵数据的方法。抽象数据的含义就是编写应用程序的程序员不必关心数据库的物理位置,已经是何种数据库,只需使用封装数据库中表示记录的数据对象即可。其思想如图3.7所示:
在这里插入图片描述

图3.7 DAO模式类图

图中BussinessObject是业务对象,是使用DAO模式的客户端;DataTransferObject数据传输对象,在应用程序不同层次之间传输对象,在一个分布式应用程序中,通常可以提高整理的性能;DataObjectAcces数据输入/输出对象封装了对数据源的一些基本操作;DataSource指的是数据源。可以从图中看出,DAO模式分离了业务逻辑和数据罗即将,是的编写的软件具有良好的层次式体系结构。本系统为了方便数据库的操作,主要使用DBContent的对象来接一个数据库(建立一个类DBContent),代码如下:

public DBContent(){
	String CLASSFORNAME="com.mysql.jdbc.Driver";//连接数据库的驱动
	String url="jdbc:mysql://localhost:3306/rlzy";
	String user="root";//连接数据库的用户名
	String password="123456";//连接数据库的密码
	try{
	Class.forName(CLASSFORNAME);
	con= DriverManager.getConnection(url,user,password);//加载数据库的驱动
	stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
		}
	catch(Exception ex){
			ex.printStackTrace();
	}
	}

在程序需要连接数据库的地方,只需要生成一个DBConnet的对象,就可以对数据库进行连接并操作。

4 系统详细设计
在管理信息系统的生命周期中,仅过了需求分析、系统设计等阶段之后,便开始了系统实施阶段。在系统分析和设计阶段,系统开发工作主要是集中在逻辑、功能和技术设计上,系统实施阶段要继承此前面各个阶段的工作成果,将技术设计转化为物理实现,因此系统实施的成果是系统分析和设计阶段的结晶。

4.1系统登陆页面实现
1.描述:为了保证系统的安全性,要先使用本系统必须先登陆到系统中,并且不同角色的用户进入不同的界面,功能也随之不同。
2.程序运行效果图如图4.1所示:
在这里插入图片描述

图4.1 系统登陆页面设计

3.在登陆页面输入用户名和密码以,选择登陆身份后,点击提交按钮,跳转到登陆的service中,在该service中会对用户名,密码,验证码进行判断,并根据相应的用户角色进入对应的页面,loginservice关键代码:

public String login(String userName,String userPw,int userType)
	{
		System.out.println("userType"+userType);
		try
		{
			Thread.sleep(700);
		} catch (InterruptedException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		String result="no";
		
		if(userType==0)//系统管理员登陆
		{
			String sql="select * from t_admin where userName=? and userPw=?";
			Object[] params={userName,userPw};
			DB mydb=new DB();
			mydb.doPstm(sql, params);
			try 
			{
				ResultSet rs=mydb.getRs();
				boolean mark=(rs==null||!rs.next()?false:true);
				if(mark==false)
				{
					 result="no";
				}
				else
				{
					 result="yes";
					 TAdmin admin=new TAdmin();
					 admin.setUserId(rs.getInt("userId"));
					 admin.setUserName(rs.getString("userName"));
					 admin.setUserPw(rs.getString("userPw"));
					 WebContext ctx = WebContextFactory.get(); 
					 HttpSession session=ctx.getSession(); 
					 session.setAttribute("userType", 0);
		             session.setAttribute("admin", admin);
				}
				rs.close();
			} 
			catch (SQLException e)
			{
				System.out.println("登录失败!");
				e.printStackTrace();
			}
			finally
			{
				mydb.closed();
			}
			
		}
		
		
		if(userType==1)
		{
			String sql="select * from t_yuangong where del='no' and loginname=? and loginpw=?";
			Object[] params={userName,userPw};
			DB mydb=new DB();
			mydb.doPstm(sql, params);
			try 
			{
				ResultSet rs=mydb.getRs();
				boolean mark=(rs==null||!rs.next()?false:true);
				if(mark==false)
				{
					 result="no";
				}
				else
				{
					    result="yes";
					 
					    Yuangong yuangong=new Yuangong();
						
						yuangong.setId(rs.getInt("id"));
						yuangong.setBianhao(rs.getString("bianhao"));
						yuangong.setName(rs.getString("name"));
						yuangong.setSex(rs.getString("sex"));
						yuangong.setShifoubumenlingdao(rs.getString("shifoubumenlingdao"));
						yuangong.setLoginname(rs.getString("loginname"));
						yuangong.setLoginpw(rs.getString("loginpw"));
						yuangong.setOrg_id(rs.getInt("org_id"));
						yuangong.setDel(rs.getString("del"));
					 
					 WebContext ctx = WebContextFactory.get(); 
					 HttpSession session=ctx.getSession(); 
					 session.setAttribute("userType", 1);
		             session.setAttribute("yuangong", yuangong);
					 
					
				}
				rs.close();
			} 
			catch (SQLException e)
			{
				System.out.println("登录失败!");
				e.printStackTrace();
			}
			finally
			{
				mydb.closed();
			} 

4.2管理员模块
1.描述:管理员主页面:左方页面展示了管理员可操作的六大功能,进入相关的管理页面可以链接到子菜单,并且高亮显示,每个管理模块下面都有相应的子菜单。

2.程序运行效果图如图4.2所示:
在这里插入图片描述

图4.2管理员主页面

在每个jsp页面将会对相关用户进行拦截操作,这样可以提高安全性,防止用户不经过登陆页面而进入任何子菜单页面:
if(session.getAttribute(“user”)==null)
{
out.print(“”);
}

4.2.1部门信息管理
4.2.1.1部门信息录入
1 描述:管理员输入部门相关正确信息后点击录入按钮,如果是没有输入完整的部门经理信息,都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法οnsubmit="return checkForm()"来检查,checkForm()函数中是各种的校验输入数据的方式。

2 程序效果图如下图4.3所示:
在这里插入图片描述

图4.3 部门信息录入

3.流程图如下图4.4所示:
在这里插入图片描述

图4.4 部门经理信息录入流程图

4.2.1.2部门信息管理
1.描述:管理员点击左侧的菜单“部门管理”,页面跳转到部门管理界面,调用后台的servlet类查询所有部门经理。

2.程序效果图如下图4.5所示
在这里插入图片描述

图4.5 部门信息管理

部门管理关键代码:

public void orgMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException
{
		List orgList=new ArrayList();
		String sql="select * from t_organization where del='no'";
		Object[] params={};
		DB mydb=new DB();
		try
		{
			mydb.doPstm(sql, params);
			ResultSet rs=mydb.getRs();
			while(rs.next())
			{
				TOrganization organization=new TOrganization();
				organization.setId(rs.getInt("id"));
				organization.setName(rs.getString("name"));
				organization.setDescription(rs.getString("description"));
				organization.setP_id(rs.getInt("p_id"));
				organization.setDel(rs.getString("del"));
				organization.setParenOrganization(liuService.getOrg(rs.getInt("p_id")));
				orgList.add(organization);
		    }
			rs.close();
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		mydb.closed();
		
		req.setAttribute("orgList", orgList);
		req.getRequestDispatcher("admin/org/orgMana.jsp").forward(req, res);
	}
	
	
	public void orgAdd(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException
	{
		
		String name=req.getParameter("name");
		String description=req.getParameter("description");
		int p_id=Integer.parseInt(req.getParameter("p_id"));
		String del="no";
		
		String sql="insert into t_organization values(?,?,?,?)";
		Object[] params={name,description,p_id,del};
		DB mydb=new DB();
		mydb.doPstm(sql, params);
		mydb.closed();
		
		req.setAttribute("msg", "操作成功");
		req.getRequestDispatcher("common/msg.jsp").forward(req, res);
	}
	
	public void orgDel(HttpServletRequest req,HttpServletResponse res)
	{
		int orgId=Integer.parseInt(req.getParameter("orgId"));
		String sql="update t_organization set del='yes' where id="+orgId;
		Object[] params={};
		DB mydb=new DB();
		mydb.doPstm(sql, params);
		mydb.closed();
		
		req.setAttribute("message", "操作成功");
		req.setAttribute("path", "org?type=orgMana");
		
        String targetURL = "/common/success.jsp";
		dispatch(targetURL, req, res);
	}

4.2.1.3部门信息删除
1.描述:先是点击部门管理,页面跳转到部门管理界面,浏览所有的部门信息,点击要删除的部门,弹出的确定对话框,即可删除该部门信息。

2.程序效果图如下图4.6所示
在这里插入图片描述

图4.6 部门信息删除

4.2.2员工信息管理
4.2.2.1员工信息信息录入
1.描述:在此页面主要是输入员工的基本信息,包括姓名、性别、年龄、部门编号、登陆账号、密码等,年龄检验输入是否为数字,是否为空也是通过form表单中的οnsubmit="return checkForm()来检查。

2.程序效果图如图4.7所示:
在这里插入图片描述

图4.7员工信息信息录入

4.2.2.2员工信息管理
1.描述:管理员点击左侧的菜单“员工管理”,页面跳转到员工管理界面,调用后台的yuangongServlet类查询出所有的员工信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出员工信息。

2.程序效果图如下图4.8所示
在这里插入图片描述

图4.8 员工信息管理页面

员工管理关键代码:

public void yuangongAdd(HttpServletRequest req,HttpServletResponse res)
{
		int org_id=Integer.parseInt(req.getParameter("org_id"));
		String bianhao=req.getParameter("bianhao");
		String name=req.getParameter("name");
		String sex=req.getParameter("sex");
		String shifoubumenlingdao=req.getParameter("shifoubumenlingdao");
		String loginname=req.getParameter("loginname");
		String loginpw=req.getParameter("loginpw");
		String del="no";
		
		String sql="insert into t_yuangong values(?,?,?,?,?,?,?,?)";
		Object[] params={org_id,bianhao,name,sex,shifoubumenlingdao,loginname,loginpw,del};
		DB mydb=new DB();
		mydb.doPstm(sql, params);
		mydb.closed();
		
		req.setAttribute("message", "操作成功");
		req.setAttribute("path", "yuangong?type=yuangongMana");
		
        String targetURL = "/common/success.jsp";
		dispatch(targetURL, req, res);
	}
	
	
	
	public void yuangongDel(HttpServletRequest req,HttpServletResponse res)
	{
		int id=Integer.parseInt(req.getParameter("id"));
		
		String sql="update t_yuangong set del=? where id=?";
		Object[] params={"yes",id};
		DB mydb=new DB();
		mydb.doPstm(sql, params);
		mydb.closed();
		
		req.setAttribute("message", "操作成功");
		req.setAttribute("path", "yuangong?type=yuangongMana");
		
        String targetURL = "/common/success.jsp";
		dispatch(targetURL, req, res);
	}
	
	
	
	public void yuangongMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException
	{
		List yuangongList=new ArrayList();
		String sql="select * from t_yuangong where del='no' order by org_id desc";
		Object[] params={};
		DB mydb=new DB();
		try
		{
			mydb.doPstm(sql, params);
			ResultSet rs=mydb.getRs();
			while(rs.next())
			{
				Yuangong yuangong=new Yuangong();
				
				yuangong.setId(rs.getInt("id"));
				yuangong.setBianhao(rs.getString("bianhao"));
				yuangong.setName(rs.getString("name"));
				yuangong.setSex(rs.getString("sex"));
				yuangong.setShifoubumenlingdao(rs.getString("shifoubumenlingdao"));
				yuangong.setLoginname(rs.getString("loginname"));
				yuangong.setLoginpw(rs.getString("loginpw"));
				yuangong.setOrg_id(rs.getInt("org_id"));
				yuangong.setDel(rs.getString("del"));
				yuangong.setOrganization(liuService.getOrg(rs.getInt("org_id")));
				yuangongList.add(yuangong);
			}
			rs.close();
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		mydb.closed();
		
		req.setAttribute("yuangongList", yuangongList);
		req.getRequestDispatcher("admin/yuangong/yuangongMana.jsp").forward(req, res);
	}

4.2.3出勤管理
4.2.3.1出勤录入
1.描述:输入月份和出勤天数点击提交按钮即可。

2.程序效果图如图4.10所示:
在这里插入图片描述

图4.10 出勤录入

4.2.4修改密码
1.描述:输入用户名和用户的原有密码,输入新密码以后点击修改按钮即可修改密码成功。

2.程序效果图如图4.11所示:
在这里插入图片描述

图4.11 修改密码

4.2.5工资管理
1:描述:可以选择删除员工工资信息,也可一选择工资录入,进入员工工资录入界面。

2:删除员工工资如下图4.12所示:
在这里插入图片描述

图4.12删除员工工资

增添员工工资如下图4.12所示:
在这里插入图片描述

图4.12增添员工工资

4.2.6请假审核管理
1.描述:用于对员工请假进行回复管理。

  1. 查看员工请假信息如下图4.13所示
    在这里插入图片描述

图4.13查看员工请假信息
回复员工请假信息如下图4.14所示
在这里插入图片描述

图4.14

4.2.7退出系统
1.描述:点此按钮回到系统的主页面。
2.关键代码:主要是通过javascript语句来实现, item_word[8][4]=“退出系统”;
item_link[8][4]=“javascript:window.open(‘…/index.jsp’,‘_self’)”;

4.3普通员工模块
4.3.1请假申请
1.描述:普通用户输入用户名和密码进入系统后,可以在线申请请假,输入请假时间,点击提交按钮即可,还可以查询请假是否批准。
2.程序效果图如图4.15所示:
在这里插入图片描述

图4.15 请假申请页面设计

在这里插入图片描述

图4.16查看请假信息

4.3.2我的工资浏览
1.描述:点击我的工资浏览菜单,既可查询自己的工资信息。

2.程序效果图如图4.17所示:
在这里插入图片描述

图4.17 我的工资浏览界面

4.3.3修改密码
1.描述:点击修改密码,输入原密码和新密码,点击提交便可修改成功。
2.程序效果如下图4.18所示。
在这里插入图片描述

图4.18修改密码

5 系统测试
5.1系统测试目的与意义
省略

5.2系统测试方法
5.2.1系统测试计划
省略

5.2.2系统测试方法
目前的测试方法主要都是通过人来想出所有可能存在漏洞的地方,并加以测试,测试的质量与测试人员有着很大的关系,需要有更多的人参与到测试中才能是系统的所有功能都得到测试。

本次测试主要采取黑盒测试方法对软件进行测试,在测试人员知道系统完整的功能的前提下进行测试。黑盒测试就是在不知道系统的内部结构的前提下进行测试。

5.2系统功能测试
在测试之初,由于将数据库中的数据是随便输入,没有实用性,为了使系统更加完善,在系统测试的过程中,本系统将一开始编程随便输入的数据全部清理后,输入了一些有效的测试数据,这样可以更真实的反映系统的功能实现情况。

这样不断发现问题,经过反复的测试、调试,把问题一个个的解决,最终系统可以正常运行。

5.2.1主页面的登录模块测试
测试流程: 1.打开系统首页,输入错误的登录信息
2.登录
3.输入正确的登录信息
4.登录
5.测试结果
在这里插入图片描述

5.2.2修改密码的模块测试
测试流程: 1.打开密码修改页面,输入错误的原密码和新密码;
2.点击修改;
3.输入正确原密码;
4.修改;
在这里插入图片描述

5.2.3部门管理的模块测试
测试流程: 1.打开部门管理页面,输入部门名称;
2.点击修改;
在这里插入图片描述

5.2.4员工管理的模块测试
测试流程: 1.打开员工管理页面,不输入部门,工号等信息;
2.点击提交;
3.输入信息;
4.提交;
在这里插入图片描述

5.2.5出勤管理的模块测试
测试流程: 1.打开出勤管理页面,不选择员工,月份出勤天数信息;
2.点击提交;
3.输入信息;
4.提交;
在这里插入图片描述

5.2.6工资管理的模块测试
测试流程: 1.打开工资管理页面,不选择员工,月份,金额信息;
2.点击提交;
3.输入信息;
4.提交;
在这里插入图片描述

5.2.7请假审核的模块测试
测试流程: 1.打开请假审核页面,选择审核,删除等操作;
2.点击提交;
3.输入信息;
4.提交;
在这里插入图片描述

5.2.8我的请假的模块测试
测试流程: 1.打开我的请假页面,选择添加,删除等操作;
2.点击提交;
3.输入信息;
4.提交;
在这里插入图片描述

5.3其他错误
在程序设计实现的过程中不可避免的会产生各种难以预料的错误,如书写错误、传值员工信息不一致、参数传递问题等等。这些都需要通过细心的检测与不断的调试才能够排除。比如在servlet路径配置时因粗心错误导致运行导致所报错误,如图5.1:
在这里插入图片描述

图 5.1 由于servlet路径配置错误,运行时的提示

6 总结与展望
6.1论文的主要工作
本文简要介绍了企业员工信息管理系统的开发设计过程。介绍了实现本系统所需要的开发环境以及工具,详细介绍了本系统的功能需求,以及系统的可行性分析,确立了系统的模型,再由系统的概要设计到详细设计,以及系统最后的测试环节,最终完成了本次系统的开发过程。企业员工信息管理系统的系统模块,基本实现了员工信息管理系统的基本功能,管理员能够及时更新部门、员工考勤以及工资信息,能够及时对员工的请假做出回应,确保公司系统的准确实行,员工能够通过该系统查看自己的工资信息,提出请假申请等操作。企业员工信息管理系统的实现,简化了企业管理员工的工作负担,提高了公司的工作效率, 促进了企业的发展。

本系统研究已经取得了一部分成果,但让存在一些问题有待改正,还需要进一步提高系统的性能,完善系统的各项功能,进一步加强公司领导与员工的沟通等,需要不断进行完善改进。

6.2存在问题
与一些大公司所应用的系统相比,该系统存在的问题比较明显,员工信息的修改需要重新进行删除、录入操作,浪费了太多不必要的时间,该系统的还没有实现管理员、领导与员工的三级操作,在公司的管理上并不是很方便,需要进一步进行改进。该系统的安全工作并不完善,只有简单的加密措施,有待进一步加强。

改进方案:在时间充足的情况下,实现以上功能并不难,但还需要进一步学习,才能使系统的功能更加完善。

结 论
省略

参考文献
1施维敏. 数据库设计的数据规范化问题[J]. 现代情报,2003(08).
2罗建平. 企业信息化平台的构建与精细化管理[J] . 石油化工管理干部学院学报, 2010(04).
3仲秋雁,陆牡丹.企业信息系统评价的复杂性研究[J] .科技管理研究. 2004(01).
4王锐芳. 基于身份的密钥管理研究[D]. 兰州:兰州理工大学,2007.
5郭军. 基于角色的访问控制分级授权管理的研究[D]. 西安:西安电子科技大学,2012.
6许清. 基于BS架构的动态口令统一认证平台研究[D]. 浙江:浙江工业大学,2012.
7罗建平.业信息化平台的构建与精细化管理[J].石油化工管理干部学院学报.2010(04).
8王志毅,陈宁. 基于信息化建设的企业数据库设计[J]. 商业时代,2010(05).
9 N.Darren.SP.NET 2.0 Web Parts in Action:Building Dynamic Web Portals.Journal of Women s Health,2006.
10 M.Rezayat.The Enterprise-Web portal for life-cycle support[J].Computer-Aided Design ,2000 (2).
11 A.Touran,R. Lopez.Modeling cost escalation in large infrastructure projects. Journal of Construction Research . 2006.

致 谢
省略

外文原文
省略

中文翻译
省略


5、源码下载:

本项目源码及论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。

序号毕业设计全套资源(点击下载)
本项目源码基于javaEE+原生Servlet+MySql的企业员工信息管理系统设计与实现(源码+文档)_JAVAEE_员工信息管理系统
  • 5
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 基于JavaJavaEEJSP技术的售后服务管理系统是一种集成了前后端交互、数据库存储和业务逻辑处理的系统,它是企业售后服务管理的重要工具。 在学术界和业界,已经出现了大量的文献研究和实践应用,下面将按照常用的研究方法进行综述。 首先,研究课题的背景意义应该得到充分的阐述。随着国内企业的不断发展,售后服务管理越来越受重视。通过引用一些相关的行业报告和数据,可以说明这种管理系统的重要性和实际需求。 其次,研究方法可分为理论研究和实践应用两方面。理论研究主要包括需求分析、架构设计、技术选型等内容,其中技术选型方面可借鉴一些国际标准或者开源框架的选择。实践应用则需要具体实现过程和效果验证。研究方法部分应该对系统设计的整体框架和各个子模块进行细致的分析和说明,详细阐述技术实现和技术优势。 最后,研究结论应该有一定的参考价值和启示意义。结论可以涉及系统稳定性、系统处理能力、用户体验等方面。并且,结论也应该对未来系统优化、扩展和升级提出建议。 总的来说,基于JavaJavaEEJSP技术的售后服务管理系统的设计实现已经有了大量的相关研究。在设计实现过程中,需要全面利用相关技术和工具,开展深入的研究和实践,有效解决实际问题,为企业售后服务管理带来新的思路和创新。 ### 回答2: 随着社会的发展和科技的进步,售后服务对于企业的经营越来越重要,如何高效地管理售后服务成为企业面临的一个重要难题。本文主要回答基于javajavaeejsp的售后服务管理系统设计实现的文献综述。 首先,java技术具有跨平台性和灵活性,是开发Web应用的主流技术之一。在基于java的售后服务管理系统中,需要使用java技术实现系统的后台逻辑部分。常用的java框架有Spring、Struts、Hibernate等。Spring提供了强大的IoC容器,Struts则提供了MVC架构,Hibernate则提供了ORM功能,这些框架可以让开发者快速搭建出稳定可靠的Web应用。 其次,javaee技术是在java技术的基础上发展而来的,它涵盖了Web应用的全部功能。在基于javaee的售后服务管理系统中,需要使用ServletJSP等技术实现Web页面的呈现以及与后台交互。ServletJava语言实现的一个Web服务器扩展,可以通过Servlet快速地响应请求。JSP则是在Servlet的基础上发展而来,它可以动态地生成HTML文档,便于页面的构建和维护。 最后,售后服务管理系统的设计需要满足业务需求,开发人员需充分了解售后服务的业务流程和需求。文献综述中可以采用案例分析法、调查方法等,了解现有售后服务管理系统的设计实现,从而对售后服务管理系统进行深入的分析和设计实现高效便捷的售后服务管理。 综上所述,基于javajavaeejsp的售后服务管理系统设计实现需要充分应用相关技术,结合实际的业务需求进行设计和开发,以提高售后服务的质量和效率。 ### 回答3: 售后服务管理系统是一个与公司售后服务管理相关的信息管理系统。它的主要功能是为公司提供售后服务流程的优化和管理,降低公司的售后服务成本,提高售后服务的质量和效率。基于JavaJavaEEJSP技术的售后服务管理系统设计实现文献综述分为以下几个方面: 1. 系统架构设计 售后服务管理系统的架构设计是非常重要的,它需要充分考虑系统的可扩展性、可靠性和安全性。同时,也需要考虑到系统的性能、易用性和可维护性。目前,大多数售后服务管理系统采用B/S架构,即浏览器/服务器架构。通过将系统分为客户端和服务端两个部分,可以实现系统的分布式部署和统一管理,提高系统的稳定性和安全性。 2. 数据库设计 数据库是售后服务管理系统的核心组成部分之一,它用于存储和管理公司的售后服务数据。在数据库设计时,需要根据公司的业务特点,合理地设计数据表和数据结构,确保数据的完整性和一致性。同时,还需要考虑到数据库的性能和可扩展性,以支持系统日益增长的数据量和用户量。 3. 功能模块设计 售后服务管理系统的功能模块设计是系统设计中最重要的部分之一。它需要充分考虑公司的售后服务业务流程,为公司提供快速、准确、高效的售后服务管理工具。主要功能包括售后服务报修、服务工单管理、服务质量追踪、客户服务满意度评估等。在实现过程中,可以采用基于面向对象的分层设计,将系统划分为业务逻辑层、数据访问层、表现层等多个模块,以实现系统的灵活性和可维护性。 4. 技术方案选择 JavaJavaEEJSP是当前业界流行的Web开发技术,它们具有良好的跨平台性和可扩展性,可以帮助开发人员快速地搭建一个稳定、高效的售后服务管理系统。除了这些基础的技术之外,还可以采用Spring、Struts、Hibernate、Mybatis等框架来提高系统的开发效率和系统的稳定性。 综上所述,基于JavaJavaEEJSP技术的售后服务管理系统设计实现是一项非常重要的任务。在实现过程中,需要充分考虑到系统架构、数据库设计、功能模块设计和技术方案选择等多个方面,以实现一个高效、安全、稳定并易于维护的售后服务管理系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业设计方案专家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值