jdbc+jsp实现简单员工管理系统
程序员文章站
2024-02-19 21:24:22
简单的页面分析
在上一个文章,已经测试和数据库做简单的交互,也就是dao层的实现,接下来要说的却是action的简单实现,在ssh中有struts作为表示层和server...
简单的页面分析
在上一个文章,已经测试和数据库做简单的交互,也就是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> <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>
接下来要说的是更新操作
<%@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嵌入代码,更加笨重,这也是我学习的另一个方面吧。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。