jsp版学生成绩管理系统课程设计报告_第1页
jsp版学生成绩管理系统课程设计报告_第2页
jsp版学生成绩管理系统课程设计报告_第3页
jsp版学生成绩管理系统课程设计报告_第4页
jsp版学生成绩管理系统课程设计报告_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 . . . java语言程序设计课程设计报告设计题目:学生成绩管理系统班级:计算机四班 学号:20104777报告人:蔺天震指导老师: 费老师实验地点:东校区机房完成起止日期:2010-2011学年第二学期16周25 / 25目录一、引言2二、功能规划31学生的需求32老师的需求33管理员的需求3三、具体设计41、数据库设计:42、程序界面设计:83、servlet设计:12四、程序测试221、测试项目22 2、各模块的测试结果22五、课程设计感想22六、总结23学生成绩管理系统设计报告一、引言1.1 课程设计目的(1) 复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握

2、;(2) 课程设计为我们提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼我们的分析解决实际问题的能力,提高学生适应实际,实践编程的能力; (3) 培养我们在项目开发中团队合作精神,创新意识与能力。1.2 题目说明一个学生成绩管理系统,能够实现对学生、老师基本信息、课程信息、成绩信息的管理。学生端:能够实现查看自己的成绩、排名、选课信息等; 老师端:能够让老师查看学生的信息、查看学生的成绩、输入学生的成绩;管理员端:能够实现对学生和老师的综合管理,能查看所有的学生、老师的基本信息和课程信息,能够添加、修改老师学生的课程信息和密码等。二、功能规划1学生的需求(1

3、) 在第一时间查询自己所有的成绩(自己的平时成绩、卷面成绩、总成绩)(2) 查询某一科成绩(3) 查询自己的上课信息与选课信息(4) 修改登录密码2老师的需求(1) 查询某一学生的所有成绩(平均成绩,总成绩)(2) 查询某一学生某一科成绩,该科平均成绩,所在名次,最高成绩,最低成绩(3) 查询某一班级的成绩(所有成绩,某一学期的所有成绩,某一学期的某一科目的所有成绩)(4) 对某一科成绩进行统计(与格人数,与格率,不与格人数,不与格率,优秀人数,优秀率,某一分数段的人数)(5) 录入考试成绩和补考成绩(自己所教授的那一科成绩)(6) 查询自己的上课信息(7) 修改登录密码3管理员的需求(1)

4、查询某一学生的所有成绩(平均成绩,总成绩)(2) 查询某一学生某一科成绩,该科平均成绩,所在名次,最高成绩,最低成绩(3) 查询某一班级的成绩(所有成绩,某一学期的所有成绩,某一学期的某一科目的所有成绩)(4) 对某一科成绩进行统计(与格人数,与格率,不与格人数,不与格率,优秀人数,优秀率,某一分数段的人数)(5) 录入成绩和修改成绩(6) 对学生和老师进行管理(7) 数据库管理三、具体设计本系统MVC三层模式进行开发,使模型,视图和控制分开,业务逻辑和显示分开,这样有利于错误的查找和系统的升级。该系统适用于各个学校,其功能主要为: 成绩管理:用于对成绩的录入、修改、汇总、排名以与查询等操作。

5、系统框图: 登录 管理员 老 师 学 生1、查询自己的成绩2、查询课程表3、添加选课信息1,、查询课程2、查询学生成绩3、输入学生成绩4、修改密码1、管理学生信息2、管理老师信息3、管理课程信息4、查看学生、老师信息1、数据库设计:数据库中共有老师、学生、管理员、课程、老师课程信息、学生课程信息六表,分别如下:管理员信息:课程信息:学生课程信息:学生信息:老师信息:老师课程信息:连接数据库的类设计如下:package DateBase;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultS

6、et;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 = ".mysql.jdbc.Driver" private String Db_url = "jdbc:mysql:/localhost:3306/

7、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.createStatement( ); catch(java.lang.Class

8、NotFoundException 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); catch(SQLException

9、 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 in

10、t executeDelete(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) Syst

11、em.out.println("执行修改有错误:" + 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、程序界面设计:通过程序的要求可

12、知该程序有jsp页面或Html页面以与servlet组成。Jsp主要负责与用户的交互实现视图页面的功能,而servlet主要负责页面跳转控制以与数据处理的功能。由实验的要求具体的实验设计如下:A、用户通过一个登陆页面,输入用户名、密码,然后该jsp页面将请求发送给处理用户身份验证的servlet,该servlet获取数据库的信息进行校验,如果用户的身份合法则跳转到应用程序的主界面,否则给出错误的提示信息,并且要求用户重新输入用户名和密码重新登陆。登陆页面的设计图如下所示:B、对于程序的主界面主要实现对于用户需要的导航功能以与实现具体的操作功能。该程序的主界面主要有三个Html的Framset构

13、成,分别为topFrame,leftFrame,mainFrame组成,leftFrame主要实现程序的导航,而mainFrame具体的实现程序的功能。主界面设计界面如下:老师登录成功界面学生登录成功界面管理员登录成功界面:C、具体的功能设计如下:1、 学生的功能:(1) 、查询个人成绩(2) 、查询课程:(3) 、修改密码2、 老师的功能:(1) 、查询学生成绩:(2) 、录入学生成绩;(3) 、查看课程信息:3、 管理员功能:(1) 、老师信息管理:(2) 、学生信息管理;(3) 、课程信息管理:3、servlet设计:因为本程序应用的servlet较多,所以这里只简单介绍几个(1) 、L

14、oginServlet 登录控制package servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet. . Servlet;import javax.servlet. . ServletRequest;import javax.servlet. . ServletResponse;import javax.servlet. . Session;import DAO.ManageDAO;import DAO.StudentDAO;import DAO.Teache

15、rDAO;import DAOImpl.ManageDAOImpl;import DAOImpl.StudentDAOImpl;import DAOImpl.TeacherDAOImpl;import Date.Manage;import Date.Student;import Date.Teacher;public class LoginServlet extends Servlet public LoginServlet() super();public void destroy() super.destroy(); / Just puts "destroy" stri

16、ng in log/ Put your code herepublic void doGet( ServletRequest request, ServletResponse response)throws ServletException, IOException request.setCharacterEncoding("utf-8") ;response.setContentType("text/html");int n = Integer.parseInt(request.getParameter("n");String id

17、 = request.getParameter("id");String password = request.getParameter("password");boolean b = false;if(n = 1)StudentDAO sd = new StudentDAOImpl();b = sd.login(id, password);if(b) Session session = request.getSession();session.setAttribute("id", id);session.setAttribute(&

18、quot;identity", "1");Student stu = sd.queryByID(id);session.setAttribute("stu", stu);response.sendRedirect("main.html");else response.sendRedirect("error.jsp");else if(n = 2)TeacherDAO td = new TeacherDAOImpl();b = td.login(id, password);if(b) Session ses

19、sion = request.getSession();session.setAttribute("identity", "2");session.setAttribute("id", id);Teacher tea = td.queryByID(id);session.setAttribute("tea", tea);response.sendRedirect("tea_main.html");elseresponse.sendRedirect("error.jsp");e

20、lseManageDAO td = new ManageDAOImpl();b = td.login(id, password);if(b) Session session = request.getSession();session.setAttribute("identity", "3");session.setAttribute("id", id);Manage man = td.queryByID(id);session.setAttribute("man", man);response.sendRedir

21、ect("man_main.html");elseresponse.sendRedirect("error.jsp");public void doPost( ServletRequest request, ServletResponse response)throws ServletException, IOException doGet(request, response);public void init() throws ServletException / Put your code here(2) 、InsertServlet 输入学生成绩p

22、ackage servlet;import java.io.IOException;import java.io.PrintWriter;import java.util.Vector;import javax.servlet.ServletException;import javax.servlet. . Servlet;import javax.servlet. . ServletRequest;import javax.servlet. . ServletResponse;import javax.servlet. . Session;import DAO.TeacherDAO;impo

23、rt DAOImpl.TeacherDAOImpl;public class InputServlet extends Servlet public InputServlet() super();public void destroy() super.destroy(); / Just puts "destroy" string in log/ Put your code herepublic void doGet( ServletRequest request, ServletResponse response)throws ServletException, IOExc

24、eption request.setCharacterEncoding("utf-8") ;response.setContentType("text/html"); Session session = request.getSession();String courseid = request.getParameter("courseid");String id = (String)session.getAttribute("id");int n = Integer.parseInt(String)session

25、.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);St

26、ring 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 vo

27、id doPost( ServletRequest request, ServletResponse 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.S

28、ervletException;import javax.servlet. . Servlet;import javax.servlet. . ServletRequest;import javax.servlet. . ServletResponse;import DAO.ManageDAO;import DAO.StudentDAO;import DAO.TeacherDAO;import DAOImpl.ManageDAOImpl;import DAOImpl.StudentDAOImpl;import DAOImpl.TeacherDAOImpl;import Date.Student

29、;import Date.Teacher;public class DelectServlet extends Servlet private static final long serialVersionUID = 1L;public DelectServlet() super();public void destroy() super.destroy(); / Just puts "destroy" string in log/ Put your code herepublic void doGet( ServletRequest request, ServletRes

30、ponse response)throws ServletException, IOException doPost(request, response);public void doPost( ServletRequest request, ServletResponse response)throws ServletException, IOException request.setCharacterEncoding("utf-8") ;response.setContentType("text/html");String parameter = r

31、equest.getParameter("parameter");if(parameter.equals("1")String stuid = request.getParameter("stuid");StudentDAO sd = new StudentDAOImpl();Student student = sd.queryByID(stuid);if(student != null)request.setAttribute("parame","1");request.setAttribut

32、e("student", student);this.getServletConfig().getServletContext().getRequestDispatcher("/YNDelect.jsp").forward(request,response);elserequest.setAttribute("parame","1");request.setAttribute("str","sheckStu.jsp");this.getServletConfig().getS

33、ervletContext().getRequestDispatcher("/noPerson.jsp").forward(request,response);else if(parameter.equals("2")String stuid = request.getParameter("stuid");ManageDAO md= new ManageDAOImpl();md.delectStu(stuid);response.sendRedirect("operate_success.html");else i

34、f(parameter.equals("3")String teaid = request.getParameter("teaid");TeacherDAO td = new TeacherDAOImpl();Teacher teacher = td.queryByID(teaid);if(teacher != null)request.setAttribute("parame","2");request.setAttribute("teacher", teacher);this.getServ

35、letConfig().getServletContext().getRequestDispatcher("/YNDelect.jsp").forward(request,response);elserequest.setAttribute("parame","2");request.setAttribute("str","sheckTea.jsp");this.getServletConfig().getServletContext().getRequestDispatcher("/

36、noPerson.jsp").forward(request,response);elseString teaid = request.getParameter("teaid");ManageDAO md= new ManageDAOImpl();md.delectTea(teaid);response.sendRedirect("operate_success.html");public void init() throws ServletException / Put your code here(4) 、QueryCourseServle

37、t 查询课程信息package servlet;import java.io.IOException;import java.io.PrintWriter;import java.util.Iterator;import java.util.Vector;import javax.servlet.ServletException;import javax.servlet. . Servlet;import javax.servlet. . ServletRequest;import javax.servlet. . ServletResponse;import javax.servlet. .

38、 Session;import DAO.StudentDAO;import DAOImpl.StudentDAOImpl;import Date.Course;import Date.Score;import Date.Student;public class QueryCourseServlet extends Servlet public QueryCourseServlet() super();public void destroy() super.destroy(); / Just puts "destroy" string in log/ Put your cod

39、e herepublic void doGet( ServletRequest request, ServletResponse response)throws ServletException, IOException doPost(request, response);public void doPost( ServletRequest request, ServletResponse response)throws ServletException, IOException request.setCharacterEncoding("utf-8") ;response

40、.setContentType("text/html"); Session session = request.getSession();String id;String h = request.getParameter("n");String s = request.getParameter("s");if(s.equals("1")id = (String)session.getAttribute("id");elseid = request.getParameter("stuid

41、");StudentDAO sd = new StudentDAOImpl();Vector all = new Vector();all = sd.getCourse_all(id);if(h.equals("1")request.setAttribute("vector",all);this.getServletConfig().getServletContext().getRequestDispatcher("/list_course.jsp").forward(request,response);else if(h.

42、equals("2")Iterator iter = all.iterator();Vector vec = new Vector();while(iter.hasNext()Course course = (Course) iter.next();Score sco = new Score();sco.setId(course.getId();sco.setName(course.getName();String str = sd.getScore(id, course.getId();sco.setGrate1(str0);sco.setGrate2(str1);sco

43、.setGrate(str2);sco.setCredit(str3);sco.setRanking(str4);vec.add(sco);request.setAttribute("vector",vec);this.getServletConfig().getServletContext().getRequestDispatcher("/list_score.jsp").forward(request,response);elserequest.setAttribute("vector",sd.getUnpass(id);this.getServletConfig().getServletContext().getRequestDispatcher("/l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论