基于JSP和MySQL的人力资源管理系统

目录
1.绪论 1
1.1 设计背景 1
1.2 设计意义 1
2. 需求分析 3
2.1 需求描述 3
2.2 用例建模 3
2.3 模块描述 3
2.3.1 员工管理模块描述 3
2.3.2 招聘管理模块描述 4
3. 系统设计 5
3.1 数据库设计 5
3.1.1 概念模型 5
3.1.2 逻辑模型 5
3.1.3 物理模型 5
3.1.4 数据库脚本 7
3.2 系统架构设计 12
4. 产品实现 14
4.1 用户登录模块实现 14
4.1.1 界面设计 14
4.1.2 功能实现 15
4.2 薪酬管理模块实现 18
4.2.1 界面设计 18
4.2.2 功能实现 19
5. 产品测试 22
5.1 测试方法 22
5.2 用户登录模块测试 22
5.3 薪酬管理模块测试 22
6. 结论 24
6.1 毕业设计成果特点 24
6.2 自我总结 24
参考文献 25
致谢 26
1.3 设计思路
1)市场调研:
1、采取问卷调查、座谈会等方式调研。
2、分析总结数据。
2)需求分析:
1、系统需要的基本功能。
2、系统性能分析。
3、技术难点总结、首要测试攻关。
3)概要设计:
1、确定项目运行的操作系统:windows10。
2、选择编程语言:Java。
3、设计关系数据库模型。
4)详细设计:

1、划分系统模块、设计完成系统框架图。
2、分析模块功能需求、实现功能模块的各个类。
3、设计类的属性、方法。
4、系统界面的设计、美化。
5)编码:
1、根据 HR 系统的详细设计,编码实现项目功能。
2、解决 bug、完善代码。
6)测试
7)毕业设计完善
2. 需求分析
2.1 需求描述
首先,对于一个企业公司而言,使用一款人力资源管理系统是为了管理者能够与员 工建立起沟通。管理者能通过人力资源管理系统了解每个员工的具体情况和个人信息, 能随时统计出员工的工作量、出勤率。极大程度地减少了管理者的工作量,为管理者节 省了很多时间,提高了工作效率。
分析过程: 管理员功能
1、系统登录(只提供管理员登录)。
2、员工信息管理(管理员对员工信息进行(CURD)操作)。
3、部门信息管理(对部门职责、创建时间、在职人数进行编辑)。
4、招聘管理(保存应聘人员的信息进行,决定是否录用)。
5、培训信息管理(添加公司提供的培训信息、进行编辑、删除操作)。
6、薪酬管理(对员工个人工资详细操作)。
7、奖惩管理(针对公司开展的团体活动及比赛)。
8、管理员信息管理(修改密码、编辑信息、删除管理员等操作)。

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>

<!DOCTYPE HTML>
<html>
	<head>
		<base href="<%=basePath%>">

		<title>Project登陆界面</title>

		<meta http-equiv="pragma" content="no-cache">
		<meta http-equiv="cache-control" content="no-cache">
		<meta http-equiv="expires" content="0">
		<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
		<meta http-equiv="description" content="This is my page">

		<link rel="shortcut icon" type="image/png"
			HREF="img/favicons/favicon.png" />
		<link rel="icon" type="image/png" HREF="img/favicons/favicon.png" />
		<link rel="apple-touch-icon" HREF="img/favicons/apple.png" />
		<link rel="stylesheet" href="css/style.css" type="text/css" />

		<script type="text/javascript" SRC="js/swfobject.js"></script>
		<script type="text/javascript" SRC="js/jquery-1.4.2.min.js"></script>
		<script type="text/javascript" SRC="js/jquery.ui.core.min.js"></script>
		<script type="text/javascript" SRC="js/jquery.ui.widget.min.js"></script>
		<script type="text/javascript" SRC="js/jquery.ui.tabs.min.js"></script>
		<script type="text/javascript" SRC="js/jquery.tipTip.min.js"></script>
		<script type="text/javascript" SRC="js/jquery.superfish.min.js"></script>
		<script type="text/javascript" SRC="js/jquery.supersubs.min.js"></script>
		<script type="text/javascript" SRC="js/jquery.validate_pack.js"></script>
		<script type="text/javascript" SRC="js/jquery.nyroModal.pack.js"></script>
		<script type="text/javascript">

	function checkUname(){
    
    
	var username=document.getElementById("username").value;
		  var questionspan=document.getElementById("questionspan");
		   questionspan.innerHTML="<font></font>";
	if(username.length<=0){
    
    
	 $("#findpassword").css("color","red");
	}else{
    
    
	var userresult=document.getElementById("userresult");
userresult.value="";
	
	$("#emailform").toggle("slow");
	$("#findpassword").css("color","grey");
		$.post("userfindpassword",{
    
    content:username
		},function(data,textStatus){
    
    
		if(data.match(null)){
    
    
		  questionspan.innerHTML="<font color='red'>该账号不存在!</font>";
		  
		}else{
    
    
		 questionspan.innerHTML="<font></font>";
		
		var userquestion=data.split("#")[0];
		 result=data.split("#")[1];
		 realityPassword=data.split("#")[2];
		  var question=document.getElementById("question");
		  question.value=userquestion;
		  }
		});
	
	}
	
	}
	function findPassword(){
    
    
	var userresult=document.getElementById("userresult").value;
	var resultspan=document.getElementById("resultspan");
	var passwordspan=document.getElementById("passwordspan");
	resultspan.innerHTML="<font></font>";
		passwordspan.innerHTML="<font></font>";
	if(userresult.match(result)){
    
    
	passwordspan.innerHTML="<font color='green'>密码是"+realityPassword+".</font>";
	}else if(!userresult.match(result)){
    
    
	resultspan.innerHTML="<font color='red'>答案错误</font>";
	}
	 
	}
	</script>
		<style>
	.errorMessage{
    
    

list-style: none;
display: block;
}
.errorMessage li{
    
    

list-style: none;
color: red;
}
	
	</style>
	</head>

	<body>
		<!-- Header -->
		<header id="top">
		<div class="wrapper-login">
			<!-- Title/Logo - can use text instead of image -->
			<div id="title">
				<img SRC="img/logo.png" alt="Administry" />
				<!--<span>Administry</span> demo-->
			</div>
			<!-- Main navigation -->
			<nav id="menu">
			<ul class="sf-menu">

				<li class="current">
					<a href="login.jsp">用户登录</a>
				</li>
				<li>
					<a href="userfindDuty">用户注册</a>
				</li>
			</ul>
			</nav>
			<!-- End of Main navigation -->
			<!-- Aside links -->
			<aside>
			<b>English</b> &middot;
			<a href="#">Spanish</a> &middot;
			<a href="#">German</a>
			</aside>

			<!-- End of Aside links -->
		</div>
		</header>
		<!-- End of Header -->
		<!-- Page title -->
		<div id="pagetitle">
			<div class="wrapper-login"></div>
		</div>
		<!-- End of Page title -->


		<!-- Page content -->
		<div id="page">
			<!-- Wrapper -->
			<div class="wrapper-login">
				<!-- Login form -->
				<section class="full">

				<h3>
					太原科技大学校园社团管理系统
				</h3>

				<div class="box box-info">
					亲,输入账号密码就可登录咯。
				</div>

				<form id="loginform" method="post" action="userlogin">

					<p>
						<label class="required" for="username">
							账号:
						</label>
						<br />
						<input type="text" id="username" class="full" 
							name="user.user_account" />
					</p>

					<p>
						<label class="required" for="password">
							密 码:
						</label><span id="passwordspan"></span>
						<br />

						<input type="password" id="password" class="full" 
							name="user.user_password" />
					</p>
					<p>
						<s:fielderror value="error"></s:fielderror>
					</p>

					<p>
						<input type="checkbox" id="remember" class="" value="1"
							name="content" />
						<label class="choice" for="remember">
							自动登录
						</label>
					</p>

					<p>
						<input type="submit" class="btn btn-green big" value="登录" />
						&nbsp;
						<a href="javascript: //;"
							onClick="checkUname(); ">忘记密码?</a> <span id="findpassword">(找密码前请填写账号)</span>

					</p>
					<div class="clear">
						&nbsp;
					</div>

				</form>

				<form id="emailform" style="display:none" method="post" action="#">
					<div class="box">
						<p id="questioninput">
							<label for="question">
								密保问题:
							</label><SPAN id="questionspan"></SPAN>
							<br />
							<input type="text" id="question" class="full" value=""
								name="question" readonly="readonly" />

						</p>
						<p id="resultinput">
							<label for="result">
								密保答案:
							</label><SPAN id="resultspan"></SPAN>
							<br />
							<input type="text" id="userresult" class="full" value=""
								name="result" />

						</p>
						<p>
							<input type="button" class="btn" value="找回密码" onclick="findPassword();" />
						</p>
					</div>
				</form>

				</section>
				<!-- End of login form -->

			</div>

			<!-- End of Wrapper -->
		</div>
		<!-- End of Page content -->

		<!-- Page footer -->
		<footer id="bottom">
		<div class="wrapper-login">
			<p>
				Copyright &copy; 2012
				<b><a HREF="*" title="www.dotink.cn">www.dotink.cn</a>
				</b> | Icons by
				<a HREF="http://www.865171.cn">dotink</a>
			</p>

		</div>
		</footer>
		<!-- End of Page footer -->

		<!-- User interface javascript load -->
		<script type="text/javascript" SRC="js/administry.js"></script>
	</body>
</html>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/newlw/article/details/130665494