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>





  • 相关阅读:
    AX ERROR: Could not find my mock parent, most likely I am stale 不及格的程序员
    利用Segue在视图控制器间传值的问题 不及格的程序员
    Creating a Singleton Instance 不及格的程序员
    iPad 通知 UIKeyboardWillShowNotification 不会在keyBoard处在Undock状态下接到通知 不及格的程序员
    Why RootViewController's view is rotated Automatically by System when the app first loaded? 不及格的程序员
    如何弹出UIDatePicker最好 不及格的程序员
    jQuery开始做恶了 不及格的程序员
    what is the SEL,id and IMP,Class ,Method? 不及格的程序员
    Objectivec 字符串比较的陷井 不及格的程序员
    Unable to create any keyboard shortcuts after the iOS 6.1.3 update on iPad. 不及格的程序员
  • 原文地址:https://www.cnblogs.com/wwwbobocom/p/10733460.html
Copyright © 2011-2022 走看看