一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - Java教程 - jdbc+jsp實現簡單員工管理系統

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

2021-07-16 16:06lxh5431 Java教程

這篇文章主要為大家詳細介紹了jdbc+jsp實現簡單員工管理系統,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

簡單的頁面分析

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

代碼實現

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<%@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>

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<%@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>
  <h3>employee list page</h3>
 
  <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>

接下來要說的是更新操作

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<%@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);
    }
 
  %>
 
  <h3>employee <%=action.equals("1")?"update":"regist" %> page</h3>
 
  <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嵌入代碼,更加笨重,這也是我學習的另一個方面吧。

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

原文鏈接:https://blog.csdn.net/lxh5431/article/details/52489972

延伸 · 閱讀

精彩推薦
  • Java教程深入理解Maven環境搭建和介紹

    深入理解Maven環境搭建和介紹

    這篇文章主要介紹了深入理解Maven環境搭建和介紹,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    Andyzty11612021-02-26
  • Java教程Java Synchronized的使用詳解

    Java Synchronized的使用詳解

    這篇文章主要介紹了Java Synchronized的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨...

    淘小笛4312020-07-16
  • Java教程淺談java8 stream flatMap流的扁平化操作

    淺談java8 stream flatMap流的扁平化操作

    這篇文章主要介紹了淺談java8 stream flatMap流的扁平化操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧 ...

    ZhaoYingChao885272020-08-19
  • Java教程Spring security實現權限管理示例

    Spring security實現權限管理示例

    這篇文章主要介紹了Spring security實現權限管理示例,這里整理了詳細的代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下。...

    零度anngle2122020-07-26
  • Java教程Java 非靜態初始化的例子

    Java 非靜態初始化的例子

    非靜態初始化和靜態初始化一模一樣,只不過少了static關鍵字。但是如果兩者共存的話,非靜態初始化是比靜態初始化慢一拍的。下邊我們舉兩個例子來看...

    laosun4672020-09-13
  • Java教程java8 統計字符串字母個數的幾種方法總結(推薦)

    java8 統計字符串字母個數的幾種方法總結(推薦)

    下面小編就為大家分享一篇java8 統計字符串字母個數的幾種方法總結(推薦),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來吧...

    尚云峰1118762021-02-22
  • Java教程詳解Java中用于國際化的locale類

    詳解Java中用于國際化的locale類

    Java中也有用于轉換和劃分地區的國際化類java.lang.Locale,國際化在程序中設置語言和時間等時非常有用,下面我們就來詳解Java中用于國際化的locale類 ...

    java教程網7952020-05-11
  • Java教程java web實現分頁查詢實例方法

    java web實現分頁查詢實例方法

    在本篇文章里我們給大家分享了java web實現分頁查詢的詳細方法知識點,有需要的朋友們參考學習下。...

    Java之家3892021-06-03
主站蜘蛛池模板: 无遮挡h肉动漫在线观看电车 | gayrb漫画免费入口 | 免费日批视频 | 青草视频网址 | 国产精品免费久久久久影院小说 | 亚洲精品国产成人99久久 | 欧美日韩国产精品综合 | 99视频在线免费观看 | 天天色综 | 猛操女人 | 亚洲成人影院在线 | 久久久久青草大香线综合精品 | 欧美亚洲国产一区二区三区 | 91在线亚洲综合在线 | 精品一久久香蕉国产线看观 | 亚洲v成人天堂影视 | 特a级片| 欧美va在线高清 | 草莓香蕉绿巨人丝瓜榴莲污在线观看 | 小黄文污到你湿 | freexxx性欧美3d动漫 | 四虎导航 | 韩国三级在线观看 完整版 韩国三级视频网站 | www视频免费观看 | 国产短视频精品一区二区三区 | 精品国产免费 | 俄罗斯引擎首页进入 | 国产精品自在欧美一区 | 国产成人久久精品一区二区三区 | 男男调教打屁股 | 乌克兰精品摘花处破 | 教室里老师好紧h | 女人是男人的未来1分49分 | www.亚洲天堂| 青草午夜精品视频在线观看 | 精品成人在线 | naruto tube18动漫| 四虎国产精品免费久久久 | 天生奶水1v1高h | 青青草国产免费国产是公开 | 日韩一区二区三区不卡视频 |