이 기사의 예는 귀하의 참조를위한 Java 고용 정보 관리 플랫폼 개발 사례를 공유합니다. 특정 내용은 다음과 같습니다
회사 정보, 학생 정보, 수업 정보, 학생 고용 정보에 대한 통계 및 학생들의 고용 여부에 대한 통계를 쿼리 할 수 있습니다. 교사와 관리자는 로그인 한 후 다른 권한을 가지고 있습니다. 달성하고자하는 것은 각 수업에서 학생들의 고용 상태입니다. 데이터베이스에는 6 개의 테이블, 즉 클래스, 회사, 위치, 학생 및 로그인 사용자가 있습니다.
고용 정보의 인터페이스에 표시된 내용은 학생 정보와 위치의 조합으로 JSP 페이지에 접합됩니다. 학생이 직업을 찾으면 고용 정보를 작성해야합니다. 그렇지 않으면 비어 있습니다. 고용 스크린 샷에 관해서는.
기업 정보에서 구현 해야하는 기능은 먼저 계획된 채용 시간을 갖는 것입니다. 실제 채용 시간은 항상 가능합니다. 이 회사의 채용이 끝나는 경우, 실제 채용 시간과 실제 채용 교사는 후속 편집자를 통해 작성해야하며 채용 상태가 종료 된대로 표시됩니다. 그렇지 않으면 채용 상태가 채용 상태에 있습니다. 두 가지 유형의 쿼리 인 두 가지 다른 기능이 있습니다. 하나는 채용 쿼리를 기반으로 옵션 드롭 다운 상자를 사용하는 것입니다. 대신, 회사 이름을 기반으로 쿼리가 상자에 회사 키워드를 입력하고 여기에서 퍼지 쿼리가 사용됩니다. 고용 정보에서 옵션 드롭 다운 선택의 클래스 이름을 기반으로 한 쿼리 만 사용됩니다.
입력 키워드의 정확한 쿼리 만 클래스 정보에 사용됩니다. 쿼리 통계는 각 페이지에 표시 될 수있는 조각, 특히 쿼리를 선택하기 위해 드롭 다운 상자의 수에 따라 페지 처리되며 둘 이상의 정보가있을 수 있습니다.
기본 정보에는 수업 정보 및 학생 정보 가 포함되어 있으며 학생 정보에는 학생의 기본 정보가 표시됩니다.
개인 정보에 표시된 수정 된 비밀번호 및 사용자 정보의 한 가지 기능은 관리자 및 일반 교사의 권한입니다. 일반 교사는 로그인 할 때만 정보를 볼 수 있지만 수정할 수는 없습니다.
모든 기본 정보는 추가, 삭제, 수정 및 확인할 수 있습니다. 페이징 쿼리 - 드롭 다운 선택을 수행 할 때 여전히 어려움이 있습니다. 또한 페이징시 사용되는 Page.js 파일, 어떤 페이지가 표시되는지/총, 홈페이지/이전 페이지/다음 페이지/마지막 페이지/마지막 페이지에 몇 페이지가 표시됩니다.
권한 문제도 있습니다. 데이터베이스에 로그인 한 사용자를 등록하면 권한 권한이 있고 예/아니오를 작성한 다음 후속 프로그램에서 판단을 내립니다. 이 프로젝트의 유일한 단점은 수입 및 내보내기 기능을 인식하지 못하는 것입니다.이 프로젝트는 템플릿 인 고용 정보 표시 줄의 오른쪽 상단에 가져 오기 및 내보내기 버튼을 설정하는 것입니다. 수입은 Excel에서 학생 정보의 배치 입력을 구현하고 수출은 Excel 테이블 양식에서 학생의 고용 상황 수출을 구현합니다.
1. addcompany_Action.java
패키지 com.ben.emp.action; import java.io.ioexception; import java.text.parseexception; import java.text.simpledateformat; import javax.servlet.servletexception; import javax.servlet.annotation.webservlet; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.httpservletr response; import; javax.servlet.http.httpsession; import com.ben.emp.model.company; import com.ben.emp.model.user; import com.ben.emp.service.companyservice; import com.ben.emp.service.impl.companyserviceimpl; @webservlet ( "/addcompany.action") public class addcompany_action은 httpservlet {@override protected void doget (httpservletrequest req, httpservletrepsonse resp)을 servletexception, ioexception {req.getRequestDisPatcher ( "/addcompany.jsp"). } @override Protected Void Dopost (httpservletrequest req, httpservletrepsonse resp) servletexception, ioexception {string name = req.getParameter ( "name"); 문자열 소개 = req.getParameter ( "소개"); 문자열 요구 사항 = req.getParameter ( "요구 사항"); 문자열 주소 = req.getParameter ( "주소"); 문자열 plantime = req.getParameter ( "Plantime"); simpledateformat sdf = new simpledateformat ( "yyyy-mm-dd"); CompanyService CS = New CompolyServiceImpl (); 회사 com = 새로운 회사 (); httpsession session = req.getSession (true); 사용자 user = (user) session.getAttribute ( "사용자"); com.setName (이름); com.setIntROODDE (소개); com.setRequirement (요구 사항); com.setAddress (주소); try {com.setplantime (sdf.parse (Plantime)); } catch (parseException e) {// todo 자동 생성 캐치 블록 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; import java.io.ioexception; import java.text.parseexception; import java.text.simpledateformat; import javax.servlet.servletexception; import javax.servlet.annotation.webservlet; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.httpervletrequest; import; javax.servlet.http.HttpServletResponse;import com.ben.emp.model.classes;import com.ben.emp.model.student;import com.ben.emp.service.classesService;import com.ben.emp.service.studentService;import com.ben.emp.service.impl.classesServiceImpl;import com.ben.emp.service.impl.studentserviceimpl; @webservlet ( "/editstudent.action") public class editstudent_action은 httpservlet {@override protected void doget (httpservletrequest req, httpservletrepsonse resp)를 servletexception, ioexception {string strid = req.getparameter ( "id"); int studentid = integer.valueof (strid); wintentService ss = new windenterviceimpl (); 학생 ss = ss.getstudentByid (stu "); req.setattribute ("stu ", stu); req.getRequestDispatcher ("/editstudent.jsp "). Forward (req, resp);} @override protected void dopost (httpservletrequest req, httpservletronce). {Strid = int StudentId = req.getParameter ( "sex req.getParameter ( "bytime"); req.getSession (true). stu.setName (이름); stu.setsex (섹스); Stu.setschool (학교); Stu.setmajor (메이저); try {stu.setbytime (sdf.parse (bytime)); } catch (parseException e) {// todo 자동 생성 캐치 블록 e.printstacktrace (); } stu.settel (tel); 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; import java.util.arraylist; import java.util.list; import javax.servlet.servletexception; import javax.servlet.annotation.webservlet; import javax.servlet.http.httpservlet; javax.servlet.http.http.httpervletresponse; import com.ben.emp.model.classes; import com.ben.emp.model.info; import com.ben.emp.model.student; import com.ben.emp.service.classesservice; import import com.ben.emp.service.studentservice; import com.ben.emp.service.impl.classesserviceimpl; import com.ben.emp.service.impl.studentserviceimpl; import com.ben.emp.service.impl.impl.mpl.ben.emp.mpl.impl.impl.impl. @webservlet ( "/Employ.action") 공공 클래스 Employee_action은 httpservlet를 확장합니다 {@override protected void doget (httpservletrequest req, httpservletreponse resp) servletexception, ioexception {classesservice cs = new Classesserviceplp (); 목록 <class> cla = cs.getClasses (); List <string> lst = new ArrayList <string> (); for (클래스 ele : cla) {문자열 이름 = ele.getName (); lst.add (이름); } eliteVice ss = new windenterViceimpl (); List <tudent> lstu = ss.GetStudentPage (1, 10); infoservice는 = new infoserviceimpl (); // 고용 정보 테이블 목록에 연결합니다. lin = new ArrayList <info> (); for (Student Ele : lstu) {info info = new info (); info = is.getInfobystudentId (ele.getId ()); lin.add (정보); } list <tudent> count = ss.getStudentPage (1, integer.max_value); int 번호 = count.size (); int page = number % 10 == 0? 번호 / 10 : (번호 / 10) + 1; req.setattribute ( "lst", lst); req.setattribute ( "value", "all"); req.setattribute ( "번호", 번호); req.setattribute ( "page", page); req.setattribute ( "index", 1); req.setattribute ( "list", lstu); req.setattribute ( "lin", lin); req.getRequestDispatcher ( "/Employ.jsp"). Forward (req, resp); } @override protected void dopost (httpservletrequest req, httpservletresponse resp) servletexception, ioexception {string value = req.getParameter ( "select"); classesservice cs = new classesserviceimpl (); 목록 <class> cla = cs.getClasses (); List <string> lst = new ArrayList <string> (); lst.add ( "모두"); for (클래스 ele : cla) {문자열 이름 = ele.getName (); lst.add (이름); } lst.remove (값); wintentService ss = new windenterviceimpl (); infoservice는 = new infoserviceimpl (); // 고용 정보 테이블 목록에 연결합니다. lin = new ArrayList <info> (); if (value.equals ( "all")) {list <tudent> count = ss.getStudentPage (1, integer.max_value); int 번호 = count.size (); int page = number % 10 == 0? 번호 / 10 : (번호 / 10) + 1; 문자열 strpageIndex = req.getParameter ( "pageIndex"); int index = integer.valueof (strpageIndex); List <tudent> lstu = ss.GetStudentPage (Index, 10); for (Student Ele : lstu) {info info = new info (); info = is.getInfobystudentId (ele.getId ()); lin.add (정보); } req.setAttribute ( "숫자", 숫자); req.setattribute ( "page", page); req.setattribute ( "index", index); req.setattribute ( "list", lstu); req.setattribute ( "lin", lin); } else {list <tudent> count = ss.getStudentByClassName (value, 1, integer.max_value); int 번호 = count.size (); int page = number % 10 == 0? 번호 / 10 : (번호 / 10) + 1; 문자열 strpageIndex = req.getParameter ( "pageIndex"); int index = integer.valueof (strpageIndex); List <tudent> lstu = ss.getStudentByClassName (value, index, 10); for (Student Ele : lstu) {info info = new info (); info = is.getInfobystudentId (ele.getId ()); lin.add (정보); } req.setAttribute ( "숫자", 숫자); req.setattribute ( "page", page); req.setattribute ( "index", index); req.setattribute ( "list", lstu); req.setattribute ( "lin", lin); } req.setattribute ( "value", value); req.setattribute ( "lst", lst); req.getRequestDispatcher ( "/Employ.jsp"). Forward (req, resp); }}4. Employee.jsp
<%@ page language = "java"contmenttype = "text/html; charset = utf-8"pageencoding = "utf-8"%> <%@ include file = "base.jsp"%> <%@ taglib prefix = "c"uri = "http://java.sun.com/jsp/jstl/core"%@ taglib "feepreft" uri = "http://java.sun.com/jsp/jstl/fmt" %> <! doctype html public "-// w3c // dtd html 4.01 Transitional // en" "http://ww.w.w3.org/tr/html4/loose.dtd"> http-equiv = "content-type"content = "text/html; charset = utf-8"> <title> 제목이 붙은 문서 </title> <link href = "css/style.css"rel = "Stylesheet"type = "text/css"/> <script type = "text/javascript"src = "js/js"> <> js "> <> <> <> <> <> <> <<> <<text/css"/> <script type = "stylesheet" jquery.js-> <script type = "text/javaScript"src = "js/jquery-1.11.0.min.js"> </script> <script type = "text/javaScript"src = "js/page.js"> </script> <script type = "text/javascript"> $ () {function (). $ ( "select"). change (function () {$ ( "#pageindex"). val (1); $ (form "). $ (". pg "); 함수 subfun () {var id = $ (this) .attr ( "id"); var value = $ ( "#pageindex"). val (); var count = $ ( "#pagecount"). val (); if (id == "First") {$ ( "#pageIndex"). val (1); $ ( "form"). oldow (); } else if (id == "previous") {if (number (value) == 1) {return false; } else {$ ( "#pageIndex"). val (번호 (value) -1); $ ( "form"). oldow (); }} else if (id == "next") {if (value == count) {return false; } else {$ ( "#pageIndex"). val (숫자 (value) +1); $ ( "form"). oldow (); }} else {$ ( "#pageindex"). val (count); $ ( "form"). oldow (); } 거짓을 반환합니다. // 태그로 웹 페이지가 점프하지 못하도록하기 위해 // 기능} </script> </head> <body> <div> <span> 위치 : </span> <ul> <li> <a href = "#"> home </a> </a> <li> <a href = "#"> 사용 </a> </li div> <post action = "employ." <ul> <li> <span> 클래스 이름 : <select style = "border : 1px solid #056dae"id = "select"name = "select"> <plooft> $ {requestscope.value} </옵션> <c : foreach items = "$ {requestScope.lst}"var = "ele"> <옵션> $} </c : foreach> </c : foreach>. </span> </li> </ul> <ul> <li> <li> <span> <img src = "images/t05.png"/> </span> 다운로드 </li> </ul> </div> <table> <traad> <tr> <th> name </th> <th> 졸업생 </th> <th> <th> <th> <th> <th> <th> <th>. <Th> Tel </th> <th> 고용 단위 </th> <th> 위치 </th> <th> SANARY </th> <TH> 고용 시간 </th> </tr> </thead> <tbody> <c : foreach items = "$ {requestScope.list}"var = "stu"varstatus = "s"> <td> $ {stu.name} {stu.name} <td> $ {stu.sex} </td> <td> $ {stu.school} </td> <td> $ {stu.major} </td> <td> $ {stu.bytime} </td> <td> $ {stu.tel} </td> <c : if test =. == null} "> <td colspan ="4 "style ="text-align : center; "> <a href ="addinfo.action? id = $ {stu.id} "> 고용 정보를 채우십시오 </a> </td> </c : if> <c : if test ="$ {requestscope.lin]! <td> $ {requestScope.lin [s.index] .companyname} </td> <td> $ {requestScope.lin [s.index] .post} </td> <td> $ {requestScope.lin [s.index] .salary} </td> <td> $ {requestScope.lin [s.index] </tr> </c : foreach> </tbody> </table> <입력 유형 = "hidden"name = "pageindex"id = "pageindex"value = "$ {requestscope.index}"> <입력 유형 = "hidden"name = "pagecount"id = "pagecount"value = "$ {requestescope.page}"> id = "pagenumber"value = "$ {requestscope.number}"> <div id = "page"> <div> total <i> $ {requestScope.number} </i> 레코드, Total <i> $ {requestScope.page} </i> page, 현재 <i> $ {requestScope.index} </div> <ul> <<li> <<ul> href = "JavaScript :;" id = "첫 번째"> <span> </span> </a >> </li> <li> <a href = "javaScript :;" id = "previous"> 이전 페이지 </a> </li> <li> <a href = "javaScript :;" id = "next"> 다음 페이지 </a> </li> <li> <a href = "javaScript :;" id = "last"> <span> </span> </a> </li> </ul> </div> </div> </form> </body> </html>5. Page.js
$ (function () {$ ( ". paginitem"). 클릭 (subfun);}); function subfun () {// 어떤 클래스를 가져 오는 클래스와 어떤 태그를 클릭하는지 알아야합니다. var id = $ (this) .attr ( "id"); var value = $ ( "#pageindex"). val (); // 현재 페이지를 가져옵니다. var count = $ ( "#pagecount"). val (); // 마지막 페이지를 가져옵니다. if (id == "First") {$ ( "#pageIndex"). val (1); // 현재 페이지를 가져옵니다. // 태그를 통해 양식을 제출하십시오. 홈페이지 인 경우 현재 페이지가 1 == 1homepage! = 1인지 판단하십시오. 1 If (숫자 (value) == 1) {return false; } else {$ ( "#pageIndex"). val (번호 (value) -1); $ ( "form"). oldow (); }} else if (id == "next") {// 현재 페이지가 마지막 페이지인지 판단하는 마지막 페이지와 마지막 페이지를 판단하는 방법 마지막 페이지가 데이터베이스 계산 총 수를 계산하는 방법/페이지 당 표시되는 결과 수를 계산하는 방법 +1 if (value == count) {return false; } else {$ ( "#pageIndex"). val (숫자 (value) +1); $ ( "form"). oldow (); }} else {$ ( "#pageindex"). val (count); $ ( "form"). oldow (); } false를 반환합니다. // 태그로 웹 페이지가 점프하지 못하도록 함수}생식 이미지 :
더 많은 학습 자료는 특별한 주제 "관리 시스템 개발"에주의를 기울이십시오.
위의 내용은이 기사에 관한 모든 것입니다. 모든 사람의 학습에 도움이되기를 바랍니다.