——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明







基于javaweb的JSP+Servlet学生选课管理系统(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
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,然后运行; 3. 将项目中news.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,在浏览器中输入localhost:8080/jsp_zxmszssys 管理员账号/密码:admin/123456 老师账号/密码:zhangping/123456 学生账号/密码:0001/123456
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
@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); } }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| public class PermissionFilter implements Filter {
public static String excludeString ; @Override public void init(FilterConfig filterConfig) throws ServletException { excludeString = filterConfig.getInitParameter("exclude"); }
@Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest httpServletRequest = (HttpServletRequest)request; HttpServletResponse httpServletResponse = (HttpServletResponse)response; Object user = httpServletRequest.getSession().getAttribute("user"); String uri = httpServletRequest.getRequestURI(); if(isExist(uri) || uri.equals(httpServletRequest.getContextPath()+"/")) { chain.doFilter(httpServletRequest, httpServletResponse); }else { if(user != null) { chain.doFilter(httpServletRequest, httpServletResponse); }else { httpServletResponse.sendRedirect("noprivilige.jsp"); } } } public static boolean isExist(String uri) { String[] arr = excludeString.split(","); boolean flag = false; for (String string : arr) { if(uri.endsWith(string)) { flag = true; } } return flag; }
@Override public void destroy() {
}
} package com.hua.servlet;
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| }else if("submit".equals(method)) { this.submit(request, response); }else if("tc".equals(method)) { this.teacher_course(request, response); }else if("cs".equals(method)) { this.course_student(request, response); }else if("score_submit".equals(method)) { this.score_submit(request, response); } }
private void score_submit(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Integer cId = getIntParameter(request, "cId"); String[] stuIdArr = request.getParameterValues("stuId"); String[] scoreArr = request.getParameterValues("score"); try { DaoFactory.getInstance().getScDao().update(stuIdArr, scoreArr, cId); response.sendRedirect(PathUtils.getBasePath(request)+"sc?method=cs&cId="+cId+"&msg=1"); } catch (SQLException e) { response.sendRedirect(PathUtils.getBasePath(request)+"sc?method=cs&cId="+cId+"&msg=0"); e.printStackTrace(); } }
private void course_student(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Integer cId = getIntParameter(request, "cId"); try { List<Student> list = DaoFactory.getInstance().getScDao().listStudentByCId(cId); request.setAttribute("list", list); request.setAttribute("cId", cId); request.getRequestDispatcher("page/sc/course_student.jsp").forward(request, response); } catch (SQLException e) { e.printStackTrace(); } }
private void teacher_course(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
@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);
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| request.getRequestDispatcher("page/sc/query_teacher.jsp").forward(request, response);
} catch (SQLException e) { e.printStackTrace(); } }
public void query_range(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try { List<Map<String, Object>> list = DaoFactory.getInstance().getScDao().query_range(); request.setAttribute("list", list); request.getRequestDispatcher("page/sc/query_range.jsp").forward(request, response);
} catch (SQLException e) { e.printStackTrace(); } }
public void query_jgl(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { List<Map<String, Object>> list = DaoFactory.getInstance().getScDao().query_jgl(); request.setAttribute("list", list); request.getRequestDispatcher("page/sc/query_jgl.jsp").forward(request, response); } catch (SQLException e) { e.printStackTrace(); } }
} package com.hua.utils;
@WebFilter(urlPatterns= {"/*"},initParams= { @WebInitParam(name="exclude",value="/login.jsp,/login,/noprivilige.jsp,.css,.png,.jpg,.js") }) public class PermissionFilter implements Filter {
public static String excludeString ;
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| 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().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));
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=581122572008200ul
https://javayms.pages.dev?id=581122572008200ul