作者主页:夜未央5788
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文末获取源码
项目介绍
本项目分为管理员、教务人员、招生人员、学生等角色;
管理员角色主要功能包括:
系统状态、阶段定义、管理员维护、数据库管理、查看报名信息、我的登录历史、修改密码、退出系统;
教务人员主要功能包括:
系统状态、查看报名信息、准考证号分配、考场分配、录入成绩、我的登录历史、修改密码、退出系统;
招生人员主要功能包括:
系统状态、阶段设置、招考信息设置、查看报名信息、现场确认、学生密码清零、我的登录历史、修改密码、退出系统;
学生角色主要功能包括:
报考须知、我的报名信息、上传照片、报名表打印、准考证打印、成绩与录取查询、我的登录历史、修改密码、退出系统等;
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目:否;
技术栈
1. 后端:Servlet
2. 前端:JSP+JavaScript+CSS
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中WebRoot/META-INF/context.xml配置文件中的数据库配置改为自己的配置;
4. 运行项目,学生角色使用http://localhost:8080/bkxt/index.jsp进行登录
学生账号/密码:zjfhit/123456
管理员登录:http://localhost:8080/bkxt/manage.jsp
管理员账号/密码:manager/123456
教务人员账号/密码:jiaowu/123456
招生人员账号/密码:zhaoban/123456
运行截图
相关代码
AdminGrade
package com.tjzhic.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class AdminGrade extends HttpServlet {
/**
* Constructor of the object.
*/
public AdminGrade() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print(this.getClass());
out.println(", using the GET method");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print(this.getClass());
out.println(", using the POST method");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
AdminLogin
package com.tjzhic.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.tjzhic.dao.AdminuserDao;
import com.tjzhic.dao.RecordDao;
import com.tjzhic.dao.impl.AdminuserDaoImpl;
import com.tjzhic.dao.impl.RecordDaoImpl;
import com.tjzhic.entity.Adminuser;
import com.tjzhic.entity.Record;
import com.tjzhic.util.Encrypt;
public class AdminLogin extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* Constructor of the object.
*/
public AdminLogin() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html; charset=utf-8");
HttpSession session = request.getSession();
AdminuserDao adminuserDao = new AdminuserDaoImpl();
RecordDao recordDao = new RecordDaoImpl();
String adminname = request.getParameter("adminname");
String adminpass = request.getParameter("adminpass");
String code = request.getParameter("code");
/*表单数据保存至request作用域*/
request.setAttribute("adminname", adminname);
request.setAttribute("adminpass", adminpass);
request.setAttribute("code", code);
/*表单数据规范性的服务器端验证*/
String mess = validateForm(adminname, adminpass, code);
if (!"".equals(mess)){
request.setAttribute("adminLoginMess", mess);
request.getRequestDispatcher("/manage.jsp").forward(request, response);
}else {
String sessioncode = session.getAttribute("sessioncode").toString();
if (!code.equals(sessioncode)) {
request.setAttribute("adminLoginMess", "* 验证码错误!");
request.getRequestDispatcher("/manage.jsp").forward(request, response);
}else {
Adminuser adminuser = adminuserDao.validateLogin(adminname, Encrypt.SHA(adminpass));
if (adminuser == null) {
request.setAttribute("adminLoginMess", "* 用户名或密码输入错误!");
request.getRequestDispatcher("/manage.jsp").forward(request, response);
}else {
Record record = new Record();
record.setLogname(adminuser.getAdminname());
record.setUsergroup(adminuser.getAdmingroup());
record.setLogip(request.getRemoteAddr());
if (recordDao.add(record) != 0) {
session.setAttribute("adminuser", adminuser);
response.sendRedirect(request.getContextPath() + "/admin/state.jsp");
} else {
request.setAttribute("adminLoginMess", "* 登录异常!");
request.getRequestDispatcher("/manage.jsp").forward(request, response);
}
}
}
}
}
private String validateForm(String adminname,String adminpass,String code){
if (adminname == null || !adminname.matches("\\w{6,20}")){
return "* 用户名错误!";
}else if (adminpass == null || !adminpass.matches("\\w{6,20}")) {
return "* 密码错误!";
}else if (code == null || !code.matches("\\d{4}")) {
return "* 验证码错误!";
}
return "";
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
JAdminCardNum
package com.tjzhic.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.tjzhic.dao.RecordDao;
import com.tjzhic.dao.impl.MajorDaoImpl;
import com.tjzhic.dao.impl.RecordDaoImpl;
import com.tjzhic.dao.impl.ReginfoDaoImpl;
import com.tjzhic.entity.Major;
import com.tjzhic.entity.Reginfo;
import com.tjzhic.entity.School;
import com.tjzhic.entity.SupGrade;
import com.tjzhic.util.PageModel;
public class JAdminCardNum extends HttpServlet {
/**
* Constructor of the object.
*/
public JAdminCardNum() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
this.doPost(request, response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to
* post.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
int pageSize = request.getParameter("pageSize") == null ? 5 : Integer
.parseInt(request.getParameter("pageSize").toString());
int pageNo = request.getParameter("pageNo") == null ? 1 : Integer
.parseInt(request.getParameter("pageNo").toString());
RecordDao recordDao = new RecordDaoImpl();
String method = request.getParameter("action");
if (method != null && method.equals("assign")) {
ReginfoDaoImpl reginfoDao = new ReginfoDaoImpl();
ArrayList<Reginfo> array = reginfoDao.findAll();
Map<String, Integer> map = new HashMap<String, Integer>();
School school = (School) this.getServletContext().getAttribute(
"school");
ArrayList<Major> majors = (ArrayList<Major>) this
.getServletContext().getAttribute("majors");
String shoolCode = school.getShcode();
String year = school.getShyear();
String testcardnum = year + shoolCode;
for (Major major : majors) {
map.put(major.getMname(), 1);
}
for (Reginfo reg : array) {
MajorDaoImpl majorimp = new MajorDaoImpl();
if (reg.getIsconfirm() == 0)
continue;
String tempMajor = reg.getMname();
int tempNum = (Integer) map.get(tempMajor);
map.put(tempMajor, tempNum + 1);
testcardnum = testcardnum + majorimp.getByName(tempMajor)
+ tempNum;
reginfoDao.addCode(reg.getUsername(), testcardnum);
}
}
PageModel<Reginfo> pm = recordDao.pageReginfo(pageSize, pageNo);
pm.setPageNav(request.getRequestURI());
request.setAttribute("pm", pm);
request.getRequestDispatcher("/jadmin/assignnum.jsp").forward(request,
response);
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException
* if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
JAdminGradeInput
package com.tjzhic.servlet;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import com.tjzhic.dao.RecordDao;
import com.tjzhic.dao.impl.GradeDaoImpl;
import com.tjzhic.dao.impl.RecordDaoImpl;
import com.tjzhic.entity.Grade;
import com.tjzhic.entity.SupGrade;
import com.tjzhic.util.PageModel;
public class JAdminGradeInput extends HttpServlet {
/**
* Constructor of the object.
*/
public JAdminGradeInput() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
int pageSize = request.getParameter("pageSize") == null ? 5 : Integer.parseInt(request.getParameter("pageSize").toString());
int pageNo = request.getParameter("pageNo") == null ? 1 : Integer.parseInt(request.getParameter("pageNo").toString());
HttpSession session = request.getSession();
RecordDao recordDao = new RecordDaoImpl();
System.out.println(pageNo);
PageModel<SupGrade> pm = recordDao.pageByLogname(pageSize, pageNo);
pm.setPageNav(request.getRequestURI());
File file = (File)request.getAttribute("file1");
if(file != null){
try {
GradeDaoImpl gradeImpl = new GradeDaoImpl();
Workbook workbook = Workbook.getWorkbook(file);
Sheet sheet = workbook.getSheet(0);
for(int row = 2;row < sheet.getRows()-1;row++){
SupGrade supgrade = new SupGrade();
supgrade.setTestcardnum(sheet.getCell(1,row).getContents().trim());
supgrade.setSname(sheet.getCell(2,row).getContents().trim());
supgrade.setCname(sheet.getCell(3,row).getContents().trim());
supgrade.setScore(Integer.parseInt(sheet.getCell(4,row).getContents().trim()));
supgrade.setNote(sheet.getCell(5,row).getContents().trim());
gradeImpl.gradeAdd(supgrade);
}
} catch (BiffException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
request.setAttribute("pm", pm);
request.getRequestDispatcher("/jadmin/grade.jsp").forward(request, response);
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
如果也想学习本系统,下面领取。关注并回复:114jsp