1 项目视频
DC041基于Java web+MySQL学生成绩管理系统web成绩管理系统MySQL项目学生成绩管理系统
2 项目功能
学生成绩管理系统分为学生、教师、系统管理员三个角色
2.1 学生功能
系统登录、成绩查看、学生信息查看、个人信息管理
2.2 教师功能
系统登录、成绩登记、成绩统计、教师信息查看、个人信息管理
2.3 系统管理员功能
系统登录、成绩统计管理、学生信息管理、教师信息管理、基础信息管理、年级管理、班级管理、课程管理、系统管理、学校名称管理、禁止登录系统管理、通知管理
3 项目部分截图
4 项目压缩包
5 项目部分代码
5.1 登录模块
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 验证码
* @author java
*
*/
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private SystemService service = new SystemService();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取请求的方法
String method = request.getParameter("method");
if("GetVCode".equalsIgnoreCase(method)){
getVCode(request, response);
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取请求的方法
String method = request.getParameter("method");
if("Login".equals(method)){ //验证登录
login(request, response);
}
}
/**
* 验证用户登录
* @param request
* @param response
* @throws IOException
*/
private void login(HttpServletRequest request, HttpServletResponse response) throws IOException {
//获取用户输入的账户
String account = request.getParameter("account");
//获取用户输入的密码
String password = request.getParameter("password");
//获取用户输入的验证码
String vcode = request.getParameter("vcode");
//获取登录类型
int type = Integer.parseInt(request.getParameter("type"));
//返回信息
String msg = "";
//获取session中的验证码
String sVcode = (String) request.getSession().getAttribute("vcode");
if(!sVcode.equalsIgnoreCase(vcode)){//先判断验证码是否正确
msg = "vcodeError";
} else{ //判断用户名和密码是否正确
//将账户和密码封装
User user = new User();
user.setAccount(account);
user.setPassword(password);
user.setType(Integer.parseInt(request.getParameter("type")));
//创建系统数据层对象
//查询用户是否存在
User loginUser = service.getAdmin(user);
if(loginUser == null){//如果用户名或密码错误
msg = "loginError";
} else{ //正确
if(User.USER_ADMIN == type){
msg = "admin";
} else if(User.USER_STUDENT == type){
msg = "student";
} else if(User.USER_TEACHER == type){
msg = "teacher";
}
//将该用户名保存到session中
request.getSession().setAttribute("user", loginUser);
}
}
//返回登录信息
response.getWriter().write(msg);
}
/**
* 获取验证码
* @param request
* @param response
* @throws IOException
*/
private void getVCode(HttpServletRequest request, HttpServletResponse response) throws IOException {
//创建验证码生成器对象
VCodeGenerator vcGenerator = new VCodeGenerator();
//生成验证码
String vcode = vcGenerator.generatorVCode();
//将验证码保存在session域中,以便判断验证码是否正确
request.getSession().setAttribute("vcode", vcode);
//生成验证码图片
BufferedImage vImg = vcGenerator.generatorRotateVCodeImage(vcode, true);
//输出图像
ImageIO.write(vImg, "gif", response.getOutputStream());
}
}
5.2 系统管理模块
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileUploadException;
/**
* 系统类
* @author java
*
*/
public class SystemServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private SystemService service = new SystemService();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取请求的方法
String method = request.getParameter("method");
if("LoginOut".equals(method)){ //退出系统
loginOut(request, response);
} else if("toAdminView".equalsIgnoreCase(method)){ //到管理员界面
request.getRequestDispatcher("/WEB-INF/view/admin/admin.jsp").forward(request, response);
} else if("toStudentView".equals(method)){ //到学生界面
request.getRequestDispatcher("/WEB-INF/view/student/student.jsp").forward(request, response);
} else if("toTeacherView".equals(method)){ //到教师界面
request.getRequestDispatcher("/WEB-INF/view/teacher/teacher.jsp").forward(request, response);
} else if("toAdminPersonalView".equals(method)){ //到系统管理员系统设置界面
request.getRequestDispatcher("/WEB-INF/view/admin/adminPersonal.jsp").forward(request, response);
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取请求的方法
String method = request.getParameter("method");
if("AllAccount".equalsIgnoreCase(method)){ //获取所有账号
allAccount(request, response);
} else if("EditPasswod".equals(method)){ //修改密码
editPasswod(request, response);
} else if("EditSystemInfo".equals(method)){ //修改系统信息
editSystemInfo(request, response);
}
}
private void editSystemInfo(HttpServletRequest request, HttpServletResponse response) throws IOException {
String name = request.getParameter("name");
String value = request.getParameter("value");
SystemInfo sys = service.editSystemInfo(name, value);
//放到域中
request.getServletContext().setAttribute("systemInfo", sys);
response.getWriter().write("success");
}
private void editPasswod(HttpServletRequest request, HttpServletResponse response) throws IOException {
User user = new User();
user.setAccount(request.getParameter("account"));
user.setPassword(request.getParameter("password"));
service.editPassword(user);
response.getWriter().write("success");
}
/**
* 退出系统
* @param request
* @param response
* @throws IOException
* @throws ServletException
*/
private void loginOut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//退出系统时清除系统登录的用户
request.getSession().removeAttribute("user");
String contextPath = request.getContextPath();
//转发到登录界面
response.sendRedirect(contextPath+"/index.jsp");
}
private void allAccount(HttpServletRequest request, HttpServletResponse response) throws IOException {
String result = service.getAccountList();
//返回数据
response.getWriter().write(result);
}
}
5.3 系统初始化
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
/**
* 系统初始化
* @author java
*
*/
public class SystemInitListener implements ServletContextListener {
public SystemInitListener() {
}
public void contextInitialized(ServletContextEvent sce) {
ServletContext application = sce.getServletContext();
//获取系统初始化对象
SystemInfo sys = (SystemInfo) new BaseDaoImpl().getObject(SystemInfo.class, "SELECT * FROM sys", null);
//放到域中
application.setAttribute("systemInfo", sys);
}
public void contextDestroyed(ServletContextEvent sce) {
}
}
6 源码获取方式
通过添加名片,可获取项目资源文件