溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jdbc+jsp實現簡單員工管理系統

發布時間:2020-08-20 11:38:30 來源:腳本之家 閱讀:204 作者:lxh5431 欄目:編程語言

簡單的頁面分析

在上一個文章簡單的數據庫連接測試,已經測試和數據庫做簡單的交互,也就是dao層的實現,接下來要說的卻是action的簡單實現,在ssh中有struts作為表示層和server的交換,而這里我不是說的是關于struts這里只是簡單的運用jsp的代碼書寫來實現數據的傳輸,這也是最繁瑣的步驟,但是這卻讓我們對底層的調用有一個簡單的了解,這里是直接調用封裝好的數據,交換和使用,首先要書寫的是action的使用,用的最多的就是getParameter表單的提交了,這里在網絡上提交一個表單嗎,然后通過getParameter進行獲取,然后通過enployeeDao中的方法進行增刪改查,就能夠進行基本的邏輯操作了。

代碼實現

<%@page import="dao.EmployeeDao"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="entity.Employee"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
  pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

  <%
    //1、接收表單提交的參數
    String action = request.getParameter("action");

    //3.調用EmployeeDao中addEmployee(Employee employee)完成員工添加
    EmployeeDao employeeDao = new EmployeeDao();
    if (action.equals("0") || action.equals("1")) {
      //添加 更新
      String empno = request.getParameter("empno");
      String ename = request.getParameter("ename");
      String sal = request.getParameter("sal");
      String hiredate = request.getParameter("hiredate");

      //2.將數據封裝至Employee對象中
      Employee employee = new Employee();
      employee.setEmpno(Integer.parseInt(empno));
      employee.setEname(ename);
      employee.setSal(Double.parseDouble(sal));
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
      employee.setHiredate(sdf.parse(hiredate));

      if (action.equals("0")) {
        //添加
        employeeDao.addEmployee(employee);
      } else {
        //更新
        employeeDao.updateEmployee(employee);
      }

    } else if (action.equals("2")) {
      //刪除
      String empno = request.getParameter("empno");
      employeeDao.deleteEmployee(empno);
    } else if (action.equals("3")) {
      //批量刪除
      System.out.println("action="+action);

      String[] chks=request.getParameterValues("chks");
      for(String chk:chks){
        System.out.println("chk="+chk);
      }


    }

    //4.畫面跳轉至employeeList.jsp 重定向
    response.sendRedirect("employeeList.jsp");
  %>
</body>
</html>

然后我們進行簡單的頁面設計,運用了表格的形式進行設計,代碼如下

<%@page import="java.util.List"%>
<%@page import="entity.Employee"%>
<%@page import="dao.EmployeeDao"%>
<%@page language="java" contentType="text/html; charset=utf-8"
  pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script>
  function checkAll() {

    //1.獲取chkAll的選中狀態checked
    var chkAll = document.getElementById("chkAll");
    //alert(chkAll.checked);

    //2、獲取其他所有的checkbox
    var chks = document.getElementsByName("chks");
    for (var i = 0; i < chks.length; i++) {
      //3、將chkAll的選中狀態于其他checkbox的選中狀態同步
      chks[i].checked = chkAll.checked;
    }
  }

  function onDelete(empno){
    var result=confirm("Delete Employee?");
    if(result){
      window.location.href="employeeManageAction.jsp?action=2&empno=" rel="external nofollow" +empno;
    }
  }

  //function onDeleteBatch(){
    //判斷是否有選中的checkbox

    //有選中的場合
    //提示是否刪除確認的信息
    //確認刪除
    //提交表單
    //var action=document.getElementById("action");
    //action.value="3";

  // document.frmlist.action="employeeManageAction.jsp"
    // document.frmlist.submit();
    //取消刪除
    //不用處理



    //無選中的場合
    //提示選中記錄的信息

  //}


</script>
</head>
<body>
  <h4>Employee List Page</h4>

  <form name="frmSearch" action="xxxxAction.jsp" method="post">
    ename:<input type="text" /> <input type="submit" name="btnSubmit"
      value="submit" />
  </form>
  <P>
  <hr />

  <a href="employeeManage.jsp?action=0" rel="external nofollow" >Add Employee</a>  
  <a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" onclick="onDeleteBatch();">Delete
    Employee Batch</a>
  <P>
    <%
      EmployeeDao emplyeeDao = new EmployeeDao();
      List<Employee> employees = emplyeeDao.getEmployees();
    %>

    <%
      if (employees != null && employees.size() > 0) {
    %>

  <form name="frmlist" action="" method="post">
    <input type="hidden" name="action" id="action" value="" />
    <table width="600px" border="1px">

      <tr bgcolor="#009966">
        <td><input type="checkbox" id="chkAll" onclick="checkAll()" /></td>
        <td>empno</td>
        <td>ename</td>
        <td>sal</td>
        <td>hiredate</td>
        <td>action</td>
      </tr>

      <%
        Employee employee = null;
          for (int i = 0; i < employees.size(); i++) {
            employee = employees.get(i);
      %>
      <tr>
        <td><input type="checkbox" id="chk<%=i + 1%>" name="chks"
          value="<%=employee.getEmpno()%>" /></td>
        <td><%=employee.getEmpno()%></td>
        <td><%=employee.getEname()%></td>
        <td><%=employee.getSal()%></td>
        <td><%=employee.getHiredate()%></td>
        <td><a
          href="employeeManage.jsp?action=1&empno=<%=employee.getEmpno()%>" rel="external nofollow" >update</a>
          <a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" 
          onclick="onDelete(<%=employee.getEmpno()%>);">delete</a></td>
      </tr>
      <%
        }
      %>
    </table>

  </form>

  <%
    }
  %>
</body>
</html>

接下來要說的是更新操作

<%@page import="entity.Employee"%>
<%@page import="dao.EmployeeDao"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
  pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script>
  function checkForm() {

    var empno = document.getElementById("empno");
    if (empno && empno.value == "") {
      empno.focus();
      alert("please input empno");
      return;
    }

    var ename = document.getElementById("ename");
    if (ename && ename.value == "") {
      ename.focus();
      alert("please input ename");
      return;
    }

    var sal = document.getElementById("sal");
    if (sal && sal.value == "") {
      sal.focus();
      alert("please input sal");
      return;
    }

    var hiredate = document.getElementById("hiredate");
    if (hiredate && hiredate.value == "") {
      hiredate.focus();
      alert("please input hiredate");
      return;
    }

    var frm = document.getElementById("frm");
    frm.submit();

  }
</script>


</head>
<body>

  <%
    String action=request.getParameter("action");

    Employee employee=null;
    if(action.equals("1")){
      //更新操作
      String empno = request.getParameter("empno");

      EmployeeDao employeeDao = new EmployeeDao();
      employee=employeeDao.getEmployeeByEmpno(empno);
    }

  %>

  <h4>Employee <%=action.equals("1")?"Update":"Regist" %> Page</h4>

  <form id="frm" action="employeeManageAction.jsp" method="post"
    onsubmit="return checkForm();">
    <input type="hidden" name="action" value="<%=action%>"/>
    <table>
      <tr>
        <td>empno</td>
        <td><input type="text" id="empno" name="empno" <%=action.equals("1")?"readOnly":"" %> value="<%=employee==null?"":employee.getEmpno()%>"/></td>
      </tr>

      <tr>
        <td>ename</td>
        <td><input type="text" id="ename" name="ename" value="<%=employee==null?"":employee.getEname()%>"/></td>
      </tr>

      <tr>
        <td>sal</td>
        <td><input type="text" id="sal" name="sal" value="<%=employee==null?"":employee.getSal()%>"/></td>
      </tr>

      <tr>
        <td>hiredate</td>
        <td><input type="text" id="hiredate" name="hiredate" value="<%=employee==null?"":employee.getHiredate()%>"/></td>
      </tr>

      <tr>
        <td><input type="button" name="btnSubmit" value="submit"
          onclick="checkForm();" /></td>
        <td><input type="reset" name="btnReset" value="reset" /></td>
      </tr>
    </table>
  </form>
</body>
</html>

在這個過程中剛好用到了簡單的js對數據進行非空和數據類型判斷,這就是我們需要學會的邏輯,業務層,然后進行其他操作,當然我注釋的是還沒完成的多個刪除和模糊搜索,這個下一個博客再去完善。

總結

在學習這個過程中,學會了更多關于數據調用的知識,而不是像hibernate那樣在配置文件配置,然后直接調用就可以了,再用jsp中也發現jsp嵌入代碼,更加笨重,這也是我學習的另一個方面吧。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女