Java学生成绩管理系统报告.docx
《Java学生成绩管理系统报告.docx》由会员分享,可在线阅读,更多相关《Java学生成绩管理系统报告.docx(21页珍藏版)》请在冰豆网上搜索。
Java学生成绩管理系统报告
一、实验题目
基于JSP/Servlet设计、实现一个课程管理Web应用程序,该程序实现如下功能。
v有登录页面,登录用帐号密码保存在数据库中,合法登录后进入学习成绩管理页面。
否则给出错误提示。
v在学习成绩管理页面可添加一门课程的成绩,添加内容包括:
课程编号、课程名称、学生姓名、课程成绩等内容。
添加后信息保存在数据库中。
v可根据课程名称和学生姓名进行查询。
v可删除和修改课程信息的内容。
(即删除一条课程记录或修改课程记录中的某一字段)。
二、程序设计
1.数据库设计:
经过分析可知,改程序主要有如下的实体对象,用户、课程、学生三个实体对象。
因此该数据库主要有四张表,分别如下:
连接数据库的类设计如下:
packagedatabase;
importjava.sql.Connection;
importjava.sql.DriverManager;
publicclassDataBaseConnection{
publicstaticConnectioncreateDBConn(){
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connectionconn=DriverManager.getConnection("jdbc:
sqlserver:
//localhost:
1433;DatabaseName=Student_system","supiyun","supiyun1989828");
returnconn;
}catch(Exceptione){
e.printStackTrace();
returnnull;
}
}
}
2.程序界面设计:
通过程序的要求可知该程序有jsp页面或Html页面以及servlet组成。
Jsp主要负责与用户的交互实现视图页面的功能,而servlet主要负责页面跳转控制以及数据处理的功能。
由实验的要求具体的实验设计如下:
A、用户通过一个登陆页面,输入用户名、密码,然后该jsp页面将请求发送给处理用户身份验证的servlet,该servlet获取数据库的信息进行校验,如果用户的身份合法则跳转到应用程序的主界面,否则给出错误的提示信息,并且要求用户重新输入用户名和密码重新登陆。
登陆页面的设计图如下所示:
B、对于程序的主界面主要实现对于用户需要的导航功能以及实现具体的操作功能。
该程序的主界面主要有三个Html的Framset构成,分别为topFrame,leftFrame,mainFrame组成,leftFrame主要实现程序的导航,而mainFrame具体的实现程序的功能。
主界面设计界面如下:
C、具体的功能设计如下
<1>学生个人成绩查询:
学生通过输入学号可以查询学生所学科目的所以成绩。
<2>课程管理:
该模块主要实现对课程的新增、已有课程的查询以及对每门课程成绩的录入功能的导航。
课程的新增:
如有新的课程需要新增,则用户通过提示输入课程编号、课程名称、授课教师名字实现课程的新增。
科目成绩管理:
通过该功能,用户可以实现对指定的科目的成绩管理,修改或者新增功能。
用户可以查询对应的科目增加或修改成绩。
查看已有课程:
通过查看已有的科目可以实现对已有科目的信息的修改、删除以及学生成绩添加、修改的功能。
<3>学生信息管理:
通过该模块可以实现对学生个人信息的查询、新增、修改的功能。
学生个人信息查询:
输入学号或姓名可以查看学生的基本信息。
学生个人信息添加:
根据提示输入学生的各项基本,提交添加学生信息。
学生信息修改:
输入学生学号或姓名查找到学生信息,对学生信息进行修改提交。
<4>退出登录:
结束会话,返回至登录页面。
3.servlet设计:
Servlet主要负责对页面请求的跳转和对数据库的操作功能。
该程序主要有如下的servlet,分别为:
1.AddCourse_Serverlet:
添加课程
packageservlet;
importjava.io.IOException;
importjava.io.PrintWriter;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importdatabase.DataBaseConnection;
importjava.sql.*;
publicclassAddCourse_ServerletextendsHttpServlet{
publicAddCourse_Serverlet(){
super();
}
publicvoiddestroy(){
super.destroy();//Justputs"destroy"stringinlog
//Putyourcodehere
}
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
this.doPost(request,response);
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
Connectionconn=DataBaseConnection.createDBConn();
PrintWriterout=response.getWriter();
Statementst=null;
try{
st=conn.createStatement();
}catch(SQLExceptione){
e.printStackTrace();
}
Stringnumber;
Stringname;
Stringteacher;
number=request.getParameter("number");
name=request.getParameter("name");
teacher=request.getParameter("teacher_name");
if(number!
=null&&number.length()!
=0){
number=newString(number.trim().getBytes("ISO-8859-1"),"utf-8");
}
if(name!
=null&&name.length()!
=0){
name=newString(name.trim().getBytes("ISO-8859-1"),"utf-8");
}
if(teacher!
=null&&teacher.length()!
=0){
teacher=newString(teacher.trim().getBytes("ISO-8859-1"),"utf-8");
}
try{
st.executeUpdate("insertintoCourse(Course_NO,Course_Name,Teacher_Name)values('"+number+"','"+name+"','"+teacher+"')");
}catch(SQLExceptione){
e.printStackTrace();
}
out.println("success!
");
}
publicvoidinit()throwsServletException{
//Putyourcodehere
}
}
2.addStudentInformation:
添加课程信息
packageservlet;
importjava.io.IOException;
importjava.io.PrintWriter;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importjava.sql.*;
importdatabase.DataBaseConnection;
publicclassaddStudentInformationextendsHttpServlet{
publicaddStudentInformation(){
super();
}
/**
*Destructionoftheservlet.
*/
publicvoiddestroy(){
super.destroy();//Justputs"destroy"stringinlog
//Putyourcodehere
}
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
this.doPost(request,response);
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
Connectionconn=DataBaseConnection.createDBConn();
PrintWriterout=response.getWriter();
Statementst=null;
try{
st=conn.createStatement();
}catch(SQLExceptione){
e.printStackTrace();
}
Stringnumber=null;
Stringname=null;
Stringsclass=null;
Stringsex=null;
Stringacademy=null;
Stringprofessional=null;
Stringtime=null;
number=request.getParameter("number");
name=request.getParameter("name");
sclass=request.getParameter("sclass");
sex=request.getParameter("sex");
academy=request.getParameter("academy");
professional=request.getParameter("professional");
time=request.getParameter("time");
if(number!
=null&&number.length()!
=0){
number=newString(number.trim().getBytes("ISO-8859-1"),"utf-8");
}
if(name!
=null&&name.length()!
=0){
name=newString(name.trim().getBytes("ISO-8859-1"),"utf-8");
}
if(sclass!
=null&&sclass.length()!
=0){
sclass=newString(sclass.trim().getBytes("ISO-8859-1"),"utf-8");
}
if(sex!
=null&&sex.length()!
=0){
sex=newString(sex.trim().getBytes("ISO-8859-1"),"utf-8");
}
if(academy!
=null&&academy.length()!
=0){
academy=newString(academy.trim().getBytes("ISO-8859-1"),"utf-8");
}
if(professional!
=null&&professional.length()!
=0){
professional=newString(professional.trim().getBytes("ISO-8859-1"),"utf-8");
}
if(time!
=null&&time.length()!
=0){
time=newString(time.trim().getBytes("ISO-8859-1"),"utf-8");
}
try{
st.executeUpdate("insertintoStudentvalues('"+number+"','"+name+"','"+sclass+"','"+sex+"','"+academy+"','"+professional+"','"+time+"')");
}catch(SQLExceptione){
e.printStackTrace();
}
out.println("success!
");
}
publicvoidinit()throwsServletException{
//Putyourcodehere
}
}
3.CourseManagement:
课程操作控制
packageservlet;
importjava.io.IOException;
importjava.io.PrintWriter;
importjava.sql.Connection;
importjava.sql.SQLException;
importjava.sql.Statement;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importdatabase.DataBaseConnection;
publicclassCourseManagementextendsHttpServlet{
publicCourseManagement(){
super();
}
publicvoiddestroy(){
super.destroy();//Justputs"destroy"stringinlog
//Putyourcodehere
}
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
this.doPost(request,response);
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
Stringoperation;
StringID;
Stringnumber;
Stringname;
Stringteacher_name;
response.setContentType("text/html");
Connectionconn=DataBaseConnection.createDBConn();
PrintWriterout=response.getWriter();
Statementst=null;
try{
st=conn.createStatement();
}catch(SQLExceptione){
e.printStackTrace();
}
operation=request.getParameter("operation");
ID=request.getParameter("id");
number=request.getParameter("number");
name=request.getParameter("name");
teacher_name=request.getParameter("teacher_name");
if(ID!
=null&&ID.length()!
=0){
ID=newString(ID.getBytes("ISO-8859-1"),"utf-8");
}
if(number!
=null&&number.length()!
=0){
number=newString(number.getBytes("ISO-8859-1"),"utf-8");
}
if(name!
=null&&name.length()!
=0){
name=newString(name.getBytes("ISO-8859-1"),"utf-8");
}
if(teacher_name!
=null&&teacher_name.length()!
=0){
teacher_name=newString(teacher_name.getBytes("ISO-8859-1"),"utf-8");
}
if(operation.equals("delete")){
try{
st.execute("deletefromCoursewhereCourse_NO='"+ID+"'");
}catch(SQLExceptione){
e.printStackTrace();
out.print("deletefail!
");
}
}
if(operation.equals("edit")){
response.sendRedirect("CourseEdit.jsp?
id="+ID+"");
}
if(operation.equals("update")){
try{st.executeUpdate("updateCoursesetCourse_Name='"+name+"',Teacher_Name='"+teacher_name+"'whereCourse_No='"+number+"'");
}catch(Exceptione){
e.printStackTrace();
}
}
}
publicvoidinit()throwsServletException{
//Putyourcodehere
}
}
4.Login_control:
登录控制
packageservlet;
importjava.io.IOException;
importjava.io.PrintWriter;
importjava.sql.Connection;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importjavax.servlet.http.HttpSession;
importdatabase.DataBaseConnection;
publicclassLogin_controlextendsHttpServlet{
publicLogin_control(){
super();
}
publicvoiddestroy(){
super.destroy();//Justputs"destroy"stringinlog
//Putyourcodehere
}
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
this.doPost(request,response);
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.setContentType("text/html;charset=utf-8");
inttimes=0;
Stringtemp=null;
finalPrintWriterout=response.getWriter();
finalConnect