基于javaweb的学生选课管理系统(java+servlet+jsp+javascript+mysql)

基于javaweb的学生选课管理系统(java+servlet+jsp+javascript+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

20220819210722

20220819210723

20220819210724

20220819210725

20220819210726

20220819210727

20220819210729

基于javaweb+mysql的学生选课管理系统(java+Servlet+JSP+JavaScript+Mysql)

项目介绍

学生选课系统,有学生、老师、管理员三种角色。 学生端权限

学生登录系统 选择课程并提交确认 各科成绩查询 总成绩查询 成绩排名、各科成绩排名

老师端权限

登录系统 课程管理(实现对课程的CURD) 考试成绩录入 各种查询(学生的单科成绩、总成绩、排名) 各种统计(统计及格率、统计80分以上的同学等)

管理端权限

登录系统 实现对学生的CURD 实现对老师的CURD 实现各种查询、统计

学完这个项目后的收获:

掌握项目开发的流程 掌握开发中的简单权限控制 掌握前端页面如何与后端整合 宏观把握一个项目 掌握echarts图表技术

环境需要

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项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目

技术栈

前端基础(Html、css、JavaScript、Jquery) mysql数据库 Web容器(Tomcat) Jsp/Servlet

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,然后运行; 3. 将项目中news.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,在浏览器中输入localhost:8080/jsp_zxmszssys 管理员账号/密码:admin/123456 老师账号/密码:zhangping/123456 学生账号/密码:0001/123456

学生管理控制层:

@WebServlet(“/student”)

public class StudentServlet extends HttpServlet {

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

System.out.println(“StudentServlet==”);

doPost(req, resp);

@Override

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String method = request.getParameter(“method”);

if(“list”.equals(method)) {

this.list(request, response);

}else if(“add”.equals(method)) {

this.add(request, response);

}else if(“edit”.equals(method)) {

this.findById(request, response);

}else if(“editsubmit”.equals(method)) {

this.editsubmit(request, response);

}else if(“delete”.equals(method)) {

this.delete(request, response);

}else if(“detail”.equals(method)) {

this.detail(request, response);

private void delete(HttpServletRequest request, HttpServletResponse response) {

String id = request.getParameter(“id”);

try {

DaoFactory.getInstance().getStudentDao().delete(Integer.parseInt(id));

//直接重定向到列表页面

response.sendRedirect(PathUtils.getBasePath(request)+“student?method=list”);

} catch (Exception e) {

e.printStackTrace();

private void editsubmit(HttpServletRequest request, HttpServletResponse response) {

Integer stuId = Integer.parseInt(request.getParameter(“stuId”));

String stuNo = request.getParameter(“stuNo”);

String stuName = request.getParameter(“stuName”);

Student student = new Student();

student.setStuName(stuName);

student.setStuNo(stuNo);

student.setStuId(stuId);

try {

DaoFactory.getInstance().getStudentDao().update(student);

//直接重定向到列表页面

response.sendRedirect(PathUtils.getBasePath(request)+“student?method=list”);

} catch (SQLException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

private void findById(HttpServletRequest request, HttpServletResponse response) {

String id = request.getParameter(“id”);

try {

Student student = DaoFactory.getInstance().getStudentDao().findById(Integer.parseInt(id));

request.setAttribute(“student”, student);

request.getRequestDispatcher(“page/student/update.jsp”).forward(request, response);

} catch (Exception e) {

e.printStackTrace();

private void detail(HttpServletRequest request, HttpServletResponse response) {

Student entity = (Student)request.getSession().getAttribute(“user”);

try {

Student student = DaoFactory.getInstance().getStudentDao().findById(entity.getStuId());

List list = DaoFactory.getInstance().getScDao().listByStuId(entity.getStuId());

request.setAttribute(“student”, student);

for(Sc sc:list) {

Course c = DaoFactory.getInstance().getCourseDao().findById(sc.getcId());

sc.setcName(c.getcName());

request.setAttribute(“list”, list);

request.getRequestDispatcher(“page/student/detail.jsp”).forward(request, response);

} catch (Exception e) {

e.printStackTrace();

private void add(HttpServletRequest request, HttpServletResponse response) {

String stuNo = request.getParameter(“stuNo”);

String stuName = request.getParameter(“stuName”);

String stuPwd = request.getParameter(“stuPwd”);

Student student = new Student();

student.setStuName(stuName);

student.setStuNo(stuNo);

student.setStuPwd(MD5.encrypByMd5(MD5.encrypByMd5(stuPwd)));

try {

DaoFactory.getInstance().getStudentDao().add(student);

//直接重定向到列表页面

response.sendRedirect(PathUtils.getBasePath(request)+“student?method=list”);

} catch (SQLException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

private void list(HttpServletRequest request, HttpServletResponse response) {

//当前页码

Integer pageNo = getIntParameter(request, “pageNo”);

Integer stuId = getIntParameter(request, “stuId”);

String stuName = request.getParameter(“stuName”);

String stuNo = request.getParameter(“stuNo”);

Student student = new Student();

student.setStuId(stuId);

student.setStuName(stuName);

student.setStuNo(stuNo);

//构造了一个pageInfo对象

PageInfo pageInfo = new PageInfo<>(pageNo);

try {

pageInfo = DaoFactory.getInstance().getStudentDao().list(student,pageInfo);

} catch (SQLException e1) {

e1.printStackTrace();

try {

request.setAttribute(“pageInfo”, pageInfo);

//回写到页面

request.setAttribute(“student”, student);

request.getRequestDispatcher(“page/student/list.jsp”).forward(request, response);

} catch (Exception e) {

e.printStackTrace();

public Integer getIntParameter(HttpServletRequest request,String name) {

if(StringUtils.isNoneBlank(request.getParameter(name))) {

return Integer.parseInt(request.getParameter(name));

}else {

return null;

教师管理控制层:

@WebServlet(“/teacher”)

public class TeacherServlet extends HttpServlet {

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

doPost(req, resp);

@Override

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String method = request.getParameter(“method”);

if(“list”.equals(method)) {

this.list(request, response);

}else if(“add”.equals(method)) {

this.add(request, response);

}else if(“edit”.equals(method)) {

this.findById(request, response);

}else if(“editsubmit”.equals(method)) {

this.editsubmit(request, response);

}else if(“delete”.equals(method)) {

this.delete(request, response);

private void delete(HttpServletRequest request, HttpServletResponse response) {

String id = request.getParameter(“id”);

try {

DaoFactory.getInstance().getTeacherDao().delete(Integer.parseInt(id));

//直接重定向到列表页面

response.sendRedirect(PathUtils.getBasePath(request)+“teacher?method=list”);

} catch (Exception e) {

e.printStackTrace();

private void editsubmit(HttpServletRequest request, HttpServletResponse response) {

Integer tId = Integer.parseInt(request.getParameter(“tId”));

String tName = request.getParameter(“tName”);

String userName = request.getParameter(“userName”);

Teacher teacher = new Teacher();

teacher.settId(tId);

teacher.settName(tName);

teacher.setUserName(userName);

try {

DaoFactory.getInstance().getTeacherDao().update(teacher);

//直接重定向到列表页面

response.sendRedirect(PathUtils.getBasePath(request)+“teacher?method=list”);

} catch (SQLException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

private void findById(HttpServletRequest request, HttpServletResponse response) {

String id = request.getParameter(“id”);

try {

Teacher teacher = DaoFactory.getInstance().getTeacherDao().findById(Integer.parseInt(id));

request.setAttribute(“teacher”, teacher);

request.getRequestDispatcher(“page/teacher/update.jsp”).forward(request, response);

} catch (Exception e) {

e.printStackTrace();

private void add(HttpServletRequest request, HttpServletResponse response) {

String tName = request.getParameter(“tName”);

String userName = request.getParameter(“userName”);

String pwd = request.getParameter(“pwd”);

Teacher teacher = new Teacher();

teacher.setUserName(userName);

teacher.settName(tName);

teacher.setPwd(MD5.encrypByMd5(MD5.encrypByMd5(pwd)));

try {

DaoFactory.getInstance().getTeacherDao().add(teacher);

//直接重定向到列表页面

response.sendRedirect(PathUtils.getBasePath(request)+“teacher?method=list”);

} catch (SQLException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

private void list(HttpServletRequest request, HttpServletResponse response) {

//当前页码

Integer pageNo = getIntParameter(request, “pageNo”);

//查询条件

Integer tId = getIntParameter(request, “tId”);

String tName = request.getParameter(“tName”);

String userName = request.getParameter(“userName”);

Teacher teacher = new Teacher();

teacher.setUserName(userName);

teacher.settName(tName);

teacher.settId(tId);

//构造了一个pageInfo对象

PageInfo pageInfo = new PageInfo<>(pageNo);

try {

pageInfo = DaoFactory.getInstance().getTeacherDao().list(teacher,pageInfo);

} catch (SQLException e1) {

e1.printStackTrace();

try {

request.setAttribute(“pageInfo”, pageInfo);

//回写到页面

request.setAttribute(“teacher”, teacher);

request.getRequestDispatcher(“page/teacher/list.jsp”).forward(request, response);

} catch (Exception e) {

e.printStackTrace();

public Integer getIntParameter(HttpServletRequest request,String name) {

if(StringUtils.isNoneBlank(request.getParameter(name))) {

return Integer.parseInt(request.getParameter(name));

}else {

return null;

登录管理控制层:

@WebServlet(“/login”)

public class LoginServlet extends HttpServlet {

@Override

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

String userName = req.getParameter(“userName”);

String password = req.getParameter(“password”);

String type = req.getParameter(“type”);

if(StringUtils.isBlank(userName) || StringUtils.isBlank(password) || StringUtils.isBlank(type)) {

req.setAttribute(“error”, “录入信息不能为空!”);

req.getRequestDispatcher(“login.jsp”).forward(req, resp);

return;

HttpSession session = req.getSession();

if(StringUtils.isNotBlank(type)) {

try {

if(“0”.equals(type)) {

//学生登录验证

Student student = DaoFactory.getInstance().getStudentDao().login(userName, MD5.encrypByMd5(MD5.encrypByMd5(password)));

if(student != null) {

session.setAttribute(“user”, student);

session.setAttribute(“type”, type);

resp.sendRedirect(“index.jsp”);

}else {

req.setAttribute(“error”, “用户名或密码错误!”);

req.getRequestDispatcher(“login.jsp”).forward(req, resp);

}else if(“1”.equals(type)) {

//老师登录验证

Teacher teacher = DaoFactory.getInstance().getTeacherDao().login(userName, MD5.encrypByMd5(MD5.encrypByMd5(password)));

if(teacher != null) {

session.setAttribute(“user”, teacher);

session.setAttribute(“type”, type);

resp.sendRedirect(“index.jsp”);

}else {

req.setAttribute(“error”, “用户名或密码错误!”);

req.getRequestDispatcher(“login.jsp”).forward(req, resp);

}else {

//管理员登录验证

Admin admin = new Admin();

admin.setUserName(userName);

admin.setPwd(MD5.encrypByMd5(MD5.encrypByMd5(password)));

Admin entity = DaoFactory.getInstance().getAdminDao().login(admin);

if(entity != null) {

//执行跳转

session.setAttribute(“user”, entity);

session.setAttribute(“type”, type);

resp.sendRedirect(“index.jsp”);

}else {

//用户或密码错误!!

req.setAttribute(“error”, “用户名或密码错误!”);

req.getRequestDispatcher(“login.jsp”).forward(req, resp);

} catch (SQLException e) {

e.printStackTrace();

}else {


  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值