业务模块: 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>adadd.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>
原文地址:https://www.cnblogs.com/wwwbobocom/p/10733460.html
时间: 2024-11-14 03:09:01