1、jsp版学生成绩管理系统课程设计报告java语言程序设计课程设计报告设计题目:学生成绩管理系统班级:计算机四班 学号:*报告人姓名:蔺天震*实验地点:东校区机房完成起止日期:2010-2011学年第二学期16周 2、各模块的测试结果 22学生成绩管理系统设计报告一、引言1.1 课程设计目的(1) 复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;(2) 课程设计为我们提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼我们的分析解决实际问题的能力,提高学生适应实际,实践编程的能力; (3) 培养我们在项目开发中团队合作精神,创新意识及能力。
2、1.2 题目说明一个学生成绩管理系统,能够实现对学生、老师基本信息、课程信息、成绩信息的管理。学生端:能够实现查看自己的成绩、排名、选课信息等; 老师端:能够让老师查看学生的信息、查看学生的成绩、输入学生的成绩;管理员端:能够实现对学生和老师的综合管理,能查看所有的学生、老师的基本信息和课程信息,能够添加、修改老师学生的课程信息和密码等。二、功能规划1学生的需求 (1) 在第一时间查询自己所有的成绩(自己的平时成绩、卷面成绩、总成绩) (2) 查询某一科成绩(3)查询自己的上课信息及选课信息(4)修改登录密码2老师的需求 (1) 查询某一学生的所有成绩(平均成绩,总成绩) (2) 查询某一学生
3、某一科成绩,该科平均成绩,所在名次,最高成绩,最低成绩 (3) 查询某一班级的成绩(所有成绩,某一学期的所有成绩,某一学期的某一科目的所有成绩)(4) 对某一科成绩进行统计(及格人数,及格率,不及格人数,不及格率,优秀人数,优秀率,某一分数段的人数)(5) 录入考试成绩和补考成绩(自己所教授的那一科成绩)(6) 查询自己的上课信息 (7) 修改登录密码3管理员的需求(1) 查询某一学生的所有成绩(平均成绩,总成绩)(2) 查询某一学生某一科成绩,该科平均成绩,所在名次,最高成绩,最低成绩(3) 查询某一班级的成绩(所有成绩,某一学期的所有成绩,某一学期的某一科目的所有成绩)(4) 对某一科成绩
4、进行统计(及格人数,及格率,不及格人数,不及格率,优秀人数,优秀率,某一分数段的人数)(5) 录入成绩和修改成绩(6) 对学生和老师进行管理(7) 数据库管理三、具体设计本系统MVC三层模式进行开发,使模型,视图和控制分开,业务逻辑和显示分开,这样有利于错误的查找和系统的升级。 该系统适用于各个学校,其功能主要为: 成绩管理:用于对成绩的录入、修改、汇总、排名以及查询等操作。系统框图:1、数据库设计:数据库中共有老师、学生、管理员、课程、老师课程信息、学生课程信息六张表,分别如下: 学生信息:老师信息: 老师课程信息:连接数据库的类设计如下:package DateBase;import ja
5、va.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class DbUtile public Connection connection = null; public ResultSet resultSet = null; public Statement statement = null; private String Db_Driver = com.mysql.jdbc.D
6、river; private String Db_url = jdbc:mysql:/localhost:3306/studentmanagesystem; private String Db_user = root; private String Db_password = sa; public DbUtile() /构造方法 连接数据库 try Class.forName(Db_Driver); connection = DriverManager.getConnection(Db_url,Db_user,Db_password); statement = connection.creat
7、eStatement( ); catch(java.lang.ClassNotFoundException e) System.out.println(加载驱动器有错误: + e.getMessage( ); catch(SQLException e) System.out.println(连接数据库有错误: + e.getMessage( ); public int executeInsert(String sql) /插入记录 int num = 0; System.out.println(sql); try num = statement.executeUpdate(sql); catc
8、h(SQLException ex) System.out.println(执行插入有错误: + ex.getMessage() ); return num; public ResultSet executeQuery(String sql) / 查询记录 resultSet = null; try resultSet = statement.executeQuery(sql); catch(SQLException ex) System.out.println(执行查询有错误: + ex.getMessage() ); return resultSet; public int execute
9、Delete(String sql) /删除记录 int num = 0; try num = statement.executeUpdate(sql); catch(SQLException ex) System.out.println(执行删除有错误: + ex.getMessage() ); return num; public int executeUpdate(String sql) /更改记录 int num = 0; try num=statement.executeUpdate(sql); catch(SQLException ex) System.out.println(执行
10、修改有错误: + ex.getMessage() ); return num; public void close() /关闭Connection对象 try if (resultSet != null) resultSet.close(); statement.close(); connection.close(); catch(Exception end) System.out.println(执行关闭Connection对象有错误: + end.getMessage( ) ); 2、程序界面设计:通过程序的要求可知该程序有jsp页面或Html页面以及servlet组成。Jsp主要负责与用
11、户的交互实现视图页面的功能,而servlet主要负责页面跳转控制以及数据处理的功能。由实验的要求具体的实验设计如下:A、用户通过一个登陆页面,输入用户名、密码,然后该jsp页面将请求发送给处理用户身份验证的servlet,该servlet获取数据库的信息进行校验,如果用户的身份合法则跳转到应用程序的主界面,否则给出错误的提示信息,并且要求用户重新输入用户名和密码重新登陆。登陆页面的设计图如下所示:B、对于程序的主界面主要实现对于用户需要的导航功能以及实现具体的操作功能。该程序的主界面主要有三个Html的Framset构成,分别为topFrame,leftFrame,mainFrame组成,le
12、ftFrame主要实现程序的导航,而mainFrame具体的实现程序的功能。主界面设计界面如下:老师登录成功界面学生登录成功界面管理员登录成功界面:C、具体的功能设计如下:1、学生的功能:(1)、查询个人成绩(2)、查询课程:(3)、修改密码2、老师的功能:(1)、查询学生成绩:(2)、录入学生成绩;(3)、查看课程信息:3、管理员功能:(1)、老师信息管理:(2)、学生信息管理;(3)、课程信息管理:3、servlet设计:因为本程序应用的servlet较多,所以这里只简单介绍几个(1)、LoginServlet 登录控制package servlet;import java.io.IOEx
13、ception;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 DAO.ManageDAO;import DAO.StudentDAO;import DAO.TeacherDAO;import DAOImpl.ManageD
14、AOImpl;import DAOImpl.StudentDAOImpl;import DAOImpl.TeacherDAOImpl;import Date.Manage;import Date.Student;import Date.Teacher;public class LoginServlet extends HttpServlet public LoginServlet() super(); public void destroy() super.destroy(); / Just puts destroy string in log / Put your code here pub
15、lic void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(utf-8) ; response.setContentType(text/html); int n = Integer.parseInt(request.getParameter(n); String id = request.getParameter(id); String password = request.ge
16、tParameter(password); boolean b = false; if(n = 1) StudentDAO sd = new StudentDAOImpl(); b = sd.login(id, password); if(b) HttpSession session = request.getSession(); session.setAttribute(id, id); session.setAttribute(identity, 1); Student stu = sd.queryByID(id); session.setAttribute(stu, stu); resp
17、onse.sendRedirect(main.html); else response.sendRedirect(error.jsp); else if(n = 2) TeacherDAO td = new TeacherDAOImpl(); b = td.login(id, password); if(b) HttpSession session = request.getSession(); session.setAttribute(identity, 2); session.setAttribute(id, id); Teacher tea = td.queryByID(id); ses
18、sion.setAttribute(tea, tea); response.sendRedirect(tea_main.html); else response.sendRedirect(error.jsp); else ManageDAO td = new ManageDAOImpl(); b = td.login(id, password); if(b) HttpSession session = request.getSession(); session.setAttribute(identity, 3); session.setAttribute(id, id); Manage man
19、 = td.queryByID(id); session.setAttribute(man, man); response.sendRedirect(man_main.html); else response.sendRedirect(error.jsp); public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doGet(request, response); public void init() throws Serv
20、letException / Put your code here (2)、InsertServlet 输入学生成绩package servlet;import java.io.IOException;import java.io.PrintWriter;import java.util.Vector;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.H
21、ttpServletResponse;import javax.servlet.http.HttpSession;import DAO.TeacherDAO;import DAOImpl.TeacherDAOImpl;public class InputServlet extends HttpServlet public InputServlet() super(); public void destroy() super.destroy(); / Just puts destroy string in log / Put your code here public void doGet(Ht
22、tpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(utf-8) ; response.setContentType(text/html); HttpSession session = request.getSession(); String courseid = request.getParameter(courseid); String id = (String)session.getAttribut
23、e(id); int n = Integer.parseInt(String)session.getAttribute(len); String grade1; String grade2; String grade; TeacherDAO td = new TeacherDAOImpl(); for(int i = 0;i n;i+) grade1 = request.getParameter(grade1+(i+1); grade2 = request.getParameter(grade2+(i+1); grade = request.getParameter(grade+(i+1);
24、String stuid = request.getParameter(stuid+(i+1); td.inputGrade(grade1, grade2, courseid, stuid, grade); td.ranking(courseid, id); td.changeFinish(id, courseid); this.getServletConfig().getServletContext().getRequestDispatcher(/input_success.html).forward(request,response); public void doPost(HttpSer
25、vletRequest request, HttpServletResponse response) throws ServletException, IOException doGet(request, response); public void init() throws ServletException / Put your code here (3)、DeleteServlet 删除控制package servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletEx
26、ception;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import DAO.ManageDAO;import DAO.StudentDAO;import DAO.TeacherDAO;import DAOImpl.ManageDAOImpl;import DAOImpl.StudentDAOImpl;import DAOImpl.TeacherDAOImpl;import Da
27、te.Student;import Date.Teacher;public class DelectServlet extends HttpServlet private static final long serialVersionUID = 1L; public DelectServlet() super(); public void destroy() super.destroy(); / Just puts destroy string in log / Put your code here public void doGet(HttpServletRequest request, H
28、ttpServletResponse response) throws ServletException, IOException doPost(request, response); public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(utf-8) ; response.setContentType(text/html); String parameter = request.getParameter(parameter); if(parameter.equals(1) String stuid = request.getParameter(stuid); StudentDAO sd = new StudentDAOImpl(); St
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1