员工管理系统 :练习

业务模块: 1 登录模块
2 员工查询
3 删除员工
4 添加新员工
5 修改员工信息
一、登陆业务
/*
1.要获取一个登陆窗口
这个登陆窗口是用户访问一个ULT地址栏发送一个请求到新建的index.jsp(里面搭建一个登陆界面:from表单)获得的;
2.loginSrevlet操作
浏览器发送一个请求到LoginSrevlet,使LoginSrevlet获取请求参数的中的 账号密码;
然后调用dao层里面的方法对用户输入的账号密码进行验证(查询对比);
如果正确就对重定向到main,jsp(里面搭建的是员工管理系统的主页面 需要修改地址栏),如果不正确共享数据(\"对不起账户或者密码不正确\")到请求发送到index.jsp(登陆页面)
*/

第一步:获取登陆窗口
1 URT地址发送一个请求到jsp(用户地址栏输入一个URL获取一个登陆窗口)
2 创建一个index.jsp 里面搭建一个登陆的界面(from表单)
第二步:用户的账号密码登陆
1 浏览器发送一个请求到LoginSrevlet,使LoginSrevlet获取请求参数中的 账号和密码
( req.getParameter(\"参数的key\")获得请求参数 )
String username = req.getParameter(\"username\");
String password = req.getParameter(\"password\");
2 调用dao的登陆方法,验账号证密码是否正确
IEmpDAO dao = new EmpDAOImpl();
boolean login = dao.Login(username, password);
if (login){

3 如果正确,URL重定向到mian.jsp (需要修改地址栏)
resp.sendRedirect(\"/day02/main.jsp\");//重定向要写全路径, 为了告诉他二次请求访问的是哪个工程下的谁谁
}else {

4 如果不正确,共享数据(对不起账号或密码错误) 请求转发到index.jsp(登陆界面)
req.setAttribute(\"error\",\"对不起密码或者账号错误\");
req.getRequestDispatcher(\"/index.jsp\").forward(req,resp);
}


二、员工查新询业务
/*
点击管理系统的超链接进行查询操作。
1.EmpServlet操作
浏览器(mian.jsp搭建的员工管理主页面)发送一个查询所有信息的请求到EmployeeServlet;
调用dao层里面的方法获取所有员工的信息;
把所获得的数据共享,请求共享数据转发到emp.jsp(搭建的 所有员工信息的界面);
*/
当点击用户管理超链接的时候,右边iframe显示所有用户信息
1 浏览器发送请求到EmployeeServlet,从dao里面获取所有员工信息
LoginDAOImpl dao = new LoginDAOImpl();
List<Map<String, Object>> list = dao.getAllEmp();
2 共享数据
req.setAttribute(\"list\",list);
3 请求转发共享数据到emp.jsp
req.getRequestDispatcher(\"emp.jsp\").forward(req,resp);

三、删除员工
/*
1.DeleteEmpServlet操作
浏览器(在emp.jsp里面搭建的界面进行操作的)送一个请求到DeleteEmpServlet;
获取请求参数 id;
调用dao,根据id来进行删除操作;
删除后重定向到/emp(执行查询业务
*/
当用户点击某个删除按钮,点击的哪个,哪一个就被删除并且更新
第一步:浏览器发送请求到DeletEmpServlet
1 获取请求参数 id
String id = req.getParameter(\"id\");
2 调用dao根据id删除员工 要用int的包装类进行包装 转成String类型
IDeleteDAO dao = new DeleteDAOImpl();
boolean delete = dao.delete(Integer.parseInt(id));
3 重定向到/emp
resp.sendRedirect(\"/day02/emp\");
第二步:重定向到EmpServlet
1 调用dao获取所有员工信息
2 请求共享数据
3 请求转发到emp.jsp
四、添加员工
/*
1.浏览器(map.jsp)发送一个请求到AddServlet
获取请求参数 要添加的参数;
调用dao将数据添加到数据库中;
如果添加成功 共享数据(\"添加成功\")请求发送到add.jsp(里面搭建是添加数据的界面面)
如果添加失败 共享数据(\"添加失败\")请求发送到add.jsp
*/
用户点击添加按钮 添加新的员工信息
1 乱码的处理
req.setCharacterEncoding(\"utf-8\");
2 获取请求参数
String name = req.getParameter(\"要添加的参数\");
//数据类型的不同要转变类型 添加需要id
Eeployee eeployee = new Eeployee(1,参数));
2 调用dao将数据添加到数据库中
IAddDAO dao = new AddDAOImpl();
boolean add = dao.add(eeployee);
3 回传信息 成功/失败
if (add){
//添加成功共享 请求发送给add.jsp
req.setAttribute(\"shuju\",\"添加成功\");
req.getRequestDispatcher(\"/add.jsp\").forward(req,resp);
}else {
//添加失败
resp.setAttribute(\"添加失败\");
req.getRequestDispatcher(\"/add.jsp\").forward(req,resp);
}
五、修改员工
/*第一步:
浏览器(emp.jsp)发送请求到UpdateSrevlet;
获取请求参数 id;
调用dao,把要修改的数据查询出来;
共享数据 请求发送给update.jsp(搭建的 修改界面)
第二步:
浏览器(\"update.jsp\")发送请求toUpdateServlet;
获取请求参数 要修改的参数;
调用dao进行修改
从定向到/emp.jsp
*/
用户点击某个修改按钮 点击的哪个 就对哪个进行修改操作
第一步:
//中文乱码问题
req.setCharacterEncoding(\"utf-8\");
1 获取请求参数 id(修改第一步的 servlet操作)
String id=req.getParameter(\"id\");
2 掉用dao,把要修改的信息查询出来
IDeleteDAO dao = new DeleteDAOImpl();
Map<String, Object> emp = dao.getEmp(Integer.parseInt(id));
3 数据共享 请求发送给update.jsp
req.setAttribute(\"emp\",emp);
req.getRequestDispatcher(\"/update.jsp\").forward(req,resp);
第二步;
//处理请求乱码的问题 (请求乱码是浏览器发给servlet之后乱码,响应乱码 servlet回传给浏览起之后的乱码 现在不用处理浏览器的乱码 因为我们的响应度交给了jsp)
req.setCharacterEncoding(\"UTF-8\");
1 获取 请求参数 (修改第二步的 servlet操作)
String name = req.getParameter(\"要修改的参数\");
2 调用dao 进行修改 //数据类型不同要转换
Eeployee eeployee = new Eeployee(参数);
3 从定向到/emp.jsp

resp.sendRedirect(\"/day02/emp\");

index.jsp(源代码)
<%@ page contentType=\"text/html;charset=UTF-8\" language=\"java\" %>
<html>
<head>
<title>后台登陆</title>
<style>
fieldset{width: 300px;margin: 100px auto}

</style>
</head>
<body>
<fieldset>
<legend>登陆窗口</legend>
<div style=\"color: blueviolet\">${error}</div>
<form action=\"/day02/login?id=${emp.id}\" method=\"get\">

<div>
用户名:<input name=\"username\"/>
</div>
<div>
密码:<input name=\"password\"type=\"password\"/>
</div>
<button>登陆</button>
</form>
</fieldset>
</body>
</html>
ad
add.jsp(源代码)

<%@ page contentType=\"text/html;charset=UTF-8\" language=\"java\" %>
<html>
<head>
<title>Title</title>
<style type=\"text/css\">
fieldset{width: 300px;margin: 100px auto;}
</style>
</head>
<body>

<fieldset id=\"\">
<legend>添加员工</legend>
<form action=\"/day02/addEmp\" method=\"post\">
<div>
员工姓名: <input name=\"name\" />
</div>
<div>
员工手机: <input name=\"telephone\" />
</div>
<div>
员工部门:
<select name=\"deptID\">
<option value=\"1\">总经办</option>
<option value=\"2\">人事部</option>
<option value=\"3\">业务部</option>
</select>
</div>
<div>
员工角色:
<select name=\"roleID\">
<option value=\"1\">超级管理员</option>
<option value=\"2\">员工管理员</option>
<option value=\"3\">业务管理员</option>
</select>
</div>
<div>
员工状态:
<select name=\"state\">
<option value=\"0\">离职</option>
<option value=\"1\">在职</option>
</select>
</div>

<button>添加</button>
<div>${shuju}</div>
</form>

</fieldset>

</body>
</html>
 
emp.jsp(源码)
<%@ page contentType=\"text/html;charset=UTF-8\" language=\"java\" %>

<html>
<head>
<title>Title</title>
</head>
<body>
<table border=\"1\" cellspacing=\"0\" width=\"95%\" align=\"center\">
<tr>

<th>员工编号</th>
<th>员工姓名</th>
<th>员工手机号</th>
<th>入职时间</th>
<th>员工部门</th>
<th>员工角色</th>
<th>员工状态</th>
<th>员工操作</th>
</tr>
<c:forEach var=\"emp\" items=\"${list}\" >
<tr>
<th>${emp.id}</th>
<th>${emp.name}</th>
<th>${emp.telephone}</th>
<th>${emp.hiredate}</th>
<th>${emp.dname}</th>
<th>${emp.rname}</th>
<th>${emp.state==1?\"在职\":\"离职\"}</th>
<th><a href=\"/day02/delete?id=${emp.id}\">删除</a>
<a href=\"/day02/ToUpdate?id=${emp.id}\">修改</a>
</th>
</tr>
</c:forEach>

</table>
</body>
</html>


main.jsp(源码)
<%@ page contentType=\"text/html;charset=UTF-8\" language=\"java\" %>
<!DOCTYPE html>
<html>
<head>
<meta charset=\"utf-8\" />
<title></title>
<style type=\"text/css\">
ul,iframe{float: left;}
ul {width: 15%;}
iframe{width: 80%;}
</style>
</head>
<body>

<h1>欢迎来到德莱联盟</h1>

<div>
<ul>
<li><a href=\"/day02/emp\" target=\"show\">员工管理1</a></li>
<li><a href=\"/day02/add.jsp\" target=\"show\">添加员工</a></li>
<li><a href=\"\">员工管理3</a></li>
<li><a href=\"\">员工管理4</a></li>
<li><a href=\"\">员工管理5</a></li>
<li><a href=\"\">员工管理6</a></li>
<li><a href=\"\">员工管理7</a></li>
<li><a href=\"\">员工管理8</a></li>
</ul>
<iframe name=\"show\" height=\"750px\"></iframe>
</div>
</body>
</html>


update.jsp(源码)
<%@ page contentType=\"text/html;charset=UTF-8\" language=\"java\" %>
<html>
<head>
<title>修改</title>
<style type=\"text/css\">
fieldset{width: 300px;margin: 100px auto;}
</style>
</head>
<body>
<fieldset id=\"\">
<legend>添加员工</legend>
<form action=\"/day02/update\" method=\"post\">
<div>
<input type=\"hidden\" name=\"id\" value=\"${emp.id}\"/>
</div>
<div>
员工姓名: <input name=\"name\"value=\"${emp.name}\" />
</div>
<div>
员工手机: <input name=\"telephone\" value=\"${emp.telephone}\"/>
</div>
<div>
员工部门:
<select name=\"deptID\"value=\"${emp.deptID}\">
<option value=\"1\" id=\"d1\">总经办</option>
<option value=\"2\" id=\"d2\">人事部</option>
<option value=\"3\" id=\"d3\">业务部</option>
</select>
</div>
<div>
员工角色:
<select name=\"roleID\"value=\"${emp.roleID}\">
<option value=\"1\" id=\"r1\">超级管理员</option>
<option value=\"2\" id=\"r2\">员工管理员</option>
<option value=\"3\" id=\"r3\">业务管理员</option>
</select>
</div>
<div>
员工状态:
<select name=\"state\"value=\"${emp.state}\">
<option value=\"0\" ${emp.state==0?\"selected\":\"\"}>离职</option>
<option value=\"1\" ${emp.state==1?\"selcted\":\"\"}>在职</option>
</select>
</div>

<button>添加</button>
<div>${shuju}</div>
</form>
</fieldset>
<script>
document.getElementById(\"d\"+${emp.deptID}).selected=\"selected\";
document.getElementById(\"r\"+${emp.roleID}).selected=\"selected\";
</script>
</body>
</html>





人已赞赏
随笔日记

sap abap 流水号设置

2020-11-9 4:28:23

随笔日记

MySQL 多实例的安装

2020-11-9 4:28:25

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索