zoukankan      html  css  js  c++  java
  • 员工管理系统 :练习

    业务模块: 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{ 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{ 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 { 15%;}
    iframe{ 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{ 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>





  • 相关阅读:
    CSS3笔记!
    Charles与Jmeter结合编写接口测试
    Charles测试点集锦
    pom文件报错关于maven-compiler-plugin:3.1
    Jmeter获取数据库值并作为参数请求(转载)
    mysql基础操作语言
    JMeter之Ramp-up Period(in seconds)说明
    Jmeter查看QPS和响应时间随着时间的变化曲线(转载)
    Charles篡改后台数据
    接口测试之——Charles抓包及常见问题解决(转载自https://www.jianshu.com/p/831c0114179f)
  • 原文地址:https://www.cnblogs.com/wwwbobocom/p/10733460.html
Copyright © 2011-2022 走看看