ตัวอย่างในบทความนี้แบ่งปันกรณีการพัฒนาแพลตฟอร์มการจัดการข้อมูลการจ้างงาน Java สำหรับการอ้างอิงของคุณกับคุณ เนื้อหาเฉพาะมีดังนี้
คุณสามารถสอบถามข้อมูล บริษัท ข้อมูลนักเรียนข้อมูลชั้นเรียนสถิติเกี่ยวกับข้อมูลการจ้างงานของนักเรียนและสถิติว่านักเรียนได้รับการว่าจ้างหรือไม่ ครูและผู้ดูแลระบบมีสิทธิ์ที่แตกต่างกันหลังจากเข้าสู่ระบบสิ่งที่คุณต้องการบรรลุคือสถานะการจ้างงานของนักเรียนในแต่ละชั้นเรียน มี 6 ตารางในฐานข้อมูล ได้แก่ ชั้นเรียน บริษัท ตำแหน่งนักเรียนและผู้ใช้ที่เข้าสู่ระบบ
เนื้อหาที่แสดงบนอินเทอร์เฟซของข้อมูลการจ้างงานเป็นการรวมกันของข้อมูลและตำแหน่งของนักเรียนซึ่งถูกเชื่อมต่อในหน้า JSP หากนักเรียนหางานเขาต้องกรอกข้อมูลการจ้างงานมิฉะนั้นจะว่างเปล่า สำหรับภาพหน้าจอการจ้างงาน
ในข้อมูลขององค์กรฟังก์ชั่นที่ต้องดำเนินการคือต้องมีเวลาจัดหางานตามแผนก่อน เวลารับสมัครจริงมีให้เสมอ หากการรับสมัครของ บริษัท นี้สิ้นสุดลงเวลารับสมัครจริงและครูสรรหาบุคลากรที่แท้จริงจะต้องกรอกผ่านบรรณาธิการที่ตามมาและสถานะการสรรหาจะปรากฏขึ้นเมื่อสิ้นสุด มิฉะนั้นสถานะการสรรหาจะอยู่ในสถานะการสรรหา มีฟังก์ชั่นอื่นอีกสองฟังก์ชั่นซึ่งมีสองประเภทของการสืบค้น: หนึ่งคือการใช้กล่องดรอปดาวน์ตัวเลือกตามแบบสอบถามการสรรหา แทนการสืบค้นตามชื่อ บริษัท ป้อนคำหลักของ บริษัท ในกล่องและใช้แบบสอบถามฟัซซี่ที่นี่ ในข้อมูลการจ้างงานจะใช้เฉพาะการสืบค้นตามชื่อคลาสในการเลือกแบบดรอปดาวน์ตัวเลือกเท่านั้น
ใช้คำค้นหาที่ถูกต้องของคำหลักอินพุตเท่านั้นที่ใช้ในข้อมูลคลาส สถิติที่พวกเขาสอบถามจะถูกเพจตามจำนวนชิ้นที่สามารถแสดงในแต่ละหน้าโดยเฉพาะอย่างยิ่งกล่องดรอปดาวน์เพื่อเลือกแบบสอบถามและพวกเขาอาจมีข้อมูลมากกว่าหนึ่งชิ้น
ข้อมูลพื้นฐานมี ข้อมูลชั้นเรียน และ ข้อมูลนักเรียน และข้อมูลนักเรียนแสดงข้อมูลพื้นฐานของนักเรียน
คุณลักษณะหนึ่งของรหัสผ่านที่ได้รับการแก้ไขและข้อมูลผู้ใช้ที่แสดงในข้อมูลส่วนบุคคลคือสิทธิ์ของผู้ดูแลระบบและครูทั่วไป ครูธรรมดาสามารถดูข้อมูลได้เมื่อเข้าสู่ระบบ แต่พวกเขาไม่สามารถทำการแก้ไขใด ๆ ได้
ข้อมูลพื้นฐานทั้งหมดสามารถเพิ่มลบแก้ไขและตรวจสอบได้ ยังคงมีปัญหาที่พบเมื่อทำการสืบค้นเพจ - การเลือกแบบเลื่อนลง นอกจากนี้ยังเป็นไฟล์ page.js ที่ใช้เมื่อเพจเพจหน้าใดจะแสดง/จำนวนหน้าทั้งหมดโฮมเพจ/หน้าก่อนหน้า/หน้าถัดไป/หน้าสุดท้าย/หน้าสุดท้าย
นอกจากนี้ยังมีปัญหาการอนุญาต เมื่อฉันลงทะเบียนผู้ใช้ที่เข้าสู่ระบบในฐานข้อมูลฉันได้รับอนุญาตให้กรอกข้อมูลในใช่/ไม่ใช่จากนั้นทำการตัดสินในโปรแกรมที่ตามมา ข้อเสียเปรียบเพียงอย่างเดียวของโครงการนี้คือมันไม่ได้ตระหนักถึงฟังก์ชั่นการนำเข้าและส่งออกซึ่งคือการตั้งค่าปุ่มนำเข้าและส่งออกที่มุมขวาบนของแถบข้อมูลการจ้างงานซึ่งเป็นแม่แบบ การนำเข้าใช้ข้อมูลแบทช์ของข้อมูลนักเรียนใน Excel และการส่งออกดำเนินการส่งออกสถานการณ์การจ้างงานของนักเรียนออกจากรูปแบบตาราง Excel
1. addCompany_action.java
แพ็คเกจ com.ben.emp.action; นำเข้า java.io.ioException; นำเข้า java.text.parseException; นำเข้า java.text.simpledateFormat; นำเข้า javax.servlet.servletexception; นำเข้า Javax.servlet.annotation.webservlet; นำเข้า Javax.servlet.http.httpservlet; นำเข้า Javax.servlet.http.httpservletRequest; javax.servlet.http.httpsession; นำเข้า com.ben.emp.model.Company; นำเข้า com.ben.emp.model.user; นำเข้า com.ben.emp.service.companyservice; นำเข้า com.ben.emp.service.impl.companyserviceimpl; @webservlet ("/addCompany.action") คลาสสาธารณะ addCompany_Action ขยาย httpservlet {@Override void doGET ที่ได้รับการป้องกัน (httpservletrequest req, httpservletResponse respance) } @Override void dopost (httpservletrequest req, httpservletResponse resp) พ่น servletexception, ioexception {ชื่อสตริง = req.getParameter ("ชื่อ"); สตริงบทนำ = req.getParameter ("แนะนำ"); ความต้องการสตริง = req.getParameter ("ความต้องการ"); String address = req.getParameter ("ที่อยู่"); String plantime = req.getParameter ("plantime"); SimpledateFormat SDF = New SimpledateFormat ("YYYY-MM-DD"); Companyservice CS = New CompanyserviceImpl (); บริษัท com = บริษัท ใหม่ (); httpsession session = req.getSession (จริง); user user = (ผู้ใช้) เซสชัน. getAttribute ("ผู้ใช้"); com.setName (ชื่อ); com.setIntroduce (แนะนำ); com.setRequirement (ความต้องการ); com.setAddress (ที่อยู่); ลอง {com.setPlantime (sdf.parse (plantime)); } catch (parseexception e) {// todo catch block catch auto-generated e.printstacktrace (); } com.setState ("การสรรหา"); com.setteach1 (user.getName ()); com.setteach2 (""); com.setid (0); CS.AddCompany (com); resp.sendredirect (req.getcontextpath ()+"/company.action"); -2. Editstudent_action.java
แพ็คเกจ com.ben.emp.action; นำเข้า java.io.ioException; นำเข้า java.text.parseException; นำเข้า java.text.simpledateFormat; นำเข้า javax.servlet.servletexception; นำเข้า Javax.servlet.annotation.webservlet; นำเข้า Javax.servlet.http.httpservlet; นำเข้า Javax.servlet.http.httpservletRequest javax.servlet.http.httpservletResponse; นำเข้า com.ben.emp.model.classes; นำเข้า com.ben.emp.model.student; นำเข้า com.ben.emp.service.classesservice; นำเข้า com.emp.service.studentservice; com.ben.emp.service.impl.classesserviceimpl; นำเข้า com.ben.emp.service.impl.studentserviceimpl; @webservlet ("/editstudent.action") คลาสสาธารณะ editstudent_action ขยาย httpservlet {@Override void doget ที่ได้รับการป้องกัน (httpservletrequest req, httpservletResponse resp) การโยน servletexception, ioexception int studentId = integer.valueof (strid); STUDENTERSERVICE SS = นักศึกษาใหม่ SSERVICEIMPL (); นักเรียน ss = ss.getstudentbyid (stu "); req.setAttribute (" stu ", stu); req.getrequestdispatcher ("/editstudent.jsp "). ไปข้างหน้า (req, resp); {String strid = req.getParameter ("id"); req.getParameter ("BYMITHE"); req.getSession (จริง); stu.setName (ชื่อ); stu.setsex (เพศ); Stu.SetSchool (โรงเรียน); Stu.setmajor (Major); ลอง {stu.setbytime (sdf.parse (โดยใช้เวลา)); } catch (parseexception e) {// todo catch block catch auto-generated e.printstacktrace (); } stu.settel (โทร); stu.setqq (qq); stu.setClassID (cla.getId ()); stu.setid (stu); Ss.Editstudent (Stu); resp.sendredirect (req.getContextPath ()+"/student.action"); -3. Employee_Action.java
แพ็คเกจ com.ben.emp.action; นำเข้า java.io.ioException; นำเข้า java.util.arraylist; นำเข้า java.util.list; นำเข้า Javax.servlet.servletexception; นำเข้า Javax.servlet.annotation.webservlet; นำเข้า javavavlet.http.httpservlet; javax.servlet.http.httpservletResponse; นำเข้า com.ben.emp.model.classes; นำเข้า com.ben.emp.model.info; นำเข้า com.ben.emp.model.student; นำเข้า com.ben.emp.service.service. com.ben.emp.service.studentservice; นำเข้า com.ben.emp.service.impl.classesserviceimpl; นำเข้า com.ben.emp.service.impl.studentserviceimpl; นำเข้า com.ben.eMp.service.impl.studentserviceimpl; @webservlet ("/stement.action") พนักงานระดับสาธารณะ _Action ขยาย Httpservlet {@Override void doget (httpservletrequest req, httpservletresponse resp) โยน servletexception, ioexception รายการ <classes> cla = cs.getClasses (); รายการ <String> lst = arrayList ใหม่ <String> (); สำหรับ (คลาส ele: cla) {string name = ele.getName (); lst.add (ชื่อ); } Studentservice SS = นักศึกษาใหม่ SSERVICISIMPL (); รายการ <student> lstu = ss.getstudentpage (1, 10); Infoservice คือ = ใหม่ infoserviceimpl (); // เชื่อมต่อกับรายการตารางข้อมูลการจ้างงาน <poal> lin = new ArrayList <poal> (); สำหรับ (นักเรียน ele: lstu) {ข้อมูลข้อมูล = ข้อมูลใหม่ (); info = is.getInfobystudentId (ele.getId ()); Lin.Add (ข้อมูล); } รายการ <student> count = ss.getStudentPage (1, integer.max_value); หมายเลข int = count.size (); int page = number % 10 == 0? หมายเลข / 10: (หมายเลข / 10) + 1; req.setAttribute ("lst", lst); req.setAttribute ("ค่า", "ทั้งหมด"); req.setAttribute ("หมายเลข", หมายเลข); req.setAttribute ("หน้า" หน้า); req.setAttribute ("ดัชนี", 1); req.setAttribute ("รายการ", lstu); req.setAttribute ("lin", lin); req.getRequestDispatcher ("/stement.jsp"). ไปข้างหน้า (req, resp); } @Override void dopost (httpservletRequest req, httpservletResponse resp) พ่น servletexception, ioexception {ค่าสตริง = req.getParameter ("เลือก"); classesservice cs = ใหม่ classesserviceimpl (); รายการ <classes> cla = cs.getClasses (); รายการ <String> lst = arrayList ใหม่ <String> (); lst.add ("ทั้งหมด"); สำหรับ (คลาส ele: cla) {string name = ele.getName (); lst.add (ชื่อ); } lst.remove (ค่า); STUDENTERSERVICE SS = นักศึกษาใหม่ SSERVICEIMPL (); Infoservice คือ = ใหม่ infoserviceimpl (); // เชื่อมต่อกับรายการตารางข้อมูลการจ้างงาน <poal> lin = new ArrayList <poal> (); if (value.equals ("all")) {list <student> count = ss.getStudentPage (1, integer.max_value); หมายเลข int = count.size (); int page = number % 10 == 0? หมายเลข / 10: (หมายเลข / 10) + 1; string strpageindex = req.getParameter ("PageIndex"); INT INDEX = Integer.ValueOf (StrPageIndex); รายการ <student> lstu = ss.getstudentpage (ดัชนี, 10); สำหรับ (นักเรียน ele: lstu) {ข้อมูลข้อมูล = ข้อมูลใหม่ (); info = is.getInfobystudentId (ele.getId ()); Lin.Add (ข้อมูล); } req.setAttribute ("หมายเลข", หมายเลข); req.setAttribute ("หน้า" หน้า); req.setAttribute ("ดัชนี", ดัชนี); req.setAttribute ("รายการ", lstu); req.setAttribute ("lin", lin); } else {list <student> count = ss.getStudentByClassName (ค่า, 1, integer.max_value); หมายเลข int = count.size (); int page = number % 10 == 0? หมายเลข / 10: (หมายเลข / 10) + 1; string strpageindex = req.getParameter ("PageIndex"); INT INDEX = Integer.ValueOf (StrPageIndex); รายการ <student> lstu = ss.getstudentbyclassName (ค่า, ดัชนี, 10); สำหรับ (นักเรียน ele: lstu) {ข้อมูลข้อมูล = ข้อมูลใหม่ (); info = is.getInfobystudentId (ele.getId ()); Lin.Add (ข้อมูล); } req.setAttribute ("หมายเลข", หมายเลข); req.setAttribute ("หน้า" หน้า); req.setAttribute ("ดัชนี", ดัชนี); req.setAttribute ("รายการ", lstu); req.setAttribute ("lin", lin); } req.setAttribute ("ค่า", ค่า); req.setAttribute ("lst", lst); req.getRequestDispatcher ("/stement.jsp"). ไปข้างหน้า (req, resp); -4. Employee.jsp
<%@ page language = "java" contentType = "ข้อความ/html; charset = utf-8" pageencoding = "utf-8"%> <%@ รวมไฟล์ = "base.jsp"%> <%@ taglib prefix = "c" uri = "http://java uri = "http://java.sun.com/jsp/jstl/FMT" %> <! http-equiv = "content-type" content = "text/html; charset = utf-8"> <title> unt document </title> <link href = "css/style.css" rel = "stylesheet" type = "csss"/> ของ jQuery.js-> <script type = "text/javaScript" src = "js/jQuery-1.11.0.min.js"> </script> <script type = "text/javascript" src = "js/page.js"> </script> $ ("#pageindex"). Val (1); ฟังก์ชัน subfun () {var id = $ (this) .attr ("id"); var value = $ ("#pageindex"). val (); var count = $ ("#pagecount"). val (); if (id == "First") {$ ("#pageindex"). val (1); $ ("แบบฟอร์ม") ส่ง (); } อื่นถ้า (id == "previous") {if (number (value) == 1) {return false; } else {$ ("#pageindex"). val (number (value) -1); $ ("แบบฟอร์ม") ส่ง (); }} อื่นถ้า (id == "next") {ถ้า (value == count) {return false; } else {$ ("#pageindex"). val (number (value) +1); $ ("แบบฟอร์ม") ส่ง (); }} else {$ ("#pageindex"). val (นับ); $ ("แบบฟอร์ม") ส่ง (); } return false; // ฟังก์ชั่นเพื่อป้องกันไม่ให้หน้าเว็บกระโดดด้วยแท็ก} </script> </head> <body> <div> <pan> ตำแหน่ง: </span> <ul> <li> <a href = "#"> home </a> </li> <li> <ul> <li> <pan> ชื่อคลาส: <เลือก style = "border: 1px solid #056dae" id = "select" name = "select"> <pontion> $ {requestscope.value} </opotion> <c: foreach item = "$ {requestscope.lst} </span> </li></ul> <ul> <li> <pan> <img src = "images/t05.png"/> </span> ดาวน์โหลด </li> </ul> </div> <table> <thead> <tr> <th> </th> <th> <th> โทรศัพท์ </th> <th> หน่วยการจ้างงาน </th> <th> ตำแหน่ง </th> <th> เงินเดือน </th> <th> เวลาการจ้างงาน </th> </tr> </thead> <tbody> <c: foreach items = "$ {requestscope.list}" var = "stu" varstatus = "> <td> $ {stu.sex} </td> <td> $ {stu.school} </td> <td> $ {stu.major} </td> <td> $ {stu.bytime} </td> == null} "> <td colspan =" 4 "style =" text-allign: center; "> <a href =" addinfo.action? id = $ {stu.id} "> กรอกข้อมูลการจ้างงาน </a> </td> <td> $ {requestscope.lin [s.index] .companyname} </td> <td> $ {requestscope.lin [s.index] .post} </td> <td> $ {requestscope.lin [s.index] .salary} </td> <td> </tr> </c: foreach> </tbody> </table> <อินพุต type = "hidden" name = "PageIndex" id = "PageIndex" value = "$ {requestCope.Index}"> <อินพุต type = "hidden" name = "pagecount" id = "pagecount" id = "pagenumber" value = "$ {requestscope.number}"> <div id = "page"> <div> ทั้งหมด <i> $ {requestscope.number} </i> บันทึกรวม <i> $ {page.page.page </i> href = "JavaScript:;" id = "แรก"> <pan> </span> </a> </li> <li> <a href = "JavaScript:;" id = "ก่อนหน้า"> หน้าก่อนหน้า </a> </li> <li> <a href = "JavaScript:;" id = "ถัดไป"> หน้าถัดไป </a> </li> <li> <a href = "JavaScript:;" id = "สุดท้าย"> <span> </span> </a> </li></ul> </div> </div> </lim> </body> </html>5. page.js
$ (function () {$ (". paginitem") คลิก (subfun);}); ฟังก์ชั่น subfun () {// คุณต้องรู้ว่าคลาสที่ฉันได้รับและแท็กที่ฉันคลิก var id = $ (นี่) .attr ("id"); var value = $ ("#pageindex"). val (); // รับหน้าปัจจุบัน var count = $ ("#pagecount"). val (); // รับหน้าสุดท้ายถ้า (id == "แรก") {$ ("#pageindex"). val (1); // รับหน้าปัจจุบัน $ ("แบบฟอร์ม") ส่ง (); // ส่งแบบฟอร์มผ่านแท็ก} อื่นถ้า (id == "ก่อนหน้า") {// ตัดสินว่าหน้านี้เป็นหน้าแรกหรือไม่ หากเป็นโฮมเพจให้ตัดสินว่าหน้าปัจจุบันคือ 1 == 1homePage! = 1 ไม่ใช่หน้าแรกถ้า (หมายเลข (ค่า) == 1) {return false; } else {$ ("#pageindex"). val (number (value) -1); $ ("แบบฟอร์ม") ส่ง (); }} อื่นถ้า (id == "next") {// ตัดสินว่าหน้าปัจจุบันเป็นหน้าสุดท้ายและหน้าสุดท้ายวิธีการตัดสินว่าการคำนวณหน้าสุดท้ายคำนวณจำนวนทั้งหมดของฐานข้อมูลการคำนวณ/วิธีการคำนวณจำนวนผลลัพธ์ที่แสดงต่อหน้า +1 ถ้า (value == นับ) {return false; } else {$ ("#pageindex"). val (number (value) +1); $ ("แบบฟอร์ม") ส่ง (); }} else {$ ("#pageindex"). val (นับ); $ ("แบบฟอร์ม") ส่ง (); } return false; // ฟังก์ชั่นเพื่อป้องกันไม่ให้หน้าเว็บกระโดดด้วยแท็ก}ภาพการทำซ้ำ:
สำหรับสื่อการเรียนรู้เพิ่มเติมโปรดให้ความสนใจกับหัวข้อพิเศษ "การพัฒนาระบบการจัดการ"
ข้างต้นเป็นเรื่องเกี่ยวกับบทความนี้ฉันหวังว่ามันจะเป็นประโยชน์กับการเรียนรู้ของทุกคน